Квантование стало ключевым методом оптимизации нейросетей, позволяющим сократить размер моделей и ускорить их работу без существенной потери точности. Статья подробно описывает переход от высокоточных вычислений с плавающей запятой к форматам с низкой разрядностью, таким как INT8, и объясняет математические принципы, лежащие в основе снижения вычислительной сложности при инференсе современных LLM.
Основная задача квантования заключается в аппроксимации весов и активаций нейронной сети с использованием меньшего количества бит. Это критически важно для развертывания моделей на устройствах с ограниченными ресурсами, таких как мобильные процессоры или специализированные ускорители. Автор разбирает разницу между симметричным и асимметричным квантованием, а также влияние выбора диапазона значений на итоговую производительность системы.
В материале также рассматриваются подходы Post-Training Quantization (PTQ) и Quantization-Aware Training (QAT). Первый метод позволяет оптимизировать уже обученную модель, что экономит время и вычислительные затраты, в то время как второй внедряет процесс квантования непосредственно в цикл обучения, позволяя модели адаптироваться к потере точности и минимизировать ошибки на этапе инференса.
Ключевые факты
- Квантование снижает требования к памяти и пропускной способности шины данных, что напрямую ускоряет инференс.
- Симметричное квантование использует диапазон значений, центрированный вокруг нуля, что упрощает реализацию аппаратных операций.
- Асимметричное квантование обеспечивает более гибкое отображение данных, что полезно для распределений с выраженным смещением.
- Метод QAT (Quantization-Aware Training) имитирует ошибки квантования во время обучения, позволяя весам сети подстроиться под ограничения формата.
- Использование форматов INT8 и ниже позволяет значительно увеличить плотность вычислений на стандартных тензорных ядрах современных GPU.