Pruning и distillation на собеседовании Data Scientist
Карьерник — 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 0Threshold — выбирается, чтобы 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% качества.
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.
Связанные темы
- Квантование LLM на собесе DS
- BERT vs GPT на собесе DS
- CNN-архитектуры на собесе DS
- MLOps на собесе DS
- Подготовка к собесу Data Scientist
FAQ
Distillation на любую модель?
Да. Применимо к классификаторам, NER, NMT, LLM. Главное — есть teacher с soft predictions.
Это официальная информация?
Нет. Статья основана на работах Hinton 2015 (distillation), Frankle 2018 (lottery ticket).
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.