X · Model behavior
Kiểm tra tính đúng và chất lượng sau tối ưu
Quy trình kiểm định độ lệch số học và chất lượng câu trả lời trên các tập kiểm thử trước khi đưa bản tối ưu lên production.
1Định nghĩa
Kiểm định chất lượng sau tối ưu (quality verification) là chốt chặn xác nhận việc đổi kernel, bật lượng tử hóa (quantization), nâng cấp trình biên dịch hay nén KV cache không làm hỏng kết quả của mô hình.
Quy trình này gồm hai lớp kiểm tra bổ trợ nhau: kiểm tra tương đương số học (numerical parity — đo độ lệch của bảng điểm logits hoặc xác suất phân phối so với bản chuẩn FP16/BF16 trong ngưỡng sai số số học cho phép) và đánh giá chất lượng tác vụ (chạy bộ bài test đại diện để chấm độ chính xác, định dạng đầu ra và các trường hợp biên). Một thay đổi chỉ được phép triển khai khi vượt qua cả cổng kiểm tra hiệu năng lẫn cổng chất lượng (quality gate).
Ví dụ đời thường: Kiểm định chất lượng sau tối ưu giống như quy trình nếm thử và kiểm định thực phẩm khi nhà hàng đổi sang loại lò nướng mới nhanh hơn hoặc rút gọn bước chế biến. Món ăn ra lò nhanh hơn chưa đủ: bếp trưởng phải đối chiếu hương vị với món gốc và thử trên nhiều thực đơn khác nhau để chắc chắn việc tăng tốc không làm món ăn bị sống hay mất vị.
2Luồng
- Reference cố định
Lưu model, dữ liệu và decoding config.
- Kiểm tra số học
So operators hoặc logits theo dtype.
- Đánh giá tác vụ
Đo outputs trên các nhóm tiêu biểu.
- Canary và rollback
Thử có giới hạn rồi theo dõi production.
Mã Mermaid
flowchart TD
step1["Reference cố định"]
step2["Kiểm tra số học"]
step3["Đánh giá tác vụ"]
step4["Canary và rollback"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
Thiết kế tập đánh giá có prompt dài, các tác vụ nhạy cảm và trường hợp biên. So kernel reference trước, rồi đánh giá toàn model khi đổi precision/compiler/decoding.
Giữ ngưỡng rollback rõ và phân tích từng nhóm lỗi. Điểm trung bình không được che một nhóm request quan trọng bị hỏng.
Để so token top-1 của bản gốc với bản INT8 trên cùng ngữ cảnh và đối chiếu với một ngưỡng cổng, hãy chạy khối 13 (Quality gates & rollout) trong Bài Lab tổng hợp.
4Profiling
- Sai số và task scores
Theo dõi phân phối chênh lệch logits/kết quả, rồi điểm theo từng nhóm tác vụ.
- Đúng hành vi hệ thống
Test cache reuse, stop, cancellation và output constraints ngoài accuracy model.
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ụ
Quantization mới
So chất lượng trả lời context dài, không chỉ thấy weights nhỏ hơn.
Kernel attention mới
Kiểm tra causal mask và shape biên; kernel nhanh nhưng nhìn token tương lai là sai.
6Thuật ngữ
- Numerical parity
- Mức tương thích số học với đường tính reference trong một tolerance đã chọn.
- Regression
- Một tác vụ hoặc nhóm tình huống bị xấu đi sau thay đổi.
Glossary (8)
- Data type
- Kiểu dữ liệu của tensor, quyết định cách biểu diễn số.
- Model weights
- Các tham số số học được học và lưu trong checkpoint.
- Cache
- Bộ nhớ giữ kết quả có thể dùng lại; trong attention thường giữ key/value vectors.
- Logits
- Điểm số chưa chuẩn hóa cho các token ứng viên trước khi chọn token.
- Kernel
- Hàm tính toán chạy trên thiết bị; thường xử lý nhiều phần tử song song.
- Mask
- Quy tắc vị trí nào được nhìn nhau hoặc được tính vào loss.
- Context
- Chuỗi token trước vị trí hiện tại mà model được phép sử dụng.
- Tensor shape
- Kích thước các chiều của tensor; ảnh hưởng layout, kernel và memory.