Few-Shot (Few-Shot Learning / Few-Shot Prompting)
Le few-shot désigne la capacité d’un modèle d’IA à réaliser une tâche à partir d’un petit nombre d’exemples (typiquement 2 à 20), fournis soit dans le prompt d’un LLM, soit comme données d’entraînement minimal. Le modèle apprend le pattern à partir de ces quelques « shots » (tirs) et le généralise aux nouvelles entrées.
- Catégorie
- Machine Learning / Prompt Engineering
- Principe
- Fournir quelques exemples (2-20) pour guider le modèle sur une tâche
- Famille
- Zero-shot (0 ex.) → One-shot (1 ex.) → Few-shot (2-20 ex.) → Fine-tuning (100+ ex.)
- Deux sens
- Few-shot learning (paradigme ML) et few-shot prompting (technique pour LLMs)
- Cas d’usage principal
- Contrôler le format de sortie, calibrer le ton, guider le raisonnement sur des tâches spécialisées
- Limite pratique
- Rendements décroissants après 3-5 exemples dans la plupart des cas
Qu’est-ce que le few-shot ?
Le few-shot (« quelques tirs ») repose sur une observation simple : les humains apprennent souvent à partir de très peu d’exemples. Montrez à quelqu’un deux ou trois photos d’un animal qu’il n’a jamais vu, et il le reconnaîtra dans de nouvelles images. Le few-shot reproduit cette capacité chez les modèles d’IA.
Le terme recouvre deux concepts liés mais distincts, exactement comme pour le zero-shot. Historiquement, le few-shot learning a été popularisé en ML bien avant l’ère des LLMs, avec des recherches pionnières sur la reconnaissance d’images à partir de très peu d’exemples. Mais c’est le papier GPT-3 d’OpenAI (2020), intitulé « Language Models are Few-Shot Learners », qui a propulsé le concept dans le mainstream de l’IA en montrant qu’un LLM suffisamment grand pouvait réaliser des tâches variées avec seulement quelques exemples dans le prompt.
Few-Shot Learning : un paradigme de machine learning
Le few-shot learning (FSL) est un paradigme de machine learning où le modèle doit apprendre à réaliser une tâche à partir d’un nombre très limité d’exemples d’entraînement, typiquement entre 1 et 20 par classe. C’est l’opposé de l’apprentissage supervisé classique qui exige des centaines ou des milliers d’exemples par classe.
Les approches classiques de FSL incluent les réseaux siamois (qui apprennent à comparer des paires), les Prototypical Networks (qui apprennent des prototypes de classe), et le meta-learning (qui apprend à apprendre à partir de peu d’exemples). Ces architectures sont conçues pour les situations où collecter des données massives est impossible ou prohibitif : reconnaissance faciale à partir d’une seule photo, identification de nouvelles espèces animales, diagnostic de maladies rares.
Few-Shot Prompting : une technique pour LLMs
Le few-shot prompting est une technique de prompt engineering qui consiste à inclure quelques exemples de la tâche souhaitée directement dans le prompt envoyé à un LLM. Ces exemples servent de démonstrations qui conditionnent le modèle pour qu’il reproduise le pattern observé.
Voici un exemple concret de few-shot prompting pour la classification de sentiment :
Le modèle voit trois exemples résolus (les « shots ») puis doit appliquer le même pattern à un nouveau cas. Grâce à ces exemples, il comprend le format de sortie attendu (un seul mot), l’échelle (Positif/Négatif/Neutre), et les critères implicites de classification.
Comment fonctionne le few-shot prompting
L’in-context learning : apprendre sans modifier le modèle
Le few-shot prompting repose sur l’in-context learning (apprentissage en contexte) : la capacité d’un LLM à adapter son comportement en fonction du contenu de son prompt, sans qu’aucun de ses paramètres ne soit modifié.
C’est un point crucial à comprendre : quand vous fournissez des exemples dans un prompt, le modèle ne « s’entraîne » pas. Il n’y a pas de mise à jour de poids, pas de gradient descent. Le modèle utilise ses mécanismes d’attention pour identifier les patterns dans les exemples et les appliquer à la nouvelle entrée. C’est un apprentissage « à la volée » (on the fly) qui existe uniquement dans le contexte de cette requête.
Concrètement, le mécanisme d’attention du Transformer établit des relations entre les tokens des exemples et les tokens de la nouvelle entrée. Le modèle repère les régularités structurelles (format d’entrée → format de sortie) et les applique automatiquement.
Quand le few-shot surpasse le zero-shot
Le few-shot n’est pas toujours nécessaire. Pour les tâches simples et bien définies (résumer un texte, traduire une phrase), le zero-shot suffit souvent. Le few-shot devient indispensable dans plusieurs situations :
Contrôle du format de sortie. Si vous avez besoin d’un format spécifique (JSON structuré, tableau Markdown, extraction d’entités avec des labels précis), les exemples montrent au modèle exactement la structure attendue. C’est le cas d’usage le plus fréquent.
Tâches ambiguës ou nuancées. Quand la distinction entre catégories est subtile (sentiment positif vs neutre, pertinent vs hors-sujet), les exemples calibrent le seuil de décision du modèle.
Calibration du ton et du style. Pour que le modèle écrive dans un style spécifique (ton d’une marque, registre technique, voix d’un auteur), des exemples du style cible sont bien plus efficaces qu’une description textuelle du style souhaité.
Tâches spécialisées ou de niche. Quand la tâche est trop spécifique pour que le modèle la maîtrise en zero-shot (extraction d’entités dans un domaine très technique, classification selon des catégories propres à votre entreprise).
Bonnes pratiques du few-shot prompting
Combien d’exemples inclure ?
La recherche et la pratique convergent : les rendements sont décroissants après 2 à 5 exemples dans la majorité des cas. La progression typique est la suivante :
| Nombre d’exemples | Gain par rapport au zero-shot | Recommandation |
|---|---|---|
| 1 (one-shot) | Modeste mais mesurable | Suffisant pour calibrer le format de sortie |
| 2-3 | Significatif | Sweet spot pour la plupart des tâches |
| 4-5 | Gains marginaux supplémentaires | Utile pour les tâches nuancées |
| 6-20 | Gains très faibles | Rarement justifié, attention à la fenêtre de contexte |
Au-delà de 5 exemples, les coûts augmentent (plus de tokens = plus cher et plus lent) sans gain proportionnel. Il est généralement préférable d’investir dans la qualité des exemples plutôt que dans leur quantité.
La qualité des exemples prime sur la quantité
Diversité. Couvrez les cas limites et les différentes catégories. Si vous classifiez du texte en 3 catégories, incluez au moins un exemple de chaque catégorie.
Représentativité. Les exemples doivent refléter la distribution réelle de vos données. Si 80 % de vos données sont positives, ne mettez pas 3 exemples négatifs sur 3.
Pertinence. La recherche montre que sélectionner les exemples les plus proches sémantiquement de la nouvelle entrée améliore significativement les résultats. Des approches avancées utilisent le RAG pour récupérer dynamiquement les meilleurs exemples depuis un vector store.
Consistance du format. Tous les exemples doivent suivre exactement le même format. Si un exemple utilise « Input: » et « Output: » comme labels, tous les autres doivent faire pareil. L’incohérence de format confond le modèle.
L’ordre des exemples compte
L’ordre dans lequel vous présentez les exemples influence les résultats. Deux principes à retenir : placez les exemples les plus pertinents en premier (effet de primauté) ou en dernier (effet de récence, souvent plus fort dans les Transformers). Variez les catégories plutôt que de regrouper tous les exemples d’une même classe ensemble.
Techniques avancées de few-shot
Few-Shot Chain-of-Thought (CoT)
Le few-shot standard fonctionne bien pour les tâches de classification ou de transformation directe. Pour les tâches nécessitant un raisonnement multi-étapes, le few-shot Chain-of-Thought est plus efficace : chaque exemple montre non seulement l’entrée et la sortie, mais aussi le raisonnement intermédiaire.
En montrant le processus de raisonnement dans les exemples, le modèle apprend à expliciter ses étapes de réflexion, ce qui réduit les erreurs sur les problèmes complexes.
Dynamic Few-Shot avec RAG
Au lieu d’utiliser les mêmes exemples pour toutes les requêtes, le dynamic few-shot sélectionne automatiquement les exemples les plus pertinents pour chaque entrée. Le processus est le suivant : tous les exemples possibles sont stockés dans un vector store. Quand une nouvelle requête arrive, une recherche sémantique identifie les exemples les plus proches, qui sont ensuite injectés dans le prompt.
Cette approche, qui combine few-shot prompting et RAG (Retrieval-Augmented Generation), est particulièrement efficace quand vous avez un grand catalogue d’exemples couvrant des situations variées. IBM recommande cette méthode pour les déploiements en production.
Few-shot par messages multiples
Dans les interfaces de chat (ChatGPT, Claude, Gemini), vous pouvez simuler le few-shot en « pré-cuisant » des échanges user/assistant avant votre vraie requête. Au lieu de mettre tous les exemples dans un seul message, vous créez une fausse conversation où l’utilisateur pose des questions similaires et l’assistant répond dans le format souhaité. Cette approche peut être plus efficace car elle colle au format conversationnel natif des modèles de chat.
Few-shot vs Zero-shot vs Fine-tuning
| Critère | Zero-shot | Few-shot | Fine-tuning |
|---|---|---|---|
| Exemples nécessaires | 0 | 2-20 | 100-100 000+ |
| Modification du modèle | Non | Non | Oui (poids ajustés) |
| Coût de mise en place | Minimal | Faible (rédaction d’exemples) | Élevé (données + compute + pipeline) |
| Coût par requête | Bas | Moyen (plus de tokens) | Bas (modèle optimisé) |
| Adaptabilité | Immédiate | Immédiate | Nécessite un réentraînement |
| Performance max | Baseline | Bonne à très bonne | Optimale |
| Tâches complexes | Limité | Bon (avec CoT) | Excellent |
La stratégie progressive reste la norme : zero-shot en premier, puis few-shot si nécessaire, et fine-tuning en dernier recours. Cette approche, recommandée par Microsoft et validée par la pratique, minimise les coûts tout en maximisant les résultats.
Applications concrètes du few-shot
Classification de contenu. Classifier des emails, tickets support, avis clients dans des catégories spécifiques à votre entreprise. Quelques exemples suffisent à calibrer le modèle sur vos catégories custom. C’est probablement l’application la plus courante en production : une entreprise définit ses propres catégories (« réclamation livraison », « question facturation », « demande technique »), fournit 2-3 exemples de chaque, et le modèle classifie automatiquement le flux entrant.
Extraction d’entités (NER). Extraire des noms de produits, des montants, des dates, des numéros de commande depuis du texte non structuré. Le few-shot est particulièrement efficace car les exemples montrent exactement quelles entités extraire et dans quel format. Une étude de cas sur l’extraction de noms de compagnies aériennes depuis des tweets montre que le few-shot prompting surpasse significativement le zero-shot sur cette tâche d’extraction structurée.
Génération de contenu stylisé. Écrire dans le ton d’une marque, reproduire un style rédactionnel, adapter le registre de langue. Les exemples de style cible sont plus efficaces que des instructions descriptives.
Transformation de données. Convertir des données d’un format à un autre (texte libre → JSON structuré, CSV → Markdown, description → requête SQL). Les exemples montrent la correspondance entrée/sortie.
Détection de fatigue et capteurs IoT. Des recherches récentes montrent que le few-shot prompting s’applique aussi à des données non textuelles. Des travaux de 2025 utilisent le few-shot avec GPT-4o-mini pour classifier des données d’accéléromètre et détecter la fatigue, avec 2 à 5 exemples sélectionnés par pertinence sémantique.
Limites et pièges du few-shot
Coût en tokens. Chaque exemple consomme des tokens. Avec 5 exemples détaillés, votre prompt peut facilement atteindre 1 000-2 000 tokens avant même la requête, augmentant le coût et la latence. Gardez les exemples concis.
Fenêtre de contexte. Les exemples occupent de l’espace dans la fenêtre de contexte. Sur un modèle avec une fenêtre de 8K tokens, 5 exemples longs peuvent ne laisser que peu de place pour la vraie tâche. Les modèles actuels (1M tokens chez Gemini, Claude) atténuent ce problème, mais la longueur du prompt impacte toujours la latence.
Biais d’exemples. Les exemples introduisent des biais. Si tous vos exemples sont positifs, le modèle biaisera vers les réponses positives. La diversité et la représentativité des exemples sont cruciales.
Le few-shot ne résout pas tout. Pour les tâches qui nécessitent des connaissances spécialisées profondes ou un raisonnement très complexe, le few-shot a ses limites. Le fine-tuning ou le RAG sont alors plus adaptés.
Fausse sécurité. Un modèle qui reproduit correctement le format des exemples peut donner l’impression de comprendre la tâche alors qu’il ne fait que du pattern matching superficiel. Testez toujours sur des cas limites et des distributions différentes de vos exemples.
Le few-shot en 2026
Le few-shot prompting est devenu une compétence fondamentale pour quiconque travaille avec des LLMs. Quelques tendances majeures :
Le dynamic few-shot devient la norme en production. Les déploiements sérieux ne hardcodent plus des exemples statiques. Ils utilisent des vector stores et du RAG pour sélectionner automatiquement les exemples les plus pertinents pour chaque requête. Cette approche combine la précision du few-shot avec la scalabilité d’un système automatisé.
Les fenêtres de contexte massives changent la donne. Avec 1M tokens chez Claude Opus 4.6 et Gemini 3.1 Pro, la contrainte historique du few-shot (trop d’exemples saturent le contexte) s’est largement estompée. On peut désormais inclure des dizaines d’exemples détaillés sans problème. Mais les rendements décroissants restent : 5 bons exemples battent 50 exemples médiocres.
La frontière few-shot / fine-tuning se brouille. Des techniques comme le parameter-efficient fine-tuning (LoRA) permettent d’adapter un modèle avec très peu de données (quelques centaines d’exemples) à un coût proche de celui du prompting. La question n’est plus « few-shot ou fine-tuning ? » mais « quel est le bon point sur le spectre pour mon cas d’usage ? ».
Questions fréquentes sur le few-shot
Combien d’exemples faut-il pour du few-shot prompting ?
La recherche montre que les rendements sont décroissants après 2 à 3 exemples pour la plupart des tâches. Commencez avec 2-3 exemples couvrant les principaux cas de figure. Si les résultats sont insuffisants, montez à 5. Au-delà de 5, les gains sont rarement significatifs et le coût en tokens augmente. La qualité et la diversité des exemples importent beaucoup plus que leur quantité. Un seul exemple bien choisi et pertinent vaut souvent mieux que 10 exemples génériques.
Quelle est la différence entre few-shot learning et few-shot prompting ?
Le few-shot learning est un paradigme de machine learning où l’on entraîne une architecture spécialisée (Prototypical Networks, MAML, réseaux siamois) pour apprendre à partir de très peu de données. Le few-shot prompting est une technique d’utilisation d’un LLM déjà entraîné : on inclut quelques exemples dans le prompt pour guider le modèle, sans modifier ses paramètres. Le prompting est plus simple à mettre en oeuvre, le learning est plus flexible sur les architectures mais plus complexe à implémenter.
Le few-shot est-il toujours meilleur que le zero-shot ?
Non, pas toujours. Pour les tâches simples et bien définies (résumé, traduction, questions factuelles), le zero-shot est souvent suffisant et le few-shot n’apporte qu’un gain marginal. Le few-shot brille quand vous avez besoin d’un format de sortie précis, d’un ton spécifique, ou quand la tâche est ambiguë. Exception notable : le Zero-shot Chain-of-Thought (« pensons étape par étape ») surpasse le few-shot standard sur les tâches de raisonnement arithmétique.
Comment choisir les meilleurs exemples pour le few-shot ?
Trois critères clés. Premièrement, la diversité : couvrez toutes les catégories et les cas limites. Deuxièmement, la pertinence : sélectionnez des exemples proches sémantiquement de la requête réelle (le dynamic few-shot avec RAG automatise cela). Troisièmement, la consistance : gardez un format identique entre tous les exemples. L’ordre compte aussi : placez les exemples les plus représentatifs en premier ou en dernier position. Pour les déploiements en production, utilisez un vector store et le RAG pour sélectionner automatiquement les meilleurs exemples par requête.
Le few-shot fonctionne-t-il pour autre chose que du texte ?
Oui. En vision par ordinateur, le few-shot learning classique (réseaux siamois, Prototypical Networks) reconnaît des objets à partir de très peu d’images. En audio, le few-shot permet de cloner une voix à partir de quelques secondes d’échantillon. Des recherches récentes de 2025 montrent même que le few-shot prompting peut s’appliquer à des données de capteurs IoT (accéléromètres, données de fatigue) en passant par les LLMs. Le principe reste le même : quelques exemples suffisent pour guider le modèle vers la bonne réponse.