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

Lượng Tử Hóa Mô Hình

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.

Lượng tử hóa mô hình hoạt động như thế nào

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ác loại lượng tử hóa

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 sau huấn luyện (PTQ): Phương pháp này được áp dụng sau khi mô hình đã được huấn luyện đầy đủ. Phương pháp này yêu cầu một tập dữ liệu hiệu chuẩn để xác định phạm vi động của các kích hoạt và trọng số. Các công cụ như TensorFlow Lite cung cấp hỗ trợ mạnh mẽ cho PTQ, khiến nó trở thành lựa chọn phổ biến cho các quá trình tối ưu hóa nhanh chóng.
  • Huấn luyện Nhận biết Lượng tử hóa (QAT): Trong phương pháp này, mô hình mô phỏng các hiệu ứng của lượng tử hóa trong quá trình huấn luyện. Bằng cách đưa vào các nút lượng tử hóa "giả", mạng sẽ học cách thích ứng với độ chính xác thấp hơn, thường mang lại khả năng duy trì độ chính xác tốt hơn so với PTQ. Bạn có thể tìm hiểu thêm về kỹ thuật cụ thể này trên trang Huấn luyện Nhận biết Lượng tử hóa (QAT) của chúng tôi.

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

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.

  1. Thị giác Máy tính Di động: Các ứng dụng điện thoại thông minh cung cấp các tính năng như làm mờ hậu cảnh theo thời gian thực hoặc lọc khuôn mặt dựa trên các mô hình lượng tử. Ví dụ, việc chạy mô hình phát hiện đối tượng trên điện thoại đòi hỏi hiệu suất cao để tránh hao pin và quá nhiệt.
  2. IoT Công nghiệp và Robot: Trong lĩnh vực robot , các đơn vị tự hành thường chạy bằng pin và sử dụng bộ xử lý nhúng như NVIDIA Jetson . Các mô hình lượng tử hóa cho phép các robot này xử lý dữ liệu hình ảnh để điều hướng và tránh chướng ngại vật với độ trễ tối thiểu, điều này rất quan trọng đối với an toàn của xe tự hành .

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

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")

Lượng tử hóa so với Các kỹ thuật Tối ưu hóa khác

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:

  • Lượng tử hóa so với Cắt tỉa: Trong khi lượng tử hóa làm giảm độ chính xác của trọng số, cắt tỉa mô hình liên quan đến việc loại bỏ hoàn toàn các kết nối (trọng số) không cần thiết để tạo ra một mạng thưa thớt. Cắt tỉa thay đổi cấu trúc, trong khi lượng tử hóa thay đổi kiểu dữ liệu.
  • Lượng tử hóa so với Chắt lọc: Chắt lọc kiến thức huấn luyện một mô hình học viên nhỏ hơn để mô phỏng một mô hình giáo viên lớn hơn. Lượng tử hóa có thể được áp dụng cho mô hình học viên sau đó để giảm kích thước của nó hơn nữa.
  • Lượng tử hóa so với Độ chính xác hỗn hợp: Độ chính xác hỗn hợp chủ yếu là kỹ thuật đào tạo sử dụng kết hợp FP16 và FP32 để tăng tốc quá trình đào tạo và giảm mức sử dụng bộ nhớ trên GPU, trong khi lượng tử hóa thường là tối ưu hóa thời gian suy luận bằng cách sử dụng số nguyên.

Những phát triển trong tương lai

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

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