Top-k sampling (FR)

From Systems analysis wiki
Jump to navigation Jump to search

L'échantillonnage Top-k (Top-k sampling) est une méthode de décodage stochastique utilisée dans les grands modèles de langage (LLM) pour la génération de texte. Son objectif principal est de limiter la sélection du token suivant à un nombre fixe (k) de candidats les plus probables, ce qui permet d'éviter la génération de mots improbables et souvent inappropriés. Cette méthode a été l'une des premières améliorations de l'échantillonnage aléatoire simple et a longtemps été un moyen populaire d'améliorer la cohérence du texte généré.

Concept et mathématiques

À chaque étape de la génération de texte, un modèle de langage standard produit une distribution de probabilité P(x|x1:i1) sur l'ensemble du vocabulaire V. L'échantillonnage Top-k modifie ce processus de la manière suivante :

1. Sélection des candidats : Un sous-ensemble V(k) est sélectionné à partir du vocabulaire complet, contenant les k tokens ayant les probabilités les plus élevées.

2. Troncature : Les probabilités de tous les tokens n'appartenant pas à V(k) sont mises à zéro.

3. Re-distribution (normalisation) : Les probabilités des k tokens restants sont remises à l'échelle de sorte que leur nouvelle somme soit égale à 1.

4. Échantillonnage : Le token suivant est sélectionné de manière aléatoire à partir de cette nouvelle distribution tronquée.

Ainsi, le Top-k introduit un seuil strict sur le nombre de candidats : les mots dont le rang de probabilité est inférieur à k ne seront jamais choisis.

Influence du paramètre k

  • Petit k (par exemple, k=510) : Rend la génération plus conservatrice et prévisible. Le modèle ne choisit que parmi un ensemble très limité des mots les plus probables. Cela augmente la cohérence, mais peut conduire à un texte répétitif et peu original.
  • Grand k (par exemple, k=50100) : Augmente la diversité et la créativité du texte, car un plus grand nombre de variantes est inclus dans l'échantillon. Cependant, cela augmente également le risque d'inclure des tokens moins pertinents ou inappropriés.
  • Cas limites :
    • k=1 : Équivaut au décodage glouton (greedy decoding). Le modèle choisit toujours le token le plus probable.
    • k = taille du vocabulaire : Équivaut à un échantillonnage standard à partir de la distribution complète, sans troncature.

Contexte historique

La méthode Top-k a été formellement proposée en 2018 par Angela Fan et ses collègues comme une solution efficace au problème de la dégradation de la qualité du texte lors de l'utilisation d'un échantillonnage aléatoire complet. Ils ont démontré que limiter la sélection à un petit nombre de candidats améliorait considérablement la cohérence et le sens des histoires générées.

Par exemple, dans les premières versions de GPT-2, un paramètre `top_k=40` était utilisé, ce qui permettait au modèle de générer des textes longs et cohérents, un résultat inatteignable avec les méthodes antérieures.

Comparaison avec d'autres méthodes de décodage

Top-k vs. Top-p

Le Top-k a été largement supplanté par une méthode plus avancée : l' échantillonnage Top-p (nucleus sampling).

  • Le principal inconvénient du Top-k est son manque d'adaptabilité. La valeur fixe de k ne tient pas compte de la forme de la distribution de probabilité :
    • Lorsque la distribution est pointue (le modèle est très confiant dans un petit nombre de tokens), le Top-k peut élargir artificiellement l'ensemble de sélection en y incluant des candidats improbables.
    • Lorsque la distribution est plate (le modèle est incertain et de nombreux tokens ont des probabilités similaires), le Top-k peut écarter prématurément de nombreuses options pertinentes.
  • Le Top-p, au contraire, adapte dynamiquement la taille de l'échantillon en sélectionnant les tokens en fonction de leur probabilité cumulée. Cela le rend plus flexible et plus fiable.

Top-k vs Température

  • La température modifie la forme de l'ensemble de la distribution de probabilité, mais ne tronque pas les tokens. Elle affecte les probabilités relatives de tous les candidats.
  • Le Top-k introduit une troncature stricte, excluant complètement les tokens en dehors du top-k.

En pratique, le Top-k peut être utilisé en combinaison avec la température : d'abord, la température modifie la distribution, puis le Top-k tronque les candidats.

Application pratique

Bien que l'échantillonnage Top-p soit aujourd'hui considéré comme préférable, le Top-k est encore utilisé dans certains cas, notamment lorsqu'un contrôle simple et intuitif de la taille de l'échantillon est requis.

  • Valeurs typiques : En pratique, des valeurs de k allant de 20 à 100 sont utilisées, en fonction de l'équilibre souhaité entre cohérence et diversité.
  • Recommandations : Pour la plupart des tâches, il est recommandé d'utiliser le Top-p. Si le Top-k est tout de même employé, il doit être combiné avec une température modérée, et la valeur de k doit être soigneusement choisie en fonction de la tâche spécifique.

Références

  • Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Holtzman, A. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o.
  • Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
  • O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
  • Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
  • Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
  • Yu, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
  • Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods. arXiv:2410.03968.
  • Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.

Voir aussi