Imaginez un assistant à qui vous montrez deux ou trois exemples résolus avant de lui poser votre vraie question — et qui, sans jamais avoir été réentraîné, comprend immédiatement le motif et le reproduit. C'est exactement cela l'apprentissage en contexte (In-Context Learning, ICL) : la faculté qu'ont les grands modèles de langage d'apprendre une tâche directement à partir des exemples placés dans le prompt, sans aucune mise à jour de leurs poids.
Apprendre sans réentraîner
Contrairement au fine-tuning, qui modifie réellement les paramètres du modèle, l'ICL ne touche à rien. Tout se joue au moment de l'inférence : les exemples fournis (les démonstrations) conditionnent la prédiction. On distingue trois régimes selon le nombre d'exemples :
| Régime | Exemples fournis | Usage typique |
|---|---|---|
| Zero-shot | 0 | Instruction seule |
| One-shot | 1 | Donner le format attendu |
| Few-shot | 2 à ~50 | Stabiliser un motif complexe |
Comment ça marche
Le modèle estime la suite la plus probable conditionnée par tout le contexte fourni :
$$ P(y \mid x, \; {(x_1, y_1), \dots, (x_k, y_k)}) $$
Les paires d'exemples agissent comme un gabarit implicite : le modèle infère la règle sous-jacente puis l'applique à la nouvelle entrée $x$. C'est une propriété émergente, observée surtout à grande échelle.
Forces et limites
- Avantages : aucune donnée d'entraînement, adaptation instantanée, idéal pour le prototypage.
- Limites : sensibilité à l'ordre et au choix des exemples, fenêtre de contexte bornée, résultats moins stables qu'un modèle spécialisé.
L'apprentissage en contexte transforme le prompt lui-même en interface de programmation : on ne reconfigure plus le modèle, on lui montre l'exemple.