Tối ưu hóa các mô hình AI cho các thiết bị biên bằng Đào tạo 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 hạn chế về tài nguyên.
Quantization-Aware Training (QAT) là một kỹ thuật mạnh mẽ được sử dụng để tối ưu hóa các mô hình học sâu (DL) , như các mô hình YOLO Ultralytics , để triển khai trên các thiết bị có tài nguyên tính toán hạn chế, chẳng hạn như điện thoại di động hoặc hệ thống nhúng. Các mô hình tiêu chuẩn thường sử dụng các số có độ chính xác cao (như dấu phẩy động 32 bit hoặc FP32 ) để tính toán, đòi hỏi sức mạnh xử lý và bộ nhớ đáng kể. QAT hướng đến mục tiêu giảm nhu cầu này bằng cách chuẩn bị mô hình trong giai đoạn đào tạo để hoạt động tốt ngay cả khi sử dụng các số có độ chính xác thấp hơn (ví dụ: số nguyên 8 bit hoặc INT8 ), do đó thu hẹp khoảng cách giữa độ chính xác cao và hiệu suất hiệu quả trên các thiết bị biên . Việc tối ưu hóa này rất quan trọng để cho phép các tác vụ AI phức tạp trực tiếp trên phần cứng như điện thoại thông minh hoặc cảm biến IoT .
Không giống như các phương pháp lượng tử hóa mô hình sau khi mô hình đã được đào tạo đầy đủ, QAT tích hợp mô phỏng các hiệu ứng lượng tử hóa trực tiếp vào quy trình đào tạo. Nó giới thiệu các hoạt động được gọi là các nút 'lượng tử hóa giả' trong kiến trúc mô hình trong quá trình đào tạo. Các nút này mô phỏng hiệu ứng của độ chính xác thấp hơn (ví dụ: độ chính xác INT8 ) đối với trọng số và kích hoạt mô hình trong quá trình truyền tiếp, làm tròn các giá trị như trong mô hình lượng tử hóa thực sự. Tuy nhiên, trong quá trình truyền ngược (khi mô hình học thông qua truyền ngược ), các gradient thường được tính toán và các bản cập nhật được áp dụng bằng cách sử dụng các số dấu phẩy động có độ chính xác cao tiêu chuẩn. Điều này cho phép các tham số của mô hình thích ứng và học để trở nên mạnh mẽ trước tình trạng mất độ chính xác sẽ xảy ra trong quá trình suy luận lượng tử hóa thực tế. Bằng cách "nhìn thấy" các hiệu ứng của lượng tử hóa trong quá trình đào tạo, mô hình giảm thiểu sự sụt giảm độ chính xác thường liên quan đến việc triển khai các mô hình ở định dạng có độ chính xác thấp, một khía cạnh quan trọng được thảo luận trong các chiến lược tối ưu hóa mô hình . Các khuôn khổ như TensorFlow Lite và PyTorch cung cấp các công cụ để triển khai QAT.
Sự khác biệt chính nằm ở thời điểm áp dụng lượng tử hóa. Lượng tử hóa mô hình , thường đề cập đến Lượng tử hóa sau đào tạo (PTQ), chuyển đổi mô hình có độ chính xác đầy đủ được đào tạo trước thành định dạng có độ chính xác thấp hơn sau khi đào tạo hoàn tất. PTQ thường đơn giản hơn để triển khai vì nó không yêu cầu đào tạo lại hoặc truy cập vào tập dữ liệu đào tạo ban đầu. Tuy nhiên, đôi khi nó có thể dẫn đến giảm đáng kể độ chính xác của mô hình, đặc biệt là đối với các mô hình phức tạp thực hiện các tác vụ như phát hiện đối tượng hoặc phân đoạn hình ảnh . Ngược lại, QAT mô phỏng lượng tử hóa trong quá trình đào tạo, làm cho mô hình vốn mạnh mẽ hơn đối với việc giảm độ chính xác. Điều này thường dẫn đến độ chính xác cao hơn cho mô hình lượng tử hóa cuối cùng so với PTQ, mặc dù nó yêu cầu nhiều tài nguyên tính toán hơn và quyền truy cập vào dữ liệu đào tạo . Đối với các mô hình như YOLO -NAS , kết hợp các khối thân thiện với lượng tử hóa, QAT có thể mang lại lợi ích hiệu suất đáng kể với mức mất độ chính xác tối thiểu.
Mặc dù cả hai kỹ thuật đều liên quan đến độ chính xác số, nhưng mục tiêu của chúng lại khác nhau. Đào tạo Độ chính xác hỗn hợp chủ yếu nhằm mục đích tăng tốc quá trình đào tạo và giảm mức sử dụng bộ nhớ trong quá trình đào tạo bằng cách sử dụng kết hợp các định dạng có độ chính xác thấp hơn (ví dụ: float 16 bit hoặc FP16 ) và độ chính xác chuẩn (float 32 bit) để tính toán và lưu trữ. QAT đặc biệt tập trung vào việc tối ưu hóa mô hình để suy luận hiệu quả bằng cách sử dụng các định dạng số nguyên có độ chính xác thấp (như INT8) sau khi triển khai mô hình . Trong khi độ chính xác hỗn hợp giúp ích trong quá trình đào tạo, QAT đảm bảo mô hình cuối cùng hoạt động tốt trong các ràng buộc của phần cứng suy luận lượng tử, chẳng hạn như NPU (Đơn vị xử lý thần kinh) hoặc TPU .
Đào tạo nhận thức về lượng tử hóa rất quan trọng để triển khai các mô hình AI phức tạp trong môi trường hạn chế về tài nguyên, nơi hiệu quả là yếu tố then chốt.
Ultralytics hỗ trợ xuất mô hình sang nhiều định dạng khác nhau như ONNX , TensorRT và TFLite , tương thích với quy trình làm việc QAT, cho phép triển khai hiệu quả trên nhiều phần cứng khác nhau. Bạn có thể quản lý và triển khai các mô hình được tối ưu hóa QAT của mình bằng các nền tảng như Ultralytics HUB . Đánh giá hiệu suất mô hình bằng các số liệu có liên quan sau QAT là điều cần thiết để đảm bảo đáp ứng các yêu cầu về độ chính xác.