Дистилляция моделей

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM DeepSeek-V3 и проверена участником М. Мишин 14:17, 17 июня 2026 (MSD)

Промпт приводится полностью в Обсуждение:Дистилляция моделей


Содержание


Определение и основная идея

Дистилляция моделей (англ. knowledge distillation) — метод обучения компактной модели (ученика), при котором целевыми значениями выступают не только истинные метки, но и выходы более мощной, предварительно обученной модели (учителя). В основе подхода лежит аналогия с педагогической передачей опыта: учитель, обладающий обширными знаниями о предметной области, снабжает ученика не просто верными ответами, а подробными объяснениями относительного правдоподобия всех альтернатив. В машинном обучении таким объяснениям соответствуют мягкие метки — векторы вероятностей классов, полученные применением сигмоиды или softmax к выходам модели-учителя.

Ключевым понятием дистилляции является тёмное знание — информация о сходстве классов, закодированная в вероятностях, которые учитель назначает ошибочным классам. Например, если для изображения рукописной цифры «3» учитель отводит заметную вероятность классу «8», а для «8» — классу «3», это отражает геометрическую близость форм. Жёсткая метка (one-hot вектор) полностью уничтожает эти сведения, тогда как мягкие метки сохраняют структуру многообразия данных, позволяя ученику быстрее обобщать и избегать переобучения.

Чтобы сделать тёмное знание более доступным, распределение вероятностей «сглаживают» с помощью параметра температуры T в функции softmax: p_i = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)}, где z_iлогит для i-го класса. При T = 1 получается стандартное распределение; при T \rightarrow \infty распределение стремится к равномерному; при T > 1 вероятности нецелевых классов возрастают, и модель-ученик получает более «мягкую» цель. На этапе предсказания ученик всегда использует T = 1.

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

Математическая формализация

Пусть \mathbf{z}_t и \mathbf{z}_s — векторы логитов учителя и ученика соответственно; \mathbf{y} — истинная жёсткая метка (one-hot); \sigma(\mathbf{z}) — стандартный softmax (T = 1); \sigma_T(\mathbf{z}) — softmax с температурой T. Функция потерь ученика записывается как взвешенная сумма двух слагаемых:

\mathcal{L} = (1 - \lambda) \, \mathcal{L}_{\text{CE}}(\mathbf{y}, \sigma(\mathbf{z}_s)) \;+\; \lambda \, T^2 \, \mathcal{L}_{\text{KD}}(\sigma_T(\mathbf{z}_t), \sigma_T(\mathbf{z}_s)),

где \lambda \in [0,1] — коэффициент дистилляции, а \mathcal{L}_{\text{KD}} обычно выбирается как дивергенция Кульбака–Лейблера: \mathcal{L}_{\text{KD}} = D_{\text{KL}}\!\left( \sigma_T(\mathbf{z}_t) \,\|\, \sigma_T(\mathbf{z}_s) \right) = \sum_i \sigma_T(z_t)_i \log \frac{\sigma_T(z_t)_i}{\sigma_T(z_s)_i}.

Множитель T^2 компенсирует масштабирование градиентов: при больших T градиенты \partial \mathcal{L}_{\text{KD}} / \partial \mathbf{z}_s убывают пропорционально 1/T^2, поэтому умножение на T^2 сохраняет относительный вклад дистилляционной потери неизменным при изменении температуры. На практике иногда используют упрощённый вариант без T^2, подбирая \lambda эмпирически.

Выбор \lambda регулирует баланс между подражанием учителю и следованию истинным меткам. Часто полагают \lambda = 1, полностью полагаясь на мягкие метки, если учитель достаточно точен. Температуру обычно выбирают в диапазоне от 2 до 20, адаптируя её к количеству классов и уверенности учителя.

Классификация методов

Офлайн-дистилляция

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

Онлайн-дистилляция

Учитель и ученик обучаются одновременно, обычно в рамках одного цикла. Знания могут передаваться от ансамбля моделей к каждому участнику (ансамблевая дистилляция) или циркулировать между несколькими равноправными моделями (взаимное обучение, deep mutual learning). Такой подход позволяет ученику влиять на учителя и часто приводит к взаимному улучшению, но требует больших вычислительных ресурсов во время обучения. Онлайн-дистилляция особенно полезна, когда заранее готового учителя нет, или требуется обучить несколько компактных моделей одновременно.

Самодистилляция

Ученик использует собственные предсказания или внутренние представления в качестве учительских сигналов. Распространённые приёмы:

  • глубокая часть сети выступает учителем для мелкой («self-distillation from deeper layers»);
  • модель на поздних эпохах обучения служит учителем для своих ранних состояний (born-again networks);
  • агрегация предсказаний нескольких ветвей внутри одной модели.

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

Связь с другими методами сжатия

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

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

Дистилляция выигрывает в сценариях, где допустимо изменить архитектуру и важно сократить как память, так и вычислительную сложность, а также когда хотят использовать сильные стороны разных типов моделей (например, перенести знания из ансамбля в одиночную сеть). Прунинг и квантизация предпочтительнее, когда требуется сохранить исходную структуру модели или обучение ученика невозможно из-за ограничений на данные и вычислительные ресурсы.

Современные направления и прикладное значение

Дистилляция стала стандартным инструментом при развёртывании нейросетевых моделей в промышленности. В обработке естественного языка эталонным примером служит DistilBERT — версия BERT, обученная с использованием трёх сигналов: дистилляция на логитах (T), косинусное расстояние между эмбеддингами и расстояние между скрытыми состояниями. При 40%-м сокращении числа параметров DistilBERT сохраняет до 97% качества на задачах классификации и ответа на вопросы. Модели семейства TinyBERT развивают идею, применяя двухстадийную дистилляцию (общая и предметно-специфичная) и перенося знания не только на уровне выходов, но и на уровне матриц внимания и скрытых представлений.

В компьютерном зрении активно применяются дистилляция признаков (FitNets), перенос внимания (attention transfer) и дистилляция отношений между объектами (relational knowledge distillation). Эти методы позволяют обучать компактные архитектуры типа MobileNet или EfficientNet от больших учителей, сохраняя точность в задачах классификации, детекции и сегментации.

Дистилляция больших языковых моделей (LLM) сталкивается с особыми трудностями, вызванными авторегрессионным характером генерации текста. Стандартная дистилляция на уровне next-token prediction с teacher forcing возможна, но требует осторожного подбора температуры и часто приводит к накоплению ошибок. В последние годы распространение получила дистилляция инструктивных моделей: учитель генерирует пары «инструкция — ответ», а ученик обучается на этих синтетических данных, имитируя стиль и фактические знания учителя (Alpaca, Orca). Активно исследуются методы дистилляции цепочек рассуждений (chain-of-thought distillation), направленные на перенос способности к многошаговым рассуждениям. Среди открытых проблем — сохранение фактической точности и предотвращение переноса галлюцинаций учителя, а также высокая стоимость инференса учителя при генерации больших датасетов.

Другие перспективные направления включают бесданную дистилляцию (data-free knowledge distillation), синтезирующую обучающие примеры без доступа к оригинальной выборке, кросс-модальную дистилляцию (перенос знаний между модальностями, например из изображений в текст) и дистилляцию задач (task distillation), где мягкие метки формируются ансамблем специализированных моделей для обучения многозадачного ученика.

См. также

Литература

  • Hinton G., Vinyals O., Dean J. Distilling the Knowledge in a Neural Network // NIPS Deep Learning and Representation Learning Workshop, 2015. arXiv:1503.02531 — основополагающая работа, вводящая понятия дистилляции знаний, тёмного знания и температурного сглаживания softmax.
  • Romero A., Ballas N., Kahou S. E., Chassang A., Gatta C., Bengio Y. FitNets: Hints for Thin Deep Nets // ICLR, 2015. arXiv:1412.6550 — первая работа по дистилляции через промежуточные представления (hints), положившая начало дистилляции признаков.
  • Zagoruyko S., Komodakis N. Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer // ICLR, 2017. arXiv:1612.03928 — метод переноса карт внимания, ставший стандартным подходом в дистилляции для компьютерного зрения.
  • Zhang Y., Xiang T., Hospedales T. M., Lu H. Deep Mutual Learning // CVPR, 2018. arXiv:1706.00384 — формализация онлайн-дистилляции, где равноправные модели обучаются одновременно, обмениваясь мягкими метками.
  • Furlanello T., Lipton Z. C., Tschannen M., Itti L., Anandkumar A. Born-Again Neural Networks // ICML, 2018. arXiv:1805.04770 — строгая постановка самодистилляции, при которой модель последовательно переобучается, используя собственные предсказания как целевые.
  • Chen H., Wang Y., Xu C., Yang Z., Liu C., Shi B., Xu C., Xu C., Tian Q. Data-Free Learning of Student Networks // ICCV, 2019. arXiv:1904.01186 — первая эффективная техника бесданной дистилляции, породившая целое семейство методов генерации синтетических обучающих примеров.

Категории