X · Measurement
Thiết kế phép đo để so giải pháp công bằng
Thiết kế bài đo hiệu năng có kiểm soát để đánh giá thông lượng và độ trễ đạt chuẩn (SLO) trên tải thực tế.
1Định nghĩa
Benchmark trong suy luận LLM là phép thử nghiệm đặt hệ thống dưới các mức tải được kiểm soát chặt chẽ để đo xem một cấu hình phần cứng và phần mềm phục vụ được bao nhiêu lưu lượng mà vẫn đảm bảo cam kết độ trễ (SLO — Service Level Objective, ví dụ p95 TTFT dưới 500 ms và TPOT dưới 30 ms).
Một bài benchmark chuẩn phải cố định rõ phiên bản mô hình, kiểu dữ liệu (quantization), phân phối độ dài prompt/output và nhịp gửi request, đồng thời chạy bước làm nóng (warmup) trước khi thu số liệu. Thay vì chỉ nhìn tổng số token sinh ra mỗi giây (throughput thô), kỹ sư dùng chỉ số goodput — số lượng request hoặc token hoàn tất mỗi giây mà thỏa mãn trọn vẹn ngưỡng độ trễ mục tiêu.
Ví dụ đời thường: Benchmark giống như buổi chạy thử tải của một cây cầu hoặc thử nghiệm xe ô tô trên đường đua tiêu chuẩn trước khi đưa vào khai thác. Bạn không chỉ đo xem chiếc xe chạy một mình lúc đường vắng đạt vận tốc tối đa bao nhiêu, mà phải đo xem khi chở đủ tải trên đường đông đúc, có bao nhiêu chuyến xe về đích đúng giờ cam kết (goodput).
2Luồng
- Chốt workload và mục tiêu
Định nghĩa cái gì được coi là đạt.
- Warmup rồi tạo tải
Tách khởi động khỏi steady state.
- Thu distributions
Đo queue, latency, token và lỗi.
- So cấu hình
Giữ điều kiện tương đương và lặp đủ để thấy biến động.
Mã Mermaid
flowchart TD
step1["Chốt workload và mục tiêu"]
step2["Warmup rồi tạo tải"]
step3["Thu distributions"]
step4["So cấu hình"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
Thử nhiều mức offered load thay vì một concurrency thuận lợi. Ghi input và output throughput riêng; lưu raw request timings cùng version/config.
Cách gửi chỉ tiếp tục sau request hoàn tất có thể tự giảm tải khi hệ thống chậm, che overload. Chọn load generator phù hợp câu hỏi muốn trả lời.
Để đọc TTFT, TPOT và throughput trên đồng hồ mô phỏng và so ba chính sách lập lịch cùng một trace, hãy chạy khối 12 (Benchmark & SLO methodology) trong Bài Lab tổng hợp.
4Profiling
- Latency distribution
Báo median, percentile 95 và lỗi; đếm request đạt cả mục tiêu token đầu lẫn tốc độ sinh.
- Goodput và capacity curve
Vẽ request gửi mỗi giây so với lượng hoàn tất đúng hạn, tìm vùng trước saturation.
Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.
5Ví dụ
So bật/tắt cache
Dùng cùng prompts, kiểm soát cache nóng/lạnh và báo hit rate để giải thích gain.
So hai accelerator
Giữ model và quality target; có thể tune mỗi hệ hợp lý nhưng phải báo toàn cấu hình và tổng chi phí.
6Thuật ngữ
- Service Level Objective
- Mục tiêu mức dịch vụ: ví dụ giới hạn thời gian token đầu và giữa các token.
- Open-loop load
- Gửi theo lịch arrival đã đặt, không chờ request trước xong mới gửi request mới.
Glossary (6)
- Cache
- Bộ nhớ giữ kết quả có thể dùng lại; trong attention thường giữ key/value vectors.
- Runtime
- Phần mềm quản lý việc thực thi, buffers và phụ thuộc giữa phép toán.
- Latency
- Thời gian chờ để nhận một kết quả hoặc một bước kết quả.
- Throughput
- Lượng công việc được xử lý trong một đơn vị thời gian.
- Goodput
- Lượng công việc hoàn tất mà đồng thời đáp ứng các mục tiêu đã chọn.
- Warmup
- Chạy chuẩn bị để hoàn tất khởi tạo, compilation/capture hoặc ổn định execution trước đo.