Урок 17

Knowledge Distillation

Знания большой модели, скорость маленькой

Проблема: Вашей продакшен-системе нужно классифицировать тысячи запросов в секунду, но лучшая модель (175B параметров) стоит $0.03 за запрос и отвечает 2 секунды. Нужно то же качество за 1/10 стоимости и в 10 раз быстрее. Как сжать знания гигантской модели в что-то развёртываемое?

Решение: Knowledge Distillation — Учим маленькие модели думать как большие

Большие модели вроде GPT-4 и Claude очень точны, но дороги и медленны для продакшена. Knowledge distillation решает это, обучая маленькую student-модель имитировать большую teacher-модель. Ключевая идея — использование soft labels — полного распределения вероятностей teacher по всем классам — вместо просто правильного ответа. Параметр temperature T смягчает эти распределения, делая маленькие вероятности видимыми. Это раскрывает dark knowledge: информацию, скрытую в "неправильных" ответах teacher, которая подсказывает student, какие классы похожи друг на друга. Функция потерь комбинирует soft loss (от teacher) с hard loss (ground truth): L = alpha * L_soft + (1-alpha) * L_hard.

Представьте это как опытного шеф-повара, обучающего новичка — не просто рецепт (hard label: "это суп"), а нюансы: "это 70% техника супа, 20% метод соуса, 10% подход рагу" (soft labels). Новичок учится не только правильному ответу, но и почему другие ответы частично верны:

  • 1. Teacher генерирует soft-предсказания: Большая teacher-модель выдаёт распределения вероятностей по всем классам для каждого входа — не только top-1 предсказание, но полное распределение, показывающее уверенность в каждом варианте
  • 2. Temperature смягчает распределение: Параметр T > 1 «сглаживает» распределение, делая маленькие вероятности виднее. При T=1 доминирует top-класс; при T=5 dark knowledge в минорных классах становится доступным для student
  • 3. Student учится на soft + hard labels: Student-модель обучается на soft labels (от teacher, с весом alpha) и hard labels (ground truth, с весом 1-alpha). Типичный alpha: 0.5-0.7. Этот двойной сигнал даёт student и интуицию teacher, и фактическую корректность
  • 4. Student развёртывается самостоятельно: После обучения student-модель работает самостоятельно — teacher не нужен при инференсе. Результат: модель в 2-10 раз меньше и быстрее, с 90-99% качества teacher на целевой задаче

Knowledge Distillation на практике

  • Мобильное развёртывание: DistilBERT сохраняет 97% качества BERT при 40% меньшем размере и 60% более быстром инференсе. Это делает трансформерные модели пригодными для on-device приложений вроде предиктивного ввода и перевода в реальном времени
  • Снижение затрат: Компании вроде Microsoft (серия Phi) и Meta (Llama) используют дистилляцию для создания моделей, работающих на потребительских GPU. Дистиллированная модель на 7B может сравняться с 70B teacher на конкретных задачах при 1/10 стоимости инференса
  • Инференс в реальном времени: Приложения, критичные к задержкам — голосовые ассистенты, автономное вождение, модерация контента в реальном времени — требуют ответа менее 100мс. Дистиллированные модели дают качество teacher в рамках строгих ограничений по задержке
  • Частая ошибка: Нельзя дистиллировать модель на 175B параметров в student на 1M — разрыв в ёмкости слишком велик. Архитектура student должна быть пропорциональна сложности задачи. Также дистилляция переносит поведение, а не знания: если teacher галлюцинирует, student тоже будет

Интересный факт: DistilBERT (2019) стал одним из первых крупных успехов дистилляции: на 40% меньше BERT, на 60% быстрее, при этом сохраняя 97% качества. Сегодня многие популярные "маленькие" LLM вроде Microsoft Phi и части семейства Llama используют дистилляцию от больших моделей как ключевой ингредиент обучения.

Попробуйте сами!

Исследуй интерактивный пайплайн дистилляции ниже: посмотри, как temperature влияет на распределение вероятностей, сравни soft и hard labels и наблюдай передачу знаний от teacher к student.

Knowledge Distillation: от teacher к student

Проследи пайплайн knowledge distillation пошагово:

Шаг 1/4

Teacher-модель

Большая предобученная модель (напр. 175B параметров) генерирует мягкие распределения вероятностей для обучающих данных

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

Что такое knowledge distillation в машинном обучении?

Knowledge distillation — это техника сжатия моделей, при которой маленькая student-модель учится имитировать большую teacher-модель. Вместо обучения на hard labels (только правильных ответах), student учится на мягком распределении вероятностей teacher-модели по всем классам. Это передаёт dark knowledge — информацию, скрытую в уровнях уверенности teacher по «неправильным» ответам.

Какую роль играет temperature в knowledge distillation?

Temperature (T) контролирует, насколько «мягким» становится распределение вероятностей на выходе teacher-модели. При T=1 (обычном) распределение пиковое — доминирует один класс. При высоком T (3-5) распределение сглаживается, раскрывая связи между классами, которые student может выучить. Это критически важно, потому что dark knowledge живёт в этих малых вероятностях, которые иначе были бы невидимы.

Насколько меньше может быть дистиллированная модель при сохранении качества?

Результаты зависят от задачи, но DistilBERT достигает 97% производительности BERT при 40% меньшем количестве параметров и 60% более быстром инференсе. На практике student-модели могут быть в 2-10 раз меньше teacher при сохранении 90-99% качества на целевых задачах. Ключ — соответствие ёмкости student сложности задачи. Task-specific distillation обычно превосходит general distillation.

Попробуй сам

Интерактивное демо этой техники

Сравнение техник
Демо режим
Предзаписанные ответы
ЗадачаСреднийАнализ

Объяснить, как knowledge distillation помогает развернуть модель на мобильном устройстве

Без техники
Без техники
Промпт
Расскажи про knowledge distillation
Ответ

Knowledge distillation — это процесс, когда маленькая модель учится у большой. Большая модель (teacher) передаёт знания маленькой (student). Это полезно для мобильных устройств.

Токены:8/35
Время:380ms
Качество:
С fundamentals-knowledge-distillation
С техникой
Промпт
Объясни knowledge distillation для конкретного сценария: - Teacher: BERT-large (340M параметров, accuracy 94% на задаче классификации email) - Student: DistilBERT (66M параметров) - Цель: запуск на смартфоне с ограничением 200мс на запрос Покажи: 1) Что teacher передаёт через soft labels, 2) Роль temperature (T=4), 3) Итоговые метрики student vs teacher.
Ответ

Knowledge Distillation: BERT-large → DistilBERT для мобильного email-классификатора

1. Soft labels от teacher: Для email "Meeting rescheduled to Friday 3pm":

  • Teacher (T=1): [Calendar: 0.89, Work: 0.06, Personal: 0.03, Spam: 0.02]
  • Teacher (T=4): [Calendar: 0.42, Work: 0.25, Personal: 0.18, Spam: 0.15]

Soft labels при T=4 показывают: "это календарное, но связано с работой и немного личное" — dark knowledge, которое student выучивает.

2. Роль temperature T=4:

  • Без T: student видит "Calendar=1, остальное=0" → не знает связей
  • T=4: student видит, что Work и Personal связаны с Calendar → лучше обрабатывает пограничные случаи

3. Итоговые метрики: | Метрика | Teacher (BERT-large) | Student (DistilBERT) | |---------|---------------------|---------------------| | Параметры | 340M | 66M (−80%) | | Accuracy | 94% | 91.3% (−2.7%) | | Latency | 450мс | 85мс (−81%) | | RAM | 1.3ГБ | 260МБ (−80%) |

👁️Расплывчатый промпт "расскажи про" даёт шаблонный ответ без деталей
🧠Конкретный сценарий (BERT → DistilBERT, email, mobile) фокусирует ответ на практике
Запрос числовых метрик (accuracy, latency, RAM) даёт измеримое сравнение вместо общих слов
Токены:65/220
Время:1200ms
Качество:
Почему это работает

Конкретный сценарий с числами (340M→66M, accuracy, latency, RAM) превращает абстрактное "расскажи про distillation" в практическое руководство. Промпт с temperature и soft labels заставляет модель показать механику, а не просто описать концепцию.

1 / 2

Квиз по уроку

1 из 4

1.Что такое "dark knowledge" в контексте knowledge distillation?

Практика

Создайте бесплатный аккаунт для решения челленджей

3 челленджей с AI-проверкой для этого урока

Связанные уроки:Fine TuningQuantizationCost Optimization

Этот урок — часть структурированного курса по LLM.

Мой путь обучения