Hướng dẫn quantization python code - mã python lượng tử hóa
Bài 51 - Quantization trong deep learning23 Nov 2020 - phamdinhkhanh Show
1. Tại sao cần quantizationKhi tôi viết bài này thì quantization đã khá phổ biến trong Deep Learning. Đây là một khái niệm không còn mới, nhưng lại rất quan trọng. Vậy nó quan trọng như thế nào và vì sao chúng ta lại cần quantization ? Các mô hình deep learning ngày càng đạt độ chính xác cao hơn qua thời gian. Không khó để bạn tìm thấy những mô hình đạt độ chính xác SOTA trên bộ dữ liệu ImageNet. Nếu không tin bạn có thể theo dõi độ chính xác qua thời gian trên bảng leader board của Imagenet classification. Nhưng hầu hết những mô hình có độ chính xác cao lại không có khả năng deploy trên các thiết bị IoT và mobile có phần cứng rất yếu vì nó quá lớn để triển khai. Quantization là một kỹ thuật giúp bạn giảm nhẹ kích thước các mô hình deep learning nhiều lần, đồng thời giảm độ trễ (latency) và tăng tốc độ inference. Cùng tìm hiểu về kỹ thuật tuyệt vời này qua bài viết hôm nay.giảm nhẹ kích thước các mô hình deep learning nhiều lần, đồng thời giảm độ trễ (latency) và tăng tốc độ inference. Cùng tìm hiểu về kỹ thuật tuyệt vời này qua bài viết hôm nay. 1.1. Khái niệm về quantizationCó nhiều định nghĩa khác nhau về quantization. Xin được trích dẫn khái niệm từ wikipedia: ` Quantization, in mathematics and digital signal processing, is the process of mapping input values from a large set (often a continuous set) to output values in a (countable) smaller set, often with a finite number of elements. Rounding and truncation are typical examples of quantization processes. Quantization is involved to some degree in nearly all digital signal processing, as the process of representing a signal in digital form ordinarily involves rounding. Quantization also forms the core of essentially all lossy compression algorithms. ` Như vậy quantization trong toán học và xử lý tín hiệu số là quá trình map các giá trị đầu vào từ một tập số lớn (thường là liên tục) sang các giá trị output là một tập nhỏ hơn có thể đếm được, hữu hạn các phần tử. Ví dụ về quantization Bạn có thể hình dung dễ dàng khái niệm trên thông qua ví dụ sau đây: Giả sử một hàm $f(x) = sin(x)$ là một hàm liên tục trong khoảng $[-\pi, \pi]$. Ta có thể tìm được một tập hợp $S = {\frac{i \pi}{100}} \forall, i \in [-100, 100]$ là một tập hữu hạn rời rạc các điểm cách đều nhau một khoảng là $\frac{\pi}{100}$ sao cho tập các điểm $(x, y)$ có miền xác định trên tập $S$ có thể biểu diễn một cách gần đúng mọi điểm $(x, y)$ trên miền liên tục $[-\pi, \pi]$.
|