Apprentissage en contexte
L' apprentissage en contexte (en anglais In-Context Learning, ICL) est la capacité fondamentale des grands modèles de langage (LLM) d'apprendre de nouvelles tâches « à la volée », en utilisant uniquement des exemples (démonstrations) fournis dans le contexte (prompt) de la requête. La caractéristique clé est que ce processus d'adaptation se produit sans mise à jour des poids (paramètres) du modèle, c'est-à-dire sans l'entraînement supplémentaire traditionnel (fine-tuning)[1][2].
Ce mécanisme permet aux modèles de faire preuve d'une flexibilité remarquable, en résolvant des tâches pour lesquelles ils n'ont pas été spécifiquement entraînés. L'ICL est devenu l'une des avancées majeures qui ont rendu les grands modèles de langage si puissants et polyvalents[3].
Mécanismes de fonctionnement
La compréhension exacte du fonctionnement de l'ICL reste un domaine de recherche actif, mais plusieurs théories principales expliquent ce phénomène.
Le Transformer en tant que méta-optimiseur
Une théorie populaire suggère que l'architecture Transformer, lors du pré-entraînement, apprend à implémenter des algorithmes d'apprentissage dans ses passes directes (forward passes). Lorsque le modèle reçoit un prompt avec des exemples, il effectue implicitement une sorte d'optimisation pour résoudre la tâche présentée, en ajustant ses états internes (activations) plutôt que ses poids[4].
Inférence bayésienne
Une autre théorie considère l'ICL comme une forme d'inférence bayésienne. Le modèle, pré-entraîné sur d'immenses corpus de données, possède une connaissance a priori d'un grand nombre de concepts. Les exemples fournis dans le contexte servent de preuves qui permettent au modèle d'affiner sa distribution de probabilité a posteriori sur les concepts latents. En d'autres termes, les exemples aident le modèle à « comprendre » laquelle des milliers de tâches qu'il connaît doit être résolue à ce moment précis[5].
Types d'apprentissage en contexte
Selon le nombre d'exemples fournis, l'ICL est divisé en trois types principaux.
- Apprentissage few-shot (apprentissage à partir de quelques exemples): C'est l'approche la plus courante et la plus équilibrée. Le modèle reçoit quelques exemples de démonstration (généralement de 2 à 10).
Exemple (classification de sentiment) :
Texte : "Quelle magnifique journée !" Sentiment : Positif Texte : "Je déteste être coincé dans les embouteillages." Sentiment : Négatif Texte : "Ce film était plutôt moyen." Sentiment :
Réponse attendue :
Neutre
- Apprentissage one-shot (apprentissage à partir d'un seul exemple): Le modèle ne reçoit qu'un seul exemple. Cela suffit souvent à définir le format de la réponse et à améliorer considérablement les performances par rapport à l'approche zero-shot.
- Apprentissage zero-shot (apprentissage sans exemple): Le modèle ne reçoit aucun exemple, seulement une instruction ou une description de la tâche. Dans ce cas, le modèle s'appuie entièrement sur les connaissances acquises lors de son pré-entraînement.
Application pratique
Une application correcte de l'ICL permet de résoudre un large éventail de tâches sans nécessiter un développement et un fine-tuning coûteux.
- Pour les tâches créatives et stylistiques (génération de code dans un style spécifique, rédaction de texte à la manière d'un auteur particulier) :
- L' apprentissage few-shot est recommandé.
- Les exemples aident le modèle à saisir le style, le format et la structure de sortie souhaités.
- Pour les tâches simples avec des instructions claires (traduction, résumé, réponse à des questions simples) :
- L' apprentissage zero-shot est souvent suffisant.
- Les modèles modernes gèrent assez bien ces tâches si elles faisaient partie de leur pré-entraînement.
- Pour les tâches où le format de sortie est important (génération de JSON, extraction d'entités) :
- L' apprentissage one-shot ou few-shot est recommandé.
- Même un seul exemple peut définir clairement la structure de réponse requise, évitant ainsi les erreurs de formatage.
Avantages et inconvénients
| Avantages | Inconvénients |
|---|---|
|
|
Comparaison avec d'autres paradigmes
ICL vs. Fine-tuning
Le fine-tuning (ajustement fin) modifie les poids du modèle, y « gravant » de nouvelles connaissances. Cela rend le modèle expert dans un domaine étroit, mais réduit sa flexibilité générale. L'ICL, au contraire, ne modifie pas les poids et est plus flexible, mais peut être moins performant sur des tâches très spécialisées nécessitant une connaissance approfondie du domaine.
ICL vs. RAG (Retrieval-Augmented Generation)
Les deux méthodes étendent le contexte du modèle, mais à des fins différentes :
- ICL utilise des exemples pour apprendre au modèle comment effectuer une tâche (démonstration de compétence).
- RAG utilise des informations récupérées pour informer le modèle des faits nécessaires à la réponse (fourniture de connaissances).
En pratique, l'ICL et le RAG sont souvent combinés pour obtenir les meilleurs résultats.
Bibliographie
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.
- Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.
- Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.
- Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.
- Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.
- Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.
- Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.
- Yu, Z.; Ananiadou, S. (2024). How Do Large Language Models Learn In-Context? Query and Key Matrices of In-Context Heads Are Two Towers for Metric Learning. arXiv:2402.02872.
- Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.
- Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.
- Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.
Notes
- ↑ What is In-Context Learning (ICL)? // Lakera.ai
- ↑ In-Context Learning (ICL) // Hopsworks.ai
- ↑ In-Context Learning, In Context // The Gradient
- ↑ Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers // arXiv, 2022.
- ↑ Understanding In-Context Learning // Stanford Human-Centered AI, 2023.