OpenArchLabOpen Architecture — From Models to Systems

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.

LESSON ID quality GROUP Kiến trúc Inference
Mục lục bài học

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

Sơ đồ luồng (4 bước)
  1. Reference cố định

    Lưu model, dữ liệu và decoding config.

  2. Kiểm tra số học

    So operators hoặc logits theo dtype.

  3. Đánh giá tác vụ

    Đo outputs trên các nhóm tiêu biểu.

  4. 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.

7Bài liên quan

8Nguồn