Tìm hiểu cách Huấn luyện nhận biết lượng tử hóa (Quantization-Aware Training - QAT) tối ưu hóa... Ultralytics Các mô hình YOLO26 dành cho triển khai tại biên. Khám phá cách duy trì độ chính xác cao với độ chính xác INT8.
Huấn luyện nhận biết lượng tử hóa (Quantization-Aware Training - QAT) là một kỹ thuật chuyên biệt được sử dụng trong giai đoạn huấn luyện các mô hình học máy để chuẩn bị cho chúng hoạt động trong môi trường có độ chính xác thấp hơn. Trong các quy trình học sâu tiêu chuẩn, các mô hình thường hoạt động bằng cách sử dụng số thực dấu phẩy động 32 bit có độ chính xác cao (FP32). Mặc dù độ chính xác này mang lại độ chính xác tuyệt vời, nhưng nó có thể tốn kém về mặt tính toán và bộ nhớ, đặc biệt là trên các thiết bị biên. QAT mô phỏng các hiệu ứng của lượng tử hóa—giảm độ chính xác xuống các định dạng như số nguyên 8 bit (INT8)—trong khi mô hình vẫn đang được huấn luyện. Bằng cách đưa các lỗi lượng tử hóa này vào trong quá trình học, mô hình học cách điều chỉnh trọng số của nó và khôi phục hiệu quả độ chính xác có thể bị mất trong quá trình chuyển đổi sau huấn luyện.
Việc triển khai các mô hình thị giác máy tính trên các thiết bị có tài nguyên hạn chế thường đòi hỏi sự cân bằng giữa tốc độ và hiệu năng. Các phương pháp lượng tử hóa tiêu chuẩn, được gọi là Lượng tử hóa sau huấn luyện (Post-Training Quantization - PTQ), chỉ áp dụng giảm độ chính xác sau khi mô hình đã được huấn luyện hoàn toàn. Mặc dù PTQ nhanh, nhưng đôi khi nó có thể làm giảm độ chính xác của các mô hình nhạy cảm vì trọng số của mạng nơ-ron bị thay đổi đáng kể mà không có cơ hội điều chỉnh.
QAT giải quyết vấn đề này bằng cách cho phép mô hình "thực hành" quá trình lượng tử hóa. Trong quá trình truyền tiến của huấn luyện, các trọng số và kích hoạt được mô phỏng dưới dạng các giá trị có độ chính xác thấp. Điều này cho phép quá trình giảm độ dốc cập nhật các tham số của mô hình theo cách giảm thiểu tổn thất cụ thể cho trạng thái lượng tử hóa. Kết quả là một mô hình mạnh mẽ duy trì độ chính xác cao ngay cả khi được triển khai trên phần cứng như vi điều khiển hoặc bộ xử lý di động.
Cần phân biệt QAT với lượng tử hóa mô hình , cụ thể là Lượng tử hóa sau huấn luyện (PTQ):
QAT rất cần thiết cho các ngành công nghiệp mà việc suy luận thời gian thực trên phần cứng biên là vô cùng quan trọng.
Nền tảng Ultralytics và YOLO Hệ sinh thái hỗ trợ xuất các mô hình sang định dạng lượng tử hóa. Mặc dù QAT là một quy trình huấn luyện phức tạp, các khung công tác hiện đại tạo điều kiện thuận lợi cho việc chuẩn bị các mô hình để suy luận lượng tử hóa.
Dưới đây là ví dụ về cách bạn có thể xuất mô hình YOLO26 đã được huấn luyện sang định dạng lượng tử INT8. TFLite định dạng này sử dụng các nguyên tắc lượng tử hóa để triển khai hiệu quả ở biên mạng.
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
Các mô hình được tối ưu hóa thông qua kỹ thuật lượng tử hóa được thiết kế để chạy trên các công cụ suy luận chuyên dụng. Các mô hình được huấn luyện bằng QAT thường được triển khai bằng ONNX Runtime để đảm bảo khả năng tương thích đa nền tảng hoặc OpenVINO để tối ưu hóa. Intel phần cứng. Điều này đảm bảo rằng dù mục tiêu là Raspberry Pi hay Edge TPU chuyên dụng, mô hình vẫn hoạt động với hiệu suất và tốc độ cao nhất có thể.
Để hiểu đầy đủ về QAT, việc nắm vững một số khái niệm liên quan đến học máy sẽ rất hữu ích:
Bằng cách tích hợp huấn luyện nhận biết lượng tử hóa vào quy trình MLOps , các nhà phát triển có thể thu hẹp khoảng cách giữa các mô hình nghiên cứu có độ chính xác cao và các ứng dụng AI biên hiệu quả cao, sẵn sàng cho sản xuất.