Distillation de connaissances
IA / LLM 🔴 SeniorDéfinition
Entraîner un petit modèle « élève » à reproduire les sorties (distributions de probabilités ou réponses) d'un grand modèle « professeur ». Hinton, Vinyals et Dean (soumis le 9 mars 2015) montrent qu'on compresse ainsi un ensemble de réseaux en un seul modèle plus facile à déployer. C'est la méthode derrière les variantes « mini », « flash » ou « lite » des familles de modèles.
Analogie
Un maître qui écrit un manuel condensé pour que l'apprenti donne les mêmes réponses sans vingt ans d'expérience.
Exemple de code
import torch.nn.functional as F
def distill_loss(student_logits, teacher_logits, labels, T=2.0, alpha=0.7):
# Soft targets : le professeur adouci par la température T
soft = F.kl_div(
F.log_softmax(student_logits / T, dim=-1),
F.softmax(teacher_logits / T, dim=-1),
reduction='batchmean') * (T * T)
hard = F.cross_entropy(student_logits, labels) # vraies étiquettes
return alpha * soft + (1 - alpha) * hard
Cas d'usage
Obtenir un modèle rapide et bon marché pour la production, entraîné sur les sorties d'un modèle frontière.
Anti-pattern
Distiller à partir des sorties d'une API propriétaire sans lire ses conditions d'utilisation.
Termes liés
Sources
Fiche mise à jour le 2026-09-27