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 quan trọng được sử dụng trong học máy để giảm chi phí tính toán và bộ nhớ khi triển khai các mô hình AI. Nó hoạt động bằng cách chuyển đổi trọng số và kích hoạt của mạng nơ-ron từ các số dấu phẩy động có độ chính xác cao (như số float 32 bit) sang các định dạng có độ chính xác thấp hơn, chẳng hạn như số nguyên 8 bit. Quá trình này làm giảm đáng kể kích thước mô hình và tăng tốc độ suy luận, khiến nó trở nên lý tưởng để triển khai trên các thiết bị hạn chế về tài nguyên.

Hiểu về lượng tử hóa mô hình

Ý tưởng cốt lõi đằng sau lượng tử hóa mô hình là biểu diễn các giá trị số trong một mô hình với ít bit hơn. Hầu hết các mô hình học sâu được đào tạo và hoạt động bằng cách sử dụng các số dấu phẩy động, cung cấp độ chính xác cao nhưng đòi hỏi sức mạnh tính toán và bộ nhớ đáng kể. Lượng tử hóa làm giảm nhu cầu này bằng cách ánh xạ phạm vi liên tục của các giá trị dấu phẩy động thành một tập hợp nhỏ hơn các giá trị số nguyên rời rạc. Điều này có thể được ví như việc giảm bảng màu của một hình ảnh; trong khi một số chi tiết có thể bị mất, thông tin cần thiết vẫn còn và kích thước tệp trở nên nhỏ hơn nhiều.

Có một số kỹ thuật để lượng tử hóa mô hình. Lượng tử hóa sau khi đào tạo được áp dụng sau khi mô hình đã được đào tạo đầy đủ, chuyển đổi trọng số và kích hoạt của nó thành độ chính xác thấp hơn mà không cần đào tạo thêm. Đây là một phương pháp đơn giản nhưng đôi khi có thể dẫn đến giảm nhẹ độ chính xác. Mặt khác, đào tạo nhận biết lượng tử hóa (QAT) kết hợp quy trình lượng tử hóa vào chính giai đoạn đào tạo. Điều này cho phép mô hình học và thích ứng với các ràng buộc độ chính xác thấp hơn, thường dẫn đến độ chính xác tốt hơn so với lượng tử hóa sau khi đào tạo. Các kỹ thuật như đào tạo độ chính xác hỗn hợp cũng có thể được sử dụng để cân bằng độ chính xác và hiệu quả trong quá trình đào tạo.

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

Lượng tử hóa mô hình mang lại một số lợi thế quan trọng, đặc biệt là khi triển khai các mô hình AI trong các ứng dụng thực tế:

  • Giảm kích thước mô hình: Lượng tử hóa làm giảm đáng kể kích thước của tệp mô hình. Ví dụ, chuyển đổi mô hình từ số thực 32 bit sang số nguyên 8 bit có thể thu nhỏ kích thước mô hình tới bốn lần. Điều này đặc biệt có lợi cho việc triển khai mô hình trên các thiết bị có dung lượng lưu trữ hạn chế, như điện thoại di động hoặc thiết bị biên .
  • Tốc độ suy luận nhanh hơn: Các phép tính có độ chính xác thấp hơn nhanh hơn đáng kể, đặc biệt là trên phần cứng được tối ưu hóa cho số học số nguyên. Điều này dẫn đến độ trễ suy luận giảm và hiệu suất thời gian thực được cải thiện, rất quan trọng đối với các ứng dụng như phát hiện đối tượng thời gian thực bằng cách sử dụng Ultralytics YOLO mô hình.
  • Chi phí tính toán thấp hơn: Thực hiện các phép tính với độ chính xác thấp hơn đòi hỏi ít năng lượng và sức mạnh tính toán hơn. Điều này rất quan trọng đối với các thiết bị chạy bằng pin và giảm tổng tài nguyên tính toán cần thiết cho các ứng dụng AI.
  • Tăng hiệu quả năng lượng: Nhu cầu tính toán thấp hơn dẫn đến mức tiêu thụ năng lượng thấp hơn, giúp các mô hình lượng tử tiết kiệm năng lượng hơn. Điều này đặc biệt quan trọng đối với các hệ thống di động và nhúng.

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

Lượng tử hóa mô hình là điều cần thiết để triển khai các mô hình AI trong nhiều ứng dụng, đặc biệt là khi tài nguyên bị hạn chế hoặc tốc độ là yếu tố quan trọng. Sau đây là một vài ví dụ:

  1. Thiết bị di động: Điện thoại thông minh thường sử dụng các mô hình lượng tử hóa cho các tính năng AI trên thiết bị như nhận dạng hình ảnh và xử lý ngôn ngữ tự nhiên. Lượng tử hóa cho phép các mô hình phức tạp này chạy hiệu quả trên GPU di động hoặc phần cứng chuyên dụng như Edge TPU có trong các thiết bị như Raspberry Pi, mà không làm hao pin hoặc gây ra các vấn đề về hiệu suất. Ví dụ, chạy Ultralytics YOLO mô hình trên một Android hoặc iOS ứng dụng được hưởng lợi rất nhiều từ lượng tử hóa để phát hiện đối tượng theo thời gian thực.
  2. Điện toán biên và thiết bị IoT: Trong các tình huống như thành phố thông minh hoặc tự động hóa công nghiệp, các mô hình AI được triển khai trên nhiều thiết bị biên để xử lý dữ liệu theo thời gian thực. Lượng tử hóa là rất quan trọng ở đây để cho phép mô hình phục vụ hiệu quả trên các thiết bị này, thường có công suất xử lý và bộ nhớ hạn chế. Hãy xem xét một camera thông minh sử dụng Ultralytics YOLO đối với hệ thống báo động an ninh ; lượng tử hóa đảm bảo phát hiện và phản ứng kịp thời đồng thời giảm thiểu yêu cầu về phần cứng.

Lượng tử hóa so với cắt tỉa mô hình

Mặc dù cả lượng tử hóa mô hình và cắt tỉa mô hình đều là các kỹ thuật tối ưu hóa mô hình nhằm mục đích giảm kích thước mô hình và cải thiện hiệu quả, nhưng chúng hoạt động khác nhau. Lượng tử hóa làm giảm độ chính xác của các biểu diễn số, trong khi cắt tỉa làm giảm số lượng tham số trong mô hình bằng cách loại bỏ các kết nối hoặc nơ-ron ít quan trọng hơn. Cả hai kỹ thuật đều có thể được sử dụng độc lập hoặc kết hợp để đạt được hiệu suất và kích thước mô hình tối ưu. Các công cụ như TensorRTOpenVINO thường kết hợp lượng tử hóa và cắt tỉa như một phần của quy trình tối ưu hóa của chúng.

Tóm lại, lượng tử hóa mô hình là một kỹ thuật mạnh mẽ giúp AI dễ tiếp cận và triển khai hơn trên nhiều thiết bị và ứng dụng hơn bằng cách cải thiện hiệu quả mà không làm giảm đáng kể độ chính xác .

Đọc tất cả