Pruning и distillation на собеседовании Data Scientist

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем разбирать на собесе

Compression — must-have для production ML на edge / mobile / при cost constraints. На собесе DS / MLE: «как работает distillation», «отличия pruning».

Pruning: идея

Удалить «неважные» weights из модели — снижает размер, ускоряет inference.

Magnitude pruning. Самый простой. Удаляем weights с наименьшим |w|.

weights ≤ threshold → set to 0

Threshold — выбирается, чтобы pruning rate был X% (e.g., 50%).

Iterative pruning. Pruning + fine-tune + повторять. Лучше качество, чем one-shot.

Lottery Ticket Hypothesis (Frankle 2018). Внутри over-parameterized сети есть «lottery ticket» — sparse subnetwork, который может быть тренирован с нуля. Спорная гипотеза, но повлияла на field.

Unstructured vs structured

Unstructured. Удаляем individual weights. Sparse matrix.

  • Преимущество: больше compression при equal accuracy.
  • Минус: real speedup только с specialized hardware (sparse GPU kernels).

Structured. Удаляем целые группы (filters, channels, attention heads).

  • Преимущество: real speedup на standard GPU.
  • Минус: меньше compression.

В production предпочитают structured — без специального hardware всё равно ускорение.

Knowledge distillation

Teacher (большая модель) учит student (маленькую модель).

Идея. Soft labels от teacher несут больше информации, чем hard labels.

teacher → soft predictions (например, [0.7, 0.2, 0.1])
student учится воспроизводить soft predictions

Loss = α · CE(student, hard_labels) + (1-α) · KL(student, teacher)

Часто использует temperature τ для smoothing distributions:

softmax(logits / τ)

Преимущества:

  • Student гораздо меньше teacher (10×, 100×).
  • Качество student иногда близко к teacher.
  • Добавляет regularization.

DistilBERT. Distilled BERT — 40% меньше, 60% быстрее, 97% качества.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Distillation для LLM

Современная прежде popular техника:

  • Distillation от GPT-4 в open source модель.
  • Self-distillation — модель учится у себя (большая → маленькая того же семейства).
  • Synthetic data distillation. Teacher генерирует training data, student учится.

Примеры:

  • Phi-3 (Microsoft) — small but performant через distillation.
  • Llama-3 8B — distillation признаков из 70B.

Combination с quantization

Compression стек: pruning → distillation → quantization.

Original (FP32, 100% weights)
    ↓ structured pruning 30%
Pruned (FP32, 70% weights)
    ↓ distillation
Smaller (FP32)
    ↓ INT8 quantization
Final (INT8, 70% weights, much smaller)

Компаундированное снижение size + latency.

Частые ошибки

Pruning без fine-tune. Качество резко падает. Iterative pruning + retrain.

Слишком aggressive pruning. > 80% — обычно потеря accuracy.

Distillation на neправильной задаче. Teacher не может обучиться на all data — student обучится на её ошибки.

Игнорировать temperature. Soft labels с τ=1 — почти hard. τ=2-5 чаще.

Сравнение compressed без latency benchmark. «Меньше weights» != «быстрее inference». Нужен real measurement.

Связанные темы

FAQ

Distillation на любую модель?

Да. Применимо к классификаторам, NER, NMT, LLM. Главное — есть teacher с soft predictions.

Это официальная информация?

Нет. Статья основана на работах Hinton 2015 (distillation), Frankle 2018 (lottery ticket).


Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.