CHƯƠNG 2: TỔNG QUAN VỀ MÔ HÌNH HỌC LIÊN KẾT
2.2. Mô hình Lượng tử hóa trong Machine Learning
2.2.1.Khái niệm:
“Lượng tử hóa trong học máy (Quantization in Machine Learning) là quá trình biểu diễn dữ liệu hoặc tham số mô hình bằng một tập hữu hạn các giá trị hoặc đơn vị rời rạc thay vì các giá trị liên tục. Quá trình này thường được thực hiện để giảm độ phức tạp tính toán, tiết kiệm dung lượng bộ nhớ, tăng tốc độ tính toán, và cải thiện hiệu suất của các mô hình máy học trên các thiết bị có tài nguyên hạn chế hoặc trong các ứng dụng có yêu cầu về hiệu suất cao”.
Quantization thực chất là quá trình ánh xạ các giá trị liên tục sang một tập các giá trị rời rạc hữu hạn nhỏ hơn bằng một số giải thuật xác định ô. Xác định ô là cách nói ta gom những giá trị gần bằng nhau ở kiểu dữ liệu ban đầu sang cùng một giá trị mới ở kiểu dữ liệu mới do bị giới hạn về số lượng giá trị có thể biểu diễn. Ví dụ các
số ở dạng float32 có thể cùng được đưa về int8. Các số sau khi thực hiện Quantization
sẽ có sai số so với số ban đầu do làm tròn (underflow, overflow),
Để trực quan hơn, ta có thể lấy ví dụ cụ thể: Hai số thực float32 là 2.017432
và 3.980431 có thể đưa về số nguyên int8 là 2 và 4 vì chúng có giá trị xấp xỉ với hai
số thực kể trên. Hoặc số vô tỉ Pi 3.1415926535… có thể giới hạn về 3.14.
Copies for internal use only in Phenikaa University
Hình 2.3: Ví dụ một mô hình Lượng tử hóa
Như vậy, ta có thể hiểu đơn giản rằng, Lượng tử hóa về cơ bản gần giống như phương pháp làm tròn số, điều này thường được thực hiện tùy theo yêu cầu cụ thể của ứng dụng và tài nguyên có sẵn. Lượng tử hóa có thể áp dụng cho nhiều khía cạnh khác nhau của dữ liệu số hóa, bao gồm giới hạn số thập phân, làm tròn, giới hạn dải giá trị,
và chuyển đổi thành số nguyên hoặc số nguyên có dấu cố định. Mục tiêu là giảm độ phức tạp tính toán và lưu trữ dữ liệu trong khi vẫn duy trì mức độ độ chính xác cần thiết cho ứng dụng cụ thể. Sự lựa chọn về cách thức lượng tử hóa thường phụ thuộc vào các yếu tố như độ chính xác yêu cầu, tài nguyên có sẵn, và hiệu suất ứng dụng.
Lượng tử hóa trong Machine Learning là một phần quan trọng của việc triển khai mô hình trên các thiết bị có tài nguyên hạn chế, đòi hỏi sự cân nhắc cẩn thận để đảm bảo rằng mức độ độ chính xác của mô hình không bị ảnh hưởng quá nhiều trong quá trình này.
2.2.2.Ưu và Nhược điểm của Lượng tử hóa trong Machine Learning:
Lượng tử hóa có cả ưu điểm và nhược điểm, tùy thuộc vào ngữ cảnh và mục tiêu cụ thể của việc sử dụng. Một số ưu điểm của lượng tử hóa có thể kể đến như:
1) Tiết kiệm tài nguyên: Lượng tử hóa giúp giảm tải tài nguyên tính toán và dung
lượng bộ nhớ cần thiết cho việc lưu trữ và xử lý dữ liệu. Điều này đặc biệt quan trọng trong các ứng dụng máy tính có tài nguyên hạn chế, như các thiết bị di động hoặc vi điều khiển nhúng. Kích thước mô hình và băng thông có thể giảm tới 4 lần.
2) Tăng hiệu suất và tốc độ: Bằng cách giảm độ phức tạp tính toán và lưu trữ,
lượng tử hóa có thể tăng tốc độ tính toán và thời gian đáp ứng của các ứng dụng, đặc biệt là trong thời gian thực và các hệ thống có độ trễ thấp. Nếu lượng
tử hóa dữ liệu từ float32 sang int8, tốc độ xử lý có thể nhanh hơn 2 đến 4 lần.
Song song với các ưu điểm trên, việc ứng dụng mô hình Lượng tử hóa có thể mắc phải một số khó khăn nhất định, có thể kể đến như:
Copies for internal use only in Phenikaa University
1) Mất mát độ chính xác: Lượng tử hóa thường dẫn đến sự mất mát độ chính xác
trong dữ liệu hoặc kết quả tính toán. Điều này có thể ảnh hưởng đến chất lượng
và độ tin cậy của ứng dụng.
2) Khó khăn trong debug và phát triển: Khi dữ liệu hoặc trạng thái của mô hình
được lượng tử hóa, việc debug và phát triển có thể trở nên phức tạp hơn, do khó khăn trong việc theo dõi và hiểu các giá trị lượng tử.
3) Lựa chọn tham số khó khăn: Xác định cách thức lượng tử hóa (ví dụ: số lượng
bit cho mỗi giá trị lượng tử) có thể là một nhiệm vụ khó khăn và yêu cầu sự cân nhắc cẩn thận.
2.2.3.Lượng tử hóa trong mô hình Học liên kết:
Trong mô hình Học liên kết, Lượng tử hóa được áp dụng cho các điểm dữ liệu trong mô hình tham số cục bộ, hay còn gọi là “Lượng tử hóa trọng số” (Weight
Quantization). Sau khi các User đào tạo dữ liệu riêng tử của mình thành các mô hình tham số cục bộ, sẽ sử dụng phương pháp Lượng tử hóa để giảm thiểu dung lượng của
mô hình, điều này giúp cho việc tiêu hao năng lượng và độ trễ truyền tải được giảm
đi đáng kể.
Copies for internal use only in Phenikaa University
Hình 2.4: Mô hình tham số trước khi lượng tử hóa (Đường màu xám) và sau khi
lượng tử hóa (Đường màu đỏ)
Tuy nhiên, vẫn cần phải đảm bảo rằng sai số trong mô hình Lượng tử hóa này không vượt qua ngưỡng cho phép. Nếu như sai số quá lớn, sẽ giảm đi tính chính xác của mô hình, dẫn đến hiệu suất đào tạo bị giảm đi đáng kể.
Copies for internal use only in Phenikaa University