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.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Lượng tử hóa mô hình là một kỹ thuật tối ưu hóa mô hình quan trọng được sử dụng trong học sâu (DL) để giảm chi phí tính toán và bộ nhớ của các mô hình. Nó đạt được điều này bằng cách chuyển đổi độ chính xác số của các tham số mô hình ( trọng số và kích hoạt) từ các biểu diễn có độ chính xác cao hơn, thường là số dấu phẩy động 32 bit ( FP32 ), sang các định dạng có độ chính xác thấp hơn, chẳng hạn như số dấu phẩy động 16 bit (FP16), số nguyên 8 bit (INT8) hoặc thậm chí các biểu diễn bit thấp hơn. Quá trình này làm cho các mô hình nhỏ hơn, nhanh hơn và tiết kiệm năng lượng hơn, điều này đặc biệt quan trọng đối với việc triển khai các mô hình phức tạp trên các môi trường hạn chế về tài nguyên như thiết bị di động hoặc hệ thống AI biên .

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

Về bản chất, lượng tử hóa mô hình liên quan đến việc ánh xạ phạm vi giá trị được tìm thấy trong tenxơ có độ chính xác cao (như trọng số và kích hoạt trong FP32) thành phạm vi nhỏ hơn có thể biểu diễn bằng các kiểu dữ liệu có độ chính xác thấp hơn (như INT8 ). Sự chuyển đổi này làm giảm đáng kể bộ nhớ cần thiết để lưu trữ mô hình và sức mạnh tính toán cần thiết cho suy luận , vì các phép toán trên các số có độ chính xác thấp hơn (đặc biệt là số nguyên) thường nhanh hơn và tiết kiệm năng lượng hơn trên phần cứng hiện đại như GPU và bộ tăng tốc chuyên dụng như TPU .

Lợi ích của lượng tử hóa mô hình

Việc áp dụng lượng tử hóa vào các mô hình học sâu mang lại một số lợi thế chính:

  • Giảm kích thước mô hình: Độ chính xác thấp hơn yêu cầu ít bit hơn cho mỗi tham số, làm giảm đáng kể dung lượng lưu trữ của mô hình. Điều này có lợi cho các bản cập nhật qua mạng và các thiết bị có dung lượng lưu trữ hạn chế.
  • Tốc độ suy luận nhanh hơn: Các phép tính với số có độ chính xác thấp hơn, đặc biệt là số nguyên, thường nhanh hơn trên phần cứng tương thích, dẫn đến độ trễ suy luận thấp hơn.
  • Tiêu thụ điện năng thấp hơn: Giảm khả năng truy cập bộ nhớ và tính toán đơn giản hơn giúp giảm mức sử dụng năng lượng, điều này rất quan trọng đối với các thiết bị chạy bằng pin.
  • Khả năng triển khai được cải thiện: Cho phép triển khai các mô hình lớn, phức tạp như Ultralytics YOLO trên phần cứng có tài nguyên tính toán hạn chế, chẳng hạn như vi điều khiển hoặc TPU biên .

Kỹ thuật lượng tử hóa

Có hai cách tiếp cận chính để lượng tử hóa mô hình:

  1. Lượng tử hóa sau đào tạo (PTQ): Phương pháp này liên quan đến việc lượng tử hóa một mô hình đã được đào tạo bằng độ chính xác dấu phẩy động tiêu chuẩn. Phương pháp này đơn giản hơn để triển khai vì không yêu cầu đào tạo lại, nhưng đôi khi có thể dẫn đến giảm đáng kể độ chính xác của mô hình. Hiệu chuẩn bằng một tập dữ liệu đại diện thường được sử dụng để giảm thiểu sự mất độ chính xác này.
  2. Đào tạo có nhận thức về lượng tử hóa (QAT) : QAT mô phỏng các hiệu ứng của lượng tử hóa trong quá trình đào tạo. Mô hình học cách thích ứng với độ chính xác thấp hơn, thường mang lại độ chính xác tốt hơn so với PTQ, mặc dù nó yêu cầu quyền truy cập vào đường ống đào tạo và dữ liệu ban đầu.

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

Lượng tử hóa mô hình được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau:

  1. Điện toán di động: Cho phép các tính năng AI tinh vi như phát hiện đối tượng theo thời gian thực cho bộ lọc camera, phân loại hình ảnh và xử lý ngôn ngữ tự nhiên trực tiếp trên điện thoại thông minh mà không cần phụ thuộc nhiều vào điện toán đám mây. Các khuôn khổ như TensorFlow Lite sử dụng nhiều lượng tử hóa.
  2. Xe tự hành : Các mô hình lượng tử cho phép xử lý dữ liệu cảm biến (camera, LiDAR) nhanh hơn cho các nhiệm vụ như phát hiện người đi bộ, giữ làn đường và nhận dạng biển báo giao thông, rất quan trọng để đưa ra quyết định theo thời gian thực trong các hệ thống tự lái. Ultralytics cung cấp nhiều tùy chọn triển khai mô hình phù hợp cho các ứng dụng như vậy.

Những cân nhắc và khái niệm liên quan

Mặc dù có lợi ích cao, lượng tử hóa có khả năng tác động đến độ chính xác của mô hình. Đánh giá cẩn thận bằng cách sử dụng các số liệu hiệu suất có liên quan là điều cần thiết sau khi lượng tử hóa. Các kỹ thuật như sử dụng kiến trúc mô hình thân thiện với lượng tử hóa (ví dụ: thay thế một số hàm kích hoạt như được thấy trong YOLO -NAS ) có thể giúp giảm thiểu sự suy giảm độ chính xác, như đã thảo luận trong triển khai các mô hình YOLOv8 lượng tử hóa .

Lượng tử hóa mô hình là một trong số nhiều kỹ thuật tối ưu hóa mô hình. Những kỹ thuật khác bao gồm:

  • Cắt tỉa mô hình : Loại bỏ các trọng số hoặc kết nối ít quan trọng hơn để giảm độ phức tạp của mô hình.
  • Độ chính xác hỗn hợp : Sử dụng kết hợp FP16 và FP32 trong quá trình đào tạo hoặc suy luận để cân bằng giữa tốc độ/bộ nhớ và độ chính xác.
  • Chắt lọc kiến thức : Đào tạo một mô hình "học sinh" nhỏ hơn để mô phỏng đầu ra của một mô hình "giáo viên" lớn hơn đã được đào tạo trước.

Ultralytics hỗ trợ xuất mô hình sang nhiều định dạng khác nhau giúp lượng tử hóa dễ dàng, bao gồm ONNX , OpenVINO , TensorRT , CoreMLTFLite , cho phép triển khai hiệu quả trên nhiều nền tảng phần cứng khác nhau. Bạn có thể quản lý và triển khai mô hình của mình, bao gồm các phiên bản lượng tử hóa, bằng các công cụ như Ultralytics HUB .

Đọc tất cả