Quantizationgiáo trình tự học
Chương 122 phút đọcLượng tử hoá cho LLM và quy trình

12Quy trình làm việc và danh sách kiểm tra#

12.1Quy trình chọn phương pháp#

Hình 17
Hình 17. Quy trình chọn và tinh chỉnh phương pháp lượng tử.

12.2Phân tích độ nhạy theo lớp#

Khi độ chính xác giảm, câu hỏi đầu tiên là: lớp nào gây ra? Cách làm đơn giản và hiệu quả nhất là lượng tử từng lớp một trong khi giữ các lớp khác ở FP32, rồi đo độ chính xác. Kết quả trên mô hình thí nghiệm, mỗi lớp lượng tử xuống 3 bit cả trọng số lẫn activation đầu ra (code/sensitivity.py):

Lớp được lượng tử 3 bit Độ chính xác Giảm so với FP32
conv1 (3×3, lớp đầu) 95,19% 4,07 điểm
dw (depthwise 3×3) 96,30% 2,96 điểm
pw (pointwise 1×1) 87,96% 11,30 điểm
conv4 (3×3) 98,70% 0,56 điểm
fc (Linear, lớp cuối) 99,26% 0,00 điểm

Lớp nhạy nhất ở đây là lớp pointwise, trong khi lớp cuối gần như không nhạy. Điều này trái với quy tắc kinh nghiệm "lớp đầu và cuối nhạy nhất". Quy tắc kinh nghiệm chỉ là điểm xuất phát; đo trên chính mô hình của mình mới là căn cứ. Với kết quả trên, cấu hình hỗn hợp hợp lý là giữ pw ở 8 bit và hạ các lớp còn lại.

12.3Danh sách kiểm tra#

  1. Có baseline FP32 trên đúng tập kiểm tra và đúng pipeline tiền xử lý.
  2. Đã gộp BatchNorm và các chuỗi Conv–BN–ReLU trước khi lượng tử.
  3. Trọng số dùng per-channel đối xứng; activation dùng bất đối xứng (hoặc per-token với LLM).
  4. Tập calibration đại diện, 100–1000 mẫu, mô hình ở chế độ eval().
  5. Thử ít nhất hai phương pháp calibration nếu độ chính xác giảm.
  6. Kiểm tra mọi op đều chạy ở kiểu mong muốn. Op không có kernel INT8 sẽ rơi về FP32, sinh các cặp quantize/dequantize thừa và có thể làm mô hình chậm hơn. Công cụ như Netron (xem đồ thị TFLite/ONNX) hoặc in mô hình PyTorch sau convert giúp kiểm tra điều này.
  7. Làm phân tích độ nhạy theo lớp trước khi quyết định mixed precision hay QAT.
  8. Đo kích thước, độ trễ, độ chính xác trên thiết bị đích, không chỉ trên máy phát triển.

Tự kiểm tra

2 câu. Chọn đáp án để xem ngay lời giải thích.

  1. 1Trong phân tích độ nhạy ở Mục 12.2, lớp nào nhạy nhất?

  2. 2Cách đơn giản và hiệu quả nhất để tìm lớp gây mất độ chính xác là gì?

Đã trả lời 0/2