Beam Search : Définition et Exemples
Le Beam Search est un algorithme de décodage utilisé par les modèles de langage pour générer du texte en explorant simultanément plusieurs séquences candidates, afin de trouver la sortie la plus probable.
Définition complète
Le Beam Search (recherche en faisceau) est une stratégie de décodage heuristique utilisée lors de la génération de texte par les modèles de langage. Plutôt que de choisir uniquement le mot le plus probable à chaque étape (approche gloutonne), l'algorithme maintient en parallèle plusieurs hypothèses partielles appelées "faisceaux" (beams), ce qui permet d'explorer un espace de solutions plus large.
Le fonctionnement est le suivant : à chaque étape de génération, le modèle calcule les probabilités de tous les tokens possibles pour chaque faisceau actif. Il ne conserve ensuite que les k séquences les plus probables, où k est la "largeur du faisceau" (beam width). Ce paramètre contrôle le compromis entre qualité de la sortie et coût de calcul. Une largeur de 1 équivaut à une recherche gloutonne, tandis qu'une largeur infinie correspondrait à une recherche exhaustive.
En pratique, le Beam Search produit des textes plus cohérents et grammaticalement corrects que le décodage glouton, car il évite les choix localement optimaux qui mènent à des impasses. Cependant, il tend à générer des textes plus génériques et répétitifs que les méthodes d'échantillonnage stochastique comme le top-k ou le top-p sampling, car il favorise systématiquement les séquences à haute probabilité.
Cet algorithme est particulièrement utilisé dans les tâches où la précision prime sur la créativité, comme la traduction automatique, le résumé de texte ou la reconnaissance vocale. Dans le contexte du prompt engineering, comprendre le Beam Search aide à choisir les bons paramètres de génération selon l'objectif visé.
Étymologie
Le terme "Beam Search" provient de l'analogie avec un faisceau lumineux (beam en anglais) qui éclaire simultanément plusieurs chemins possibles dans un arbre de recherche. L'algorithme a été développé dans les années 1970 dans le domaine de l'intelligence artificielle et de la recherche opérationnelle, avant d'être largement adopté en traitement automatique du langage naturel.
Exemples concrets
Traduction automatique où la précision est essentielle
Traduis ce texte juridique en anglais avec une grande fidélité au sens original. Utilise un décodage beam search avec une largeur de 5 pour maximiser la précision.
Génération de résumés factuels à partir d'un document
Résume cet article scientifique en 3 phrases. Privilégie la précision factuelle plutôt que la créativité.
Comparaison des stratégies de décodage via l'API d'un LLM
Génère deux versions de cette réponse : une avec temperature=0 (déterministe, similaire au beam search) et une avec temperature=0.9 (créative). Compare les résultats.
Usage pratique
En prompt engineering, le Beam Search influence indirectement vos résultats lorsque vous réglez les paramètres de génération. Fixer une température basse (proche de 0) produit un comportement similaire au Beam Search : des réponses précises et prévisibles. Utilisez cette approche pour les tâches factuelles (résumés, traductions, extraction de données) et préférez des méthodes d'échantillonnage plus créatives pour le brainstorming ou la rédaction narrative.
Concepts liés
FAQ
Quelle est la différence entre le Beam Search et le Greedy Search ?
Pourquoi le Beam Search génère-t-il parfois des textes répétitifs ?
Peut-on utiliser le Beam Search avec ChatGPT ou Claude ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.