Zubnet AIApprendreWiki › Recherche en faisceau
Fondamentaux

Recherche en faisceau

Aussi appelé : Beam Search
Une stratégie de décodage qui maintient plusieurs séquences candidates (le "faisceau") simultanément, étendant chacune d'un token à chaque étape et ne gardant que les candidates les mieux notées. Contrairement au décodage glouton (toujours choisir le meilleur token suivant) ou à l'échantillonnage (choisir aléatoirement), la recherche en faisceau explore plusieurs chemins et trouve la séquence globale de plus haute probabilité. Couramment utilisée pour la traduction et la synthèse.

Pourquoi c'est important

La recherche en faisceau montre que le meilleur choix local n'est pas toujours le meilleur globalement. Le décodage glouton pourrait choisir "The" comme premier mot quand "In" aurait mené à une bien meilleure phrase dans l'ensemble. En gardant plusieurs candidats, la recherche en faisceau évite de s'engager trop tôt. Cependant, pour la génération ouverte (chat, écriture créative), l'échantillonnage produit un texte plus diversifié et naturel que la recherche en faisceau.

En profondeur

L'algorithme : maintenir un faisceau de largeur k (ex : k=5). À chaque étape, étendre chaque candidat par tous les tokens suivants possibles, noter les séquences résultantes, et garder les k meilleures. Continuer jusqu'à ce que tous les candidats aient généré un token de fin ou atteint une limite de longueur. Retourner la séquence complète la mieux notée. La largeur du faisceau k fait le compromis qualité vs. calcul : k=1 est le décodage glouton, un k plus grand explore plus de chemins mais coûte k fois plus de calcul.

Le problème de la pénalité de longueur

La recherche en faisceau brute favorise les séquences plus courtes (moins de tokens = moins de multiplications de probabilités = probabilité totale plus élevée). Une pénalité de longueur (diviser le score par longueur^α) contrecarre ce biais, encourageant le modèle à générer des sorties complètes et bien formées plutôt que de couper court. Le facteur de pénalité α est un hyperparamètre : α=0 est pas de pénalité, α=1 normalise complètement par la longueur. Les valeurs typiques sont 0.6–1.0.

Quand utiliser la recherche en faisceau

La recherche en faisceau fonctionne mieux pour les tâches avec une "bonne" réponse (traduction, synthèse, génération structurée) où tu veux la sortie la plus probable. Elle fonctionne mal pour les tâches créatives ou conversationnelles où la diversité compte — la recherche en faisceau tend à produire du texte générique et répétitif parce que les séquences de haute probabilité sont souvent ennuyeuses. Les interfaces LLM modernes utilisent l'échantillonnage (avec température et top-p) pour le chat, et la recherche en faisceau est surtout utilisée en interne pour des tâches spécifiques comme la génération d'appels d'outils.

Concepts connexes

← Tous les termes
← Raisonnement Recherche sémantique →