Tìm hiểu phương pháp Lượng tử Hoá (Quantization)

Trí tuệ nhân tạo ngày nay đang ngày càng trở nên phổ biến, đặt ra nhu cầu sử dụng AI cao. Để giảm yêu cầu phần cứng và tối ưu hiệu suất, Lượng tử hoá là phương pháp hiệu quả. Mặc dù giảm độ chính xác là một thách thức

Tìm hiểu phương pháp Lượng tử Hoá (Quantization)
Photo by Mike Winkler / Unsplash

Ngày nay nhu cầu sử dụng các công cụ Trí tuệ nhân tạo (AI) vào đợi sống hằng ngày càng nhiều. Từ việc giúp chúng ta chụp ảnh đẹp hơn, nâng cao bảo mật, cá nhân hoá những câu trả lời để phù hợp với từng trường hợp,... Nhu cầu sử dụng AI ngày càng một lớn, những doanh nghiệp lớn đã phải đầu tư hằng ngàn đô la vào những dự án, cơ sở hạ tầng để có thể đảm bảo đáp ứng nhu cầu của những công cụ này. Và yêu cầu của những hệ thống này không hề nhỏ, nó không phải là thứ mà các công ty vừa mà nhỏ có thể đáp ứng được.

Giảm yêu cầu tính toán và tối ưu hiệu năng

Một cách để giảm yêu cầu phần cứng của Trí tuệ nhân tạo và tối ưu hiệu năng đó chính là sử dụng phương pháp Lượng tử hoá (Quantization). Quantization là một từ có nghĩa rất rộng nó bao gồm hàng trăm phương pháp khác nhau để chuyển đổi thông tin đầu vào từ những dataset rất lớn về dạng nhỏ hơn. Bạn có thể hiểu Quantization giống như khi ai đó hỏi bạn thời gian thay vì trả lời chi tiết đầy đủ như ngày, tháng, năm, giờ, phút và giây, bạn sẽ chỉ cần trả lời "10 rưỡi" mặc dù không phải 100% đúng nhưng câu trả lời cũng đã giúp người hỏi biết được khoản thời gian.

Một ví dụ khác là khi chúng ta chụp ảnh, những bức ảnh này sẽ chứa một lượng bits nhất định, bằng cách giảm lượng màu có trong bức ảnh đó chúng ta đã thành công lượng tử hoá mô hình này

Qualcomm-image
GIF 1. Giảm lượng bits có trong ảnh giúp giảm lượng data đầu vào.

Trí tuệ nhân tạo là những mô hình chứa nhiều Activation nodes khác nhau, sự liên kết giữa những nodes này và weight parameter có thể được lượng tử hoá. Để chạy được một mô hình trí tuệ nhân tạo sẽ yêu cầu hệ thống phải làm hằng trăm tới hàng tỷ bài toán khác nhau, với một mô hình xử lý ít lượng bits hơn thì số lần mà hệ thống phải xử lý tính toán cũng từ đó được giảm xuống đáng kể và xử lý nhanh hơn.

Ngoài lợi ích của việc tăng hiệu năng, lượng tử hoá các mô hình trí tuệ nhân tạo cũng đồng thời giảm chi phí truy cập bộ nhớ từ đó có thể giúp hệ thống xử lý nhiều thông tin hơn và tăng tốc độ xử lý, tiết kiệm hiệu năng và năng lượng.

Qualcomm-image
GIF 2. Các lợi ích của việc lượng tử hoá các mô hình trí tuệ nhân tạo.

Lượng tử hoá nhưng không giảm độ chính xác

Một nhược điểm lớn của việc sử dụng phương pháp lượng tử hoá đó chính là giảm độ chính xác của mô hình đó. Với một bài nghiên cứu gần đây của Qualcomm Technologies đã giúp phát triển ra những phương pháp khác nhau nhằm giải quyết vấn đề giảm độ chính xác của phương pháp này.

 “Relaxed Quantization for Discretized Neural Networks” Đã sử dụng một phương pháp mới để chuẩn bị những mô hình trí tuệ nhân tạo cho quá trình lượng tử hoá trong giai đoạn huấn luyện (Training). Kết quả là những mô hình sử dụng phương pháp này đảm bảo được độ chính xác cao hơn so với các phương pháp khác.

Trong bài nghiên cứu "Understanding Straight-Through Estimator in Training Activation Quantized Neural Nets" giúp chúng ta hiểu sâu hơn về phương pháp Straight-through estimator (STE), là một phương pháp được sử dụng rộng rãi trong quá trình huấn luyện quantization-aware. Nghiên cứu này đã chứng minh được qua sự chọn lọc phương pháp STE, một mô hình đã lượng tử hoá có thể đảm bảo độ chính xác cao, và cũng ngược lại khi sử dụng các phương pháp STE không phù hợp có thể dẫn đến một mô hình không ổn định và độ chí xác thấp.

Tổng kết

Sự gia tăng nhu cầu sử dụng Trí tuệ nhân tạo (AI) đã đẩy các doanh nghiệp lớn đầu tư đáng kể vào dự án và cơ sở hạ tầng. Phương pháp Lượng tử hoá được đề xuất như một cách để giảm yêu cầu phần cứng và tối ưu hiệu năng của mô hình AI. Mặc dù lượng tử hoá có thể giảm độ chính xác, các nghiên cứu mới đề xuất phương pháp như "Relaxed Quantization" và "Straight-through estimator" để duy trì độ chính xác cao trong quá trình lượng tử hoá. Điều này giúp tăng hiệu suất và giảm chi phí truy cập bộ nhớ của hệ thống, đồng thời đảm bảo hiệu năng và độ chính xác của mô hình AI.