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ì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 .

Tại sao lượng tử hóa lại quan trọng

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

  • Dung lượng bộ nhớ: Bằng cách giảm độ rộng bit của trọng số (ví dụ: từ 32 bit xuống 8 bit), yêu cầu lưu trữ của mô hình được giảm tới 4 lần. Điều này rất quan trọng đối với các ứng dụng di động, nơi kích thước ứng dụng bị hạn chế.
  • Độ trễ suy luận: Các phép toán có độ chính xác thấp hơn sẽ tiết kiệm chi phí tính toán hơn. Các bộ xử lý hiện đại, đặc biệt là những bộ xử lý có đơn vị xử lý thần kinh (NPU) chuyên dụng, có thể thực hiện các phép toán INT8 nhanh hơn nhiều so với FP32, giúp giảm đáng kể độ trễ suy luận .
  • Mức tiêu thụ điện năng: Việc di chuyển ít dữ liệu hơn qua bộ nhớ và thực hiện các phép toán số học đơn giản hơn sẽ tiêu thụ ít năng lượng hơn, giúp kéo dài tuổi thọ pin trên các thiết bị di động và xe tự hành .

So sánh với các khái niệm liên quan

Đ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 so với cắt tỉa: Trong khi lượng tử hóa làm giảm kích thước tệp bằng cách giảm độ rộng bit của các tham số, việc 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. Cắt tỉa làm thay đổi cấu trúc của mô hình, trong khi lượng tử hóa làm thay đổi cách biểu diễn dữ liệu.
  • Lượng tử hóa so với chưng cất tri thức: Chưng cất tri thức là một kỹ thuật huấn luyện trong đó một mô hình "học sinh" nhỏ học cách bắt chước một mô hình "giáo viên" lớn. Lượng tử hóa thường được áp dụng cho mô hình học sinh sau khi chưng cất để nâng cao hơn nữa hiệu suất của AI biên .

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

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.

  1. Hệ thống tự hành: Trong ngành công nghiệp ô tô, xe tự lái phải xử lý dữ liệu hình ảnh từ camera và LiDAR trong thời gian thực. Các mô hình lượng tử hóa được triển khai trên công cụ NVIDIA TensorRT cho phép các phương tiện này thực hiện điều đó. detect Phát hiện người đi bộ và chướng ngại vật với độ trễ mili giây, đảm bảo an toàn cho hành khách.
  2. Nông nghiệp thông minh: Máy bay không người lái được trang bị camera đa phổ sử dụng các mô hình phát hiện đối tượng lượng tử hóa để xác định bệnh cây trồng hoặc theo dõi các giai đoạn sinh trưởng. Việc chạy các mô hình này cục bộ trên hệ thống nhúng của máy bay không người lái giúp loại bỏ nhu cầu về kết nối di động không ổn định ở các vùng xa xôi.

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

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.

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