Distillation de connaissances

IA / LLM 🔴 Senior

Dé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.
#ia#entrainement#optimisation

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre