Đón xem YOLO Vision 2025!
25 tháng 9, 2025
10:00 — 18:00 BST
Sự kiện kết hợp
Yolo Vision 2024
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 (Model quantization) là một kỹ thuật tối ưu hóa mô hình mạnh mẽ, giúp giảm dung lượng bộ nhớ và chi phí tính toán của một mạng nơ-ron (NN) bằng cách chuyển đổi các 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ư số thực 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 bị hạn chế về 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 (inference latency), với tác động tối thiểu đến độ chính xác (accuracy) dự đoán của mô hình.

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

Quá trình lượng tử hóa bao gồm việc ánh xạ phạm vi liên tục của 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ố lượng bit cần thiết để lưu trữ mỗi tham số, 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 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 liên quan đến việc phân tích sự phân bố của trọng số và kích hoạt trên một bộ dữ liệu hiệu chuẩn nhỏ để xác định ánh xạ tối ưu từ dấu phẩy động sang số nguyên.
  2. Huấn luyện nhận biết lượng tử hóa (Quantization-Aware Training - 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 tác động của lượng tử hóa. Quá trình forward pass của quá trình huấn luyện bắt chước 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 sự mất mát thông tin tiềm ẩn trong giai đoạn huấn luyện. Các framework như PyTorchTensorFlow cung cấp các công cụ mạnh mẽ để triển khai QAT.

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

Lượng tử hóa là 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ị Edge AI.

  • 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 các 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 phát hiện đối tượng trực tiếp thông qua máy ảnh, chẳng hạn như xác định sản phẩm hoặc địa danh, dựa vào một mô hình lượng tử hóa như Ultralytics YOLO11 để chạy hiệu quả trên phần cứng của đ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. 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 TPUs, đảm bảo các quyết định được đưa ra trong phần nghìn giây, điều này rất quan trọng đối với sự 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 (Model quantization) 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 nó khác biệt về cách tiếp cận.

  • Tỉa thư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 tỉa thư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ưng cất tri thức (Knowledge Distillation): Điều này liên quan đến việc đào tạo một mô hình "học sinh" nhỏ hơn để bắt chước một mô hình "giáo viên" lớn hơn, được đào tạo 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ì đào tạo 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 nó chủ yếu là một 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ó khả năng ả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ách sử dụng các chỉ số hiệu suất có 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. Chúng bao gồm ONNX để tương thích rộng rãi, OpenVINO để tối ưu hóa trên phần cứng IntelTensorRT để có 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ừ huấn luyện đến triển khai các mô hình được tối ưu hóa. 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à tỉa thưa để đạt được hiệu suất cấp GPU trên CPU.

Tham gia cộng đồng Ultralytics

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
Đã sao chép liên kết vào clipboard