Tối ưu hóa các mô hình AI cho các thiết bị biên với Huấn luyện nhận biết lượng tử hóa (QAT), đảm bảo độ chính xác và hiệu quả cao trong môi trường tài nguyên hạn chế.
Huấn luyện Nhận thức Lượng tử hóa (QAT) là một kỹ thuật tối ưu hóa mô hình tinh vi được thiết kế để chuẩn bị cho việc triển khai mạng nơ-ron trên phần cứng có tài nguyên tính toán hạn chế. Trong khi các mô hình học sâu tiêu chuẩn thường xử lý dữ liệu bằng số dấu phẩy động 32 bit có độ chính xác cao (FP32), nhiều thiết bị AI biên yêu cầu độ chính xác thấp hơn, chẳng hạn như số nguyên 8 bit (INT8), để tiết kiệm bộ nhớ và năng lượng. QAT giải quyết tình trạng giảm độ chính xác thường do chuyển đổi này gây ra bằng cách mô phỏng các tác động của lượng tử hóa trong chính giai đoạn huấn luyện . Cách tiếp cận chủ động này cho phép mô hình điều chỉnh trọng số để bù đắp cho việc mất độ chính xác, tạo ra các mô hình hiệu quả cao và vẫn duy trì hiệu suất dự đoán.
Cơ chế cốt lõi của Huấn luyện Nhận biết Lượng tử hóa bao gồm việc chèn các nút lượng tử hóa "giả" vào kiến trúc mô hình trong quá trình huấn luyện. Các nút này mô hình hóa các lỗi làm tròn và kẹp xảy ra khi chuyển đổi giá trị FP32 sang INT8. Trong quá trình truyền tiếp, mô hình hoạt động như thể nó đã được lượng tử hóa, trong khi truyền ngược — sử dụng lan truyền ngược — cập nhật các trọng số với độ chính xác cao để bù cho các lỗi mô phỏng.
Quá trình này về cơ bản tinh chỉnh mô hình để chống lại nhiễu do độ chính xác giảm. Các nền tảng lớn như PyTorch và TensorFlow cung cấp các API chuyên biệt để hỗ trợ quy trình làm việc này. Bằng cách tích hợp các ràng buộc này sớm, mô hình xuất cuối cùng sẽ phù hợp hơn nhiều với khả năng phần cứng mục tiêu, chẳng hạn như các khả năng được tìm thấy trong các hệ thống nhúng .
Điều quan trọng là phải phân biệt QAT với Lượng tử hóa sau đào tạo (PTQ) vì chúng phục vụ các mục tiêu tương tự nhưng khác nhau về cách thực hiện:
QAT rất cần thiết cho các ngành công nghiệp mà độ trễ suy luận và mức tiêu thụ điện năng là những yếu tố quan trọng.
Trong khi các đường ống QAT đầy đủ thường liên quan đến các cấu hình đào tạo cụ thể, ultralytics Thư viện hợp lý hóa quy trình xuất để tạo ra các mô hình lượng tử sẵn sàng cho việc triển khai. Ví dụ sau đây minh họa cách xuất YOLO11 mô hình để TFLite định dạng với lượng tử hóa INT8, chuẩn bị cho việc thực thi hiệu quả.
from ultralytics import YOLO
# Load the YOLO11 model (latest stable version)
model = YOLO("yolo11n.pt")
# Export to TFLite with INT8 quantization
# This creates a compact model optimized for edge devices
model.export(format="tflite", int8=True)
Để đạt hiệu quả tối đa, QAT thường được kết hợp với các kỹ thuật triển khai mô hình khác. Kỹ thuật cắt tỉa mô hình loại bỏ các kết nối dư thừa trước khi lượng tử hóa, giúp giảm kích thước hơn nữa. Ngoài ra, phương pháp chưng cất kiến thức có thể được sử dụng để huấn luyện một mô hình học viên nhỏ gọn, sau đó được tinh chỉnh bằng QAT. Các mô hình lượng tử hóa cuối cùng tương thích với các môi trường chạy hiệu suất cao như ONNX Runtime và OpenVINO , đảm bảo khả năng tương thích rộng rãi trên nhiều nền tảng phần cứng khác nhau, từ Intel đến Google Coral .