Что такое квантизация модели и что происходит с весами при её применении в vLLM?
Answer from AI
sobes.tech AI
Квантизация модели — это процесс уменьшения точности числовых значений весов и активаций нейронной сети, обычно с плавающей запятой (float32), до более компактного формата с меньшим числом бит (например, int8 или int4). Цель — снизить требования к памяти и вычислительным ресурсам, ускорить инференс и уменьшить энергопотребление.
В контексте vLLM (very Large Language Models) квантизация особенно важна, так как модели очень большие и требуют много ресурсов.
Что происходит с весами при квантизации:
- Значения весов преобразуются из формата с плавающей точкой в целочисленный формат с меньшей битностью.
- При этом используется масштабирование (scale) и смещение (zero-point), чтобы сохранить динамический диапазон значений.
- Веса хранятся компактнее, что уменьшает размер модели и ускоряет загрузку.
- Во время инференса операции выполняются с использованием целочисленных арифметических инструкций, что быстрее на многих аппаратных платформах.
Однако квантизация может привести к небольшой потере точности модели, поэтому часто применяют техники калибровки и смешанной точности (например, хранить часть весов в float16, а часть — в int8).
Пример: если вес 0.1234 (float32) квантизируется в int8 с масштабом 0.01, то он будет храниться как 12 (0.12 / 0.01), что экономит память и ускоряет вычисления.