Thuật ngữ

Lượng tử hóa mô hình

Tối ưu hóa hiệu suất AI với 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 trong thế giới thực.

Lượng tử hóa mô hình là một kỹ thuật tối ưu hóa mô hình mạnh mẽ giúp giảm thiểu dung lượng bộ nhớ và chi phí tính toán của mạng nơ-ron (NN) bằng cách chuyển đổi trọng số và kích hoạt của nó từ các số dấu phẩy động có độ chính xác cao (như float 32 bit hoặc FP32) sang các kiểu dữ liệu có độ chính xác thấp hơn, chẳng hạn như số nguyên 8 bit (INT8). Quá trình này làm cho các mô hình nhỏ hơn và nhanh hơn đáng kể, cho phép triển khai chúng trên phần cứng hạn chế tài nguyên như điện thoại di động và hệ thống nhúng. Mục tiêu chính là cải thiện hiệu suất, đặc biệt là độ trễ suy luận , với tác động tối thiểu đến độ chính xác dự đoán của mô hình.

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

Quá trình lượng tử hóa bao gồm việc ánh xạ dải liên tục các giá trị dấu phẩy động trong một mô hình đã được huấn luyện thành một tập hợp các giá trị số nguyên rời rạc, nhỏ hơn. Việc chuyển đổi này làm giảm số bit cần thiết để lưu trữ mỗi tham số, từ đó thu nhỏ kích thước tổng thể của mô hình. Hơn nữa, các phép tính sử dụng số nguyên có độ chính xác thấp hơn nhanh hơn nhiều trên nhiều CPU hiện đại và các bộ tăng tốc AI chuyên dụng như GPUTPU , vốn có các lệnh chuyên dụng cho phép tính số học số nguyên.

Có hai phương pháp chính để áp dụng lượng tử hóa:

  1. Lượng tử hóa sau huấn luyện (PTQ): Đây là phương pháp đơn giản nhất, trong đó một mô hình đã được huấn luyện được chuyển đổi sang định dạng có độ chính xác thấp hơn. Đây là một quy trình nhanh chóng, bao gồm việc phân tích phân phối trọng số và kích hoạt trên một tập dữ liệu hiệu chuẩn nhỏ để xác định ánh xạ tối ưu từ số thực sang số nguyên.
  2. Huấn luyện Nhận thức Lượng tử hóa (QAT) : Trong phương pháp này, mô hình được huấn luyện hoặc tinh chỉnh trong khi mô phỏng các hiệu ứng của lượng tử hóa. Quá trình huấn luyện tiếp theo mô phỏng suy luận lượng tử hóa, cho phép mô hình thích ứng với độ chính xác giảm. QAT thường mang lại độ chính xác cao hơn PTQ vì mô hình học cách bù đắp cho việc mất thông tin tiềm ẩn trong giai đoạn huấn luyện. Các nền tảng như PyTorchTensorFlow cung cấp các công cụ mạnh mẽ để triển khai QAT.

Ứng dụng trong thế giới thực

Lượng tử hóa rất quan trọng để chạy các mô hình thị giác máy tính phức tạp trong các tình huống thực tế, đặc biệt là trên các thiết bị AI Edge .

  • Phân tích hình ảnh trên thiết bị: Nhiều ứng dụng điện thoại thông minh sử dụng mô hình lượng tử hóa cho các tính năng thời gian thực. Ví dụ: một ứng dụng cung cấp khả năng phát hiện vật thể trực tiếp thông qua camera, chẳng hạn như nhận dạng sản phẩm hoặc địa danh, dựa trên mô hình lượng tử hóa như Ultralytics YOLO11 để chạy hiệu quả trên phần cứng điện thoại mà không làm hao pin hoặc yêu cầu kết nối đám mây.
  • Ô tô và Robot: Trong xe tự hành , các mô hình phát hiện người đi bộ và giữ làn đường phải hoạt động với độ trễ cực thấp. Việc lượng tử hóa các mô hình này cho phép chúng chạy trên phần cứng chuyên dụng như NVIDIA Jetson hoặc Google Coral Edge TPU , đảm bảo các quyết định được đưa ra chỉ trong tích tắc, điều này rất quan trọng đối với an toàn.

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

Lượng tử hóa mô hình thường được sử dụng cùng với các phương pháp tối ưu hóa khác nhưng có cách tiếp cận riêng biệt.

  • Cắt tỉa Mô hình : Kỹ thuật này loại bỏ các kết nối (trọng số) dư thừa hoặc không quan trọng trong mạng nơ-ron để giảm kích thước và độ phức tạp của nó. Trong khi cắt tỉa làm cho mạng nhỏ hơn bằng cách loại bỏ các phần của nó, thì lượng tử hóa làm cho các phần còn lại hiệu quả hơn bằng cách giảm độ chính xác số của chúng. Hai kỹ thuật này thường được kết hợp để tối ưu hóa tối đa.
  • Chắt lọc kiến thức : Điều này bao gồm việ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, đã được huấn luyện trước. Mục tiêu là chuyển kiến thức của giáo viên sang một kiến trúc nhỏ gọn hơn. Điều này khác với lượng tử hóa, vốn sửa đổi biểu diễn số của một mô hình hiện có thay vì huấn luyện một mô hình mới.
  • Độ chính xác hỗn hợp : Kỹ thuật này sử dụng kết hợp các độ chính xác số khác nhau (ví dụ: FP16 và FP32) trong quá trình huấn luyện mô hình để tăng tốc quá trình và giảm mức sử dụng bộ nhớ. Mặc dù có liên quan, nhưng về cơ bản, đây là một phương pháp tối ưu hóa huấn luyện, trong khi lượng tử hóa thường tập trung vào việc tối ưu hóa mô hình cho suy luận .

Những cân nhắc và hỗ trợ

Mặc dù rất có lợi, lượng tử hóa có thể ảnh hưởng đến độ chính xác của mô hình. Điều cần thiết là phải thực hiện đánh giá kỹ lưỡng bằng các số liệu hiệu suất liên quan sau khi lượng tử hóa để đảm bảo sự đánh đổi hiệu suất là chấp nhận được.

Ultralytics tạo điều kiện thuận lợi cho việc triển khai các mô hình lượng tử hóa bằng cách hỗ trợ xuất sang các định dạng thân thiện với lượng tử hóa. Các định dạng này bao gồm ONNX cho khả năng tương thích rộng, OpenVINO để tối ưu hóa trên phần cứng IntelTensorRT cho hiệu suất cao trên GPU NVIDIA . Các nền tảng như Ultralytics HUB có thể giúp quản lý toàn bộ vòng đời, từ đào tạo đến triển khai các mô hình được tối ưu hóa. Việc tích hợp với các công cụ như Neural Magic cũng tận dụng lượng tử hóa và cắt tỉa để đạt được hiệu suất tương đương GPU trên CPU.

Tham gia cộng đồng Ultralytics

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

Tham gia ngay
Liên kết đã được sao chép vào clipboard