Встречается на собеседованиях • сегодня

Что такое дистилляция модели

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

Как работает:

  1. Учитель обучается на исходных данных.
  2. Ученик обучается на "мягких" предсказаниях учителя (soft targets) вместо жестких меток. Это помогает перенять не только итоговые ответы, но и распределение уверенности модели.

Пример с кодом (PyTorch):

python
# Loss для дистилляции (Temperature Scaling)
def distillation_loss(student_logits, teacher_logits, temperature=2.0):
    soft_teacher = F.softmax(teacher_logits / temperature, dim=-1)
    soft_student = F.log_softmax(student_logits / temperature, dim=-1)
    return F.kl_div(soft_student, soft_teacher, reduction='batchmean') * (temperature ** 2)

Плюсы:

  • Уменьшение размера модели без сильной потери точности.
  • Возможность использовать ансамбли моделей в продакшене.

Минусы:

  • Требует предобученного учителя.
  • Качество зависит от температуры и архитектуры ученика.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы