Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Huấn luyện nhận biết lượng tử hóa (QAT)

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.

QAT hoạt động như thế nào

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ư PyTorchTensorFlow 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 .

Sự khác biệt so với lượng tử hóa sau đào tạo

Đ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:

  • Lượng tử hóa sau huấn luyện (PTQ): Được áp dụng sau khi mô hình đã được huấn luyện đầy đủ. Phương pháp này phân tích một tập dữ liệu hiệu chuẩn nhỏ để ánh xạ các giá trị dấu phẩy động sang số nguyên. Mặc dù triển khai nhanh chóng và dễ dàng, PTQ đôi khi có thể dẫn đến giảm độ chính xác đáng kể trong các mô hình nhạy cảm.
  • Đào tạo Nhận thức Lượng tử hóa (QAT): Kết hợp lượng tử hóa vào quá trình đào tạo hoặc tinh chỉnh . Phương pháp này đòi hỏi nhiều tính toán hơn PTQ nhưng thường mang lại độ chính xác cao hơn, khiến nó trở thành lựa chọn ưu tiên để triển khai các mô hình tiên tiến như Ultralytics YOLO11 trong các tình huống quan trọng.

Các Ứng dụng Thực tế

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.

  1. Lái xe tự động: Xe cộ dựa vào thị giác máy tính cho các nhiệm vụ như phát hiện người đi bộ và theo dõi làn đường. Các hệ thống này thường chạy trên phần cứng chuyên dụng như mô-đun NVIDIA Jetson . QAT đảm bảo các mô hình vẫn đủ chính xác để đảm bảo an toàn, đồng thời đủ nhanh để đưa ra quyết định theo thời gian thực.
  2. Chăm sóc sức khỏe di động: Các thiết bị chẩn đoán cầm tay thường sử dụng phân loại hình ảnh để phân tích các bản quét y tế. Sử dụng QAT, các nhà phát triển có thể triển khai các mô hình AI mạnh mẽ trên bộ xử lý di động, chẳng hạn như chip Qualcomm Snapdragon , cho phép chẩn đoán nâng cao mà không làm hao pin thiết bị.

Thực hiện lượng tử hóa với Ultralytics

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ích hợp với các phương pháp tối ưu hóa khác

Để đạ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 RuntimeOpenVINO , đả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 .

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay