Урок 12: Квантование — INT8/FP8
FP16 уменьшил память вдвое. Квантование идёт дальше: представление весов и активаций как 8-битных целых чисел (INT8) — один байт вместо четырёх, в 4 раза меньше и быстро на целочисленных блоках. Цена: небольшая ошибка округления. Секрет сохранения точности — калибровка. В этом уроке мы увидим формул
Квантование — как округление цен до целых долларов вместо центов. Вы экономите место и вычисляете быстро, а конечный результат обычно почти идентичен — пока вы выбираете правильное «округление» (масштаб).
- Квантование INT8
- Представление значений как 8-битных целых чисел (один байт) вместо FP32 (4 байта). В 4 раза меньше и быстрее ценой точности.
- Масштаб
- Множитель, отображающий диапазон FP32 в целочисленный диапазон. q = round(x / scale); деквантование: x ≈ q * scale.
- Калибровка
- Прогон репрезентативных данных для измерения реального диапазона значений и выбора масштаба, минимизирующего ошибку округления.