1. Главная
  2. Docs
  3. Глоссарий
  4. Дистилляция

Дистилляция

5

Дистилляция — обучение небольшой модели воспроизводить поведение крупной. Крупная выступает учителем, компактная — учеником, и обучается она не на разметке людей, а на ответах учителя.

Зачем

Стоимость и скорость эксплуатации. Компактная модель дешевле в обслуживании, отвечает быстрее и помещается на скромное железо. При узкой задаче она способна работать почти как крупная — именно на этой задаче.

Типичный сценарий: классификация обращений, извлечение полей из документов, разметка. Задача однородная, объём большой, крупная модель на каждом обращении избыточна.

Связки, где дистилляция приживается. Первый эшелон обработки потока: компактная модель разбирает типовые случаи, редкие эскалируются на крупную или на человека. Черновая генерация для последующей проверки: ученик готовит структурированный ответ, человек правит. Сопровождение продуктовой логики: классификаторы тем и намерений, определение срочности — везде, где важна стабильность и цена, а не общие рассуждения.

Как ученик обучается

Учитель отдаёт вероятности, а не только ответ. Для каждого входа учитель выдаёт распределение вероятностей по вариантам, и в нём больше информации, чем в финальной метке: какие классы похожи, насколько решение уверенно. Обучение на таком «мягком» сигнале обычно даёт более качественного ученика, чем обучение на одних готовых ответах.

Рассуждения переносятся вместе с ответами. В генеративных задачах ученика обучают на цепочках рассуждений учителя: не только итог, но и путь к нему. Так перенимается способ решения задач, а не только стиль ответов — на этом принципе построено большинство компактных моделей для решения задач.

Качество ученика ограничено качеством съёма ответов. Учителя опрашивают тем же промптом и теми же настройками, что будут работать в системе, иначе ученик выучивает ответ на другой вопрос. Ответы учителя фильтруют до обучения: обучать на ошибочных примерах — закреплять ошибки.

Что теряется

Общность. Ученик перенимает поведение учителя на том распределении задач, на котором обучался, и хуже справляется со всем остальным. Это не универсальная замена — это специализация.

И ошибки учителя переходят по наследству. Если крупная модель систематически ошибается на каком-то типе входа, компактная унаследует ошибку и закрепит её.

Калибровка уверенности. Ученик обычно хуже распознаёт собственную неуверенность: там, где учитель «чувствует» сложный случай, компактная модель отвечает гладко и неверно. Если по уверенности строится маршрутизация на человека или на крупную модель, порог приходится заново калибровать на своей выборке.

Что потребуется

Набор входных данных, представительный для реальной работы. Не выдуманные примеры, а те, что приходят на самом деле.

Ответы учителя на этом наборе — их генерация тоже стоит денег, и это разовое вложение, которое надо учесть в расчёте окупаемости. Вычислительно само обучение ученика обычно дёшево: компактную модель дообучают адаптерами (см. QLoRA) на одном ускорителе за часы или дни, а не на кластере неделями.

Отложенная выборка с проверенными людьми ответами, чтобы измерить, насколько ученик отстаёт от учителя.

Правовая оговорка

Условия использования части облачных моделей прямо запрещают применять их выходы для обучения конкурирующих моделей. Прежде чем строить на этом продукт, стоит прочитать лицензию поставщика — ограничение реальное и о нём часто узнают поздно.

Как считать окупаемость

Дистилляция имеет смысл, когда разовые затраты окупаются экономией на потоке. В расчёт входят три статьи.

Разово: генерация ответов учителя на обучающем наборе, само обучение, разметка отложенной выборки для проверки.

Постоянно: разница в стоимости обращения между крупной и компактной моделью, умноженная на объём.

Скрыто: сопровождение собственной модели — обновления, мониторинг качества, переобучение при изменении характера данных.

Альтернативы, которые надо отсечь. До дистилляции стоит проверить более дешёвые варианты: готовая компактная модель, закрывающая задачу без обучения; дообучение компактной модели адаптерами на небольшой ручной разметке; маршрутизация, при которой крупная модель через API обрабатывает только редкую часть потока. Дистилляция выигрывает, когда поток большой, задача стабильна, а ручной разметки на такой объём не набрать.

Если поток обращений невелик, третья статья съедает выигрыш от второй. Это самая частая причина, по которой дистилляция не оправдывается.

Как проверять качество

Сравнение ученика с учителем на отложенной выборке — минимум. Полезнее смотреть не среднее, а распределение: где именно ученик отстаёт. Обычно провал сосредоточен в редких типах входа, и это значит, что для них нужно оставить обращение к крупной модели.

Схема «компактная модель на типовое, крупная на редкое» на практике работает лучше, чем полная замена.

В эксплуатации качество плывёт. Характер входов меняется, и ученик, обученный на прошлом распределении, деградирует молча — без ошибок в коде и без падений. Периодический прогон свежих обращений через контрольную выборку входит в сопровождение, а не выполняется один раз; что именно отслеживать — в статье про дрейф данных.

Частые вопросы

Чем дистилляция отличается от дообучения?

Источником обучающих данных. При дообучении примеры готовят люди, при дистилляции их генерирует крупная модель. Цель тоже разная: дообучение адаптирует модель под задачу, дистилляция переносит поведение крупной модели в компактную ради дешевизны эксплуатации. На узких задачах их комбинируют: ручная разметка задаёт эталон, ответы учителя — объём.

Насколько ученик хуже учителя?

На той задаче, под которую обучали, разрыв бывает небольшим. За её пределами он значительный: компактная модель не приобретает общих способностей крупной. Измерять надо на отложенной выборке своих реальных задач.

Можно ли обучать на ответах облачной модели?

Не всегда: условия ряда поставщиков запрещают использовать выходы для обучения конкурирующих моделей. Это стоит проверить в лицензии до начала работ, а не после, — ограничение реальное.

Какого размера брать ученика?

Исходят из целевого железа и требуемой латентности, а не из абстрактных метрик: ученик должен помещаться в целевое окружение вместе с кэшем и запасом. Рабочий подход — два-три кандидата на одном обучающем наборе: на типовых задачах качество данных влияет на результат сильнее, чем разница между соседними размерами модели.

Сколько нужно примеров?

Зависит от узости задачи: для классификации с устойчивым форматом входа обычно хватает десятков тысяч примеров, для генерации ответов нужны сотни тысяч. Недостающий объём компенсируют итерациями: дообучили, померили отставание по сегментам, добавили данные там, где провал.

Как часто переобучать ученика?

По триггеру, а не по календарю: свежие обращения периодически собираются в контрольную выборку, и переобучение запускается при устойчивом падении метрик. Переобучение по расписанию без триггера расходует бюджет и маскирует настоящую причину — изменившиеся входы.

Что почитать по теме