Tối ưu hóa hiệu suất AI bằng lượng tử hóa mô hình. Giảm kích thước, tăng tốc độ và cải thiện hiệu quả năng lượng cho các triển khai thực tế.
Lượng tử hóa mô hình là một kỹ thuật mang tính đột phá trong học máy, được thiết kế để giảm chi phí tính toán và bộ nhớ khi vận hành mạng nơ-ron . Bằng cách chuyển đổi các tham số của mô hình - cụ thể là trọng số và kích hoạt - từ các số dấu phẩy động có độ chính xác cao (thường là 32 bit, được gọi là FP32) sang các định dạng có độ chính xác thấp hơn như số nguyên 8 bit (INT8), các nhà phát triển có thể thu nhỏ đáng kể kích thước tệp của mô hình. Quá trình này rất cần thiết để triển khai mô hình hiệu quả trên phần cứng với tài nguyên hạn chế, đảm bảo các khả năng AI tinh vi có thể chạy mượt mà trên mọi thứ, từ điện thoại thông minh đến cảm biến công nghiệp.
Cơ chế cốt lõi của lượng tử hóa liên quan đến việc ánh xạ một dải rộng các giá trị liên tục thành một tập hợp nhỏ hơn các giá trị rời rạc. Trong một mô hình học sâu điển hình, các tham số được lưu trữ dưới dạng số dấu phẩy động 32 bit để duy trì độ chính xác cao trong giai đoạn huấn luyện. Tuy nhiên, trong quá trình suy luận - giai đoạn mà mô hình đưa ra dự đoán - mức độ chính xác này thường không cần thiết.
Lượng tử hóa nén các giá trị này, giúp giảm băng thông bộ nhớ cần thiết để lấy trọng số mô hình và tăng tốc các phép toán. Phần cứng hiện đại, bao gồm CPU và các bộ tăng tốc chuyên dụng như GPU , thường có các tập lệnh chuyên dụng cho phép tính số nguyên, nhanh hơn và tiết kiệm năng lượng hơn so với các phép tính dấu chấm động. Việc tối ưu hóa này giúp giảm thiểu độ trễ suy luận , mang lại trải nghiệm người dùng nhanh hơn trong các ứng dụng thời gian thực.
Có hai cách tiếp cận chính để áp dụng phương pháp tối ưu hóa này, mỗi cách phục vụ các giai đoạn khác nhau của vòng đời phát triển:
Lượng tử hóa là nền tảng của Edge AI , cho phép thực hiện các tác vụ phức tạp cục bộ trên thiết bị mà không cần dựa vào kết nối đám mây.
Các Ultralytics Khung này đơn giản hóa quá trình xuất mô hình sang các định dạng thân thiện với lượng tử hóa. Ví dụ sau đây minh họa cách xuất mô hình YOLO11 sang TFLite với lượng tử hóa INT8 được bật. Quá trình này tự động xử lý hiệu chuẩn bằng dữ liệu được chỉ định.
from ultralytics import YOLO
# Load the standard YOLO11 model
model = YOLO("yolo11n.pt")
# Export to TFLite format with INT8 quantization
# The 'data' argument provides calibration images
model.export(format="tflite", int8=True, data="coco8.yaml")
Sẽ rất hữu ích khi phân biệt lượng tử hóa với các chiến lược tối ưu hóa mô hình khác, vì chúng thường được sử dụng song song nhưng hoạt động khác nhau:
Khi các bộ tăng tốc phần cứng trở nên chuyên biệt hơn, tầm quan trọng của lượng tử hóa ngày càng tăng. Tương lai Ultralytics Nghiên cứu, chẳng hạn như YOLO26 sắp tới, nhằm mục đích thúc đẩy hiệu quả hơn nữa bằng cách thiết kế các kiến trúc có khả năng chống lại lượng tử hóa mạnh mẽ, đảm bảo rằng thị giác máy tính hiệu suất cao vẫn có thể truy cập được ngay cả trên các thiết bị biên nhỏ nhất.
Để có khả năng tương thích rộng hơn, các mô hình lượng tử thường được triển khai bằng cách sử dụng các tiêu chuẩn có khả năng tương tác như ONNX hoặc các công cụ suy luận được tối ưu hóa như TensorRT và OpenVINO .