Что такое quantization LLM и какие trade-off она дает
Интервьюер спрашивает про quantization: зачем она нужна, какие бывают варианты и чем можно заплатить за ускорение.
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Quantization хранит веса или активации в меньшей точности, например int8/int4 вместо fp16/bf16. Это уменьшает память и может ускорить inference, но дает риск деградации качества и требует eval.
Полный разбор
Цель quantization — уменьшить memory footprint и bandwidth. Если веса хранятся в int8 или int4, модель занимает меньше GPU/CPU memory, можно поднять больший batch или модель на более дешевом железе. Иногда ускоряется и сам compute, если runtime хорошо поддерживает нужный формат.
Бывают post-training quantization и quantization-aware training. Можно квантизовать только weights или также activations/KV cache. Практические схемы отличаются granularities: per-tensor, per-channel, group-wise; часто используют calibration data, чтобы подобрать scales и снизить ошибку.
Главный trade-off — качество и стабильность на edge cases. Поэтому после quantization нужно прогонять доменный eval set, latency/memory benchmarks и проверять, не появились ли регрессии на длинных контекстах, редких языках или чувствительных задачах.
Теория
Quantization особенно важна для LLM serving, где bottleneck часто в памяти и bandwidth, а не только в FLOPs. Но формат должен поддерживаться железом и inference runtime.
Типичные ошибки
- Считать, что int4 всегда быстрее fp16.
- Не отличать weight-only quantization от activation/KV quantization.
- Не проверять качество на доменном eval set.
Как отвечать на собеседовании
- Назови цель: memory, throughput, cost.
- После методов сразу скажи про обязательный eval качества и latency.