Tìm hiểu cách lượng tử hóa mô hình tối ưu hóa Ultralytics YOLO26 dành cho AI biên. Khám phá cách giảm bộ nhớ, giảm độ trễ và xuất mô hình INT8 để suy luận nhanh hơn.
Lượng tử hóa mô hình là một kỹ thuật tối ưu hóa mô hình phức tạp được sử dụng để giảm chi phí tính toán và bộ nhớ khi chạy các mô hình học sâu. Trong các quy trình huấn luyện tiêu chuẩn, mạng nơ-ron thường lưu trữ các tham số ( weights and biases ) và bản đồ kích hoạt sử dụng số thực dấu phẩy động 32 bit (FP32). Mặc dù độ chính xác cao này đảm bảo tính toán chính xác trong quá trình huấn luyện, nhưng nó thường không cần thiết cho quá trình suy luận. Lượng tử hóa chuyển đổi các giá trị này thành các định dạng có độ chính xác thấp hơn, chẳng hạn như số thực dấu phẩy động 16 bit (FP16) hoặc số nguyên 8 bit (INT8), giúp thu nhỏ kích thước mô hình và tăng tốc độ thực thi mà không làm giảm đáng kể độ chính xác .
Động lực chính thúc đẩy việc lượng tử hóa là nhu cầu triển khai trí tuệ nhân tạo mạnh mẽ trên phần cứng có tài nguyên hạn chế. Khi các mô hình thị giác máy tính như YOLO26 trở nên phức tạp hơn, nhu cầu tính toán của chúng cũng tăng lên. Lượng tử hóa giải quyết ba nút thắt quan trọng:
Điều quan trọng là phải phân biệt lượng tử hóa với các kỹ thuật tối ưu hóa khác, vì chúng thay đổi mô hình theo những cách khác nhau:
Lượng tử hóa cho phép thị giác máy tính và trí tuệ nhân tạo được ứng dụng rộng rãi trong nhiều ngành công nghiệp, nơi hiệu quả là yếu tố tối quan trọng.
Cái Ultralytics Thư viện này đơn giản hóa quy trình xuất dữ liệu, cho phép các nhà phát triển chuyển đổi các mô hình tiên tiến như YOLO26 sang định dạng lượng tử hóa. Nền tảng Ultralytics cũng cung cấp các công cụ để quản lý việc triển khai này một cách liền mạch.
Ví dụ sau đây minh họa cách xuất mô hình sang TFLite với chế độ lượng tử hóa INT8 được bật. Quá trình này bao gồm bước hiệu chuẩn, trong đó mô hình quan sát dữ liệu mẫu để xác định dải động tối ưu cho các giá trị đã được lượng tử hóa.
from ultralytics import YOLO
# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")
Các mô hình được tối ưu hóa thường được triển khai bằng cách sử dụng các tiêu chuẩn tương tác như ONNX hoặc các công cụ suy luận hiệu năng cao như OpenVINO , đảm bảo khả năng tương thích rộng rãi trên các hệ sinh thái phần cứng đa dạng.