Что квантизуется
Сначала веса; затем можно взяться за активации и KV-кэш. Каждая дополнительная цель экономит больше памяти и сильнее рискует качеством, поэтому это отдельные решения.
Работа с моделью до того, как она начнёт обслуживать трафик. Три рычага меняют стоимость развёртывания и его поведение: уменьшить числа (квантизация), уменьшить модель (дистилляция) или изменить поведение (файнтюнинг).
Квантизация хранит числа в меньшем числе битов. Поскольку один параметр занимает 4 байта в FP32, 2 в FP16/BF16, 1 в FP8/INT8 и половину байта в INT4, модель на 7B по мере снижения точности уменьшается примерно с 28 GB до 14, 7 и 3,5 GB. Выигрыш тройной: нужно меньше памяти, меньше данных перемещается на каждый токен (decode ограничен пропускной способностью) и быстрее выполняется арифметика на оборудовании с нативной поддержкой низкой точности.
Сначала веса; затем можно взяться за активации и KV-кэш. Каждая дополнительная цель экономит больше памяти и сильнее рискует качеством, поэтому это отдельные решения.
В обслуживании преобладают методы после обучения: GPTQ (послойная минимизация ошибки), AWQ (защищает ту небольшую долю весов, которая важнее всего), SmoothQuant (переносит сложность с активаций на веса для W8A8). Обучение с учётом квантизации существует, но для LLM применяется реже.
Большинство команд не квантизуют сами, а скачивают уже квантизованные чекпойнты (релизы в хабах, уровни GGUF Q4/Q5/Q8 для локальных рантаймов). Проверьте, что ваше поколение GPU нативно поддерживает целевую точность, иначе выигрыш в скорости исчезнет.
Плата за это точность результата: при 8 битах обычно небольшая, но на меньших моделях и более сложных задачах она заметна раньше. Никогда не принимайте квантизованную сборку по одной лишь перплексии; прогоните собственный набор оценок против базовой версии в полной точности.
Дистилляция обучает компактную модель-ученика подражать более крупной модели-учителю, перенося способности в более дешёвый артефакт. В отличие от квантизации, которая сжимает ту же самую модель, дистилляция даёт по-настоящему другую, меньшую модель с меньшей задержкой, меньшим объёмом памяти и меньшей стоимостью запроса.
Файнтюнинг продолжает обучение готовой модели на ваших собственных примерах: язык предметной области, форматы вывода, тон или поведение в задаче, которого не удаётся стабильно добиться промптом. Беритесь за него после того, как испробованы промптинг, few-shot-примеры и поиск по документам, и соберите набор оценок до обучения, чтобы можно было доказать пользу.
На сайте есть отдельный раздел, где подробно разобраны техники, фреймворки и выбор между локальным и облачным обучением: см. файнтюнинг.
| Симптом | Что применить |
|---|---|
| Модель не помещается в GPU, или стоимость обслуживания слишком высока при приемлемом качестве | Сначала квантизация: дёшево попробовать и обратимо |
| Узкая задача, где большая модель избыточна для каждого запроса | Дистилляция в небольшого ученика или готовая небольшая модель плюс файнтюнинг |
| Неверное поведение в предметной области, формат или тон, несмотря на хорошие промпты и поиск | Файнтюнинг (сначала LoRA, полное дообучение, если адаптеров не хватает) |
| Всё перечисленное сразу и на масштабе | Эти рычаги сочетаются: дистиллированную или дообученную модель обычно ещё и квантизуют для обслуживания |