- Guide complet sur les méthodes d’échantillonnage des grands modèles de langage (LLM), expliqué de façon accessible même aux débutants
- Explication détaillée de ce qu’est un token, pourquoi on l’utilise à la place des mots, et de la manière dont un modèle génère du texte
- L’échantillonnage est le processus qui permet de régler la diversité et le naturel de la sortie, et l’article présente divers algorithmes d’échantillonnage comme Temperature, Top-K, Top-P, DRY
- Chaque technique d’échantillonnage est expliquée avec une description conceptuelle ainsi que ses principes de fonctionnement mathématiques et algorithmiques, avec une comparaison de ses effets sur la prévention des répétitions, l’amélioration de la créativité et l’ajustement de la cohérence
- Le document couvre aussi l’ordre de combinaison des samplers, leurs interactions et les cas de conflit, ce qui en fait une ressource très utile pour les développeurs qui veulent contrôler finement la qualité de génération
Intro Knowledge
Short Glossary
- Les logits sont des valeurs non normalisées représentant le score de chaque token
- La softmax est la fonction qui convertit les logits en une distribution de probabilités normalisée
- L’entropy désigne l’incertitude de la prédiction ; plus elle est élevée, plus l’incertitude sur le token suivant est grande
- La perplexity est un indicateur dont une valeur faible signifie que le modèle est plus confiant
- Un n-gram désigne une séquence continue de n tokens
- La context window est le nombre maximal de tokens que le modèle peut traiter en une seule fois
Why tokens?
Why not letters?
- Une tokenisation au niveau des lettres allonge trop la séquence, ce qui entraîne une hausse du coût de calcul et des difficultés à relier les informations
Why not whole words?
- Une approche fondée sur les mots pose des problèmes comme l’explosion de la taille du vocabulaire et la difficulté à représenter les néologismes ou les mots rares
- Une approche fondée sur les sub-words permet de découper préfixes, racines et suffixes, ce qui est efficace pour la compréhension morphologique et le transfert multilingue
How are the sub-words chosen?
- Le vocabulaire est construit en identifiant les sub-words les plus fréquents à partir d’un échantillon représentatif des données d’entraînement
How does the model generate text?
- Pendant l’entraînement, le modèle apprend la distribution de probabilités du token suivant à partir de grandes quantités de texte
- En inférence, il calcule la probabilité de tous les tokens possibles, puis sélectionne le token suivant selon la technique d’échantillonnage choisie
From Tokens to Text
- Étape de prédiction : calcul de la distribution de probabilités pour tous les tokens candidats
- Étape de sélection : choix d’un token selon une stratégie d’échantillonnage donnée
- Se contenter de choisir le token le plus probable produit souvent un texte ennuyeux ou répétitif, d’où l’importance des techniques d’échantillonnage
Sampling
Temperature
- Une valeur basse donne des résultats prudents et répétitifs, tandis qu’une valeur élevée favorise des résultats créatifs mais augmente le risque d’erreurs
- Les logits sont divisés par la température pour ajuster la netteté (la concentration) de la distribution de probabilités
Presence Penalty
- Les tokens déjà apparus au moins une fois voient leur probabilité de réapparition diminuer
- Ce mécanisme ne tient compte que de la présence, pas du nombre d’occurrences
Frequency Penalty
- Le score est pénalisé proportionnellement au nombre d’occurrences
- Plus un mot apparaît souvent, plus il subit une pénalité importante, ce qui contribue à accroître la diversité
Repetition Penalty
- Applique aux tokens déjà apparus une pénalité asymétrique sur les logits positifs et négatifs
- Efficace pour éviter les boucles de répétition, mais peut nuire à la cohérence du contexte
DRY (Don't Repeat Yourself)
- Détecte les répétitions de motifs n-gram et pénalise la probabilité des tokens qui prédisent une répétition
- Plus une expression répétée est longue et récente, plus elle est fortement supprimée
- Excellent pour réduire les répétitions tout en préservant le naturel dans les textes créatifs
Top-K
- Ne conserve que les K meilleurs candidats et exclut tous les autres tokens
- Permet d’éliminer les échantillons extrêmes tout en gardant un certain niveau d’aléa
Top-P (Nucleus Sampling)
- Ne conserve que les tokens jusqu’à atteindre une probabilité cumulée d’au moins P, puis élimine le reste
- Adaptatif, car la taille de l’ensemble de candidats varie selon le degré de confiance du modèle
Min-P
- Ne conserve que les tokens dont la probabilité atteint un certain ratio minimal par rapport au token le plus probable
- Le filtrage s’ajuste dynamiquement selon le niveau de confiance du modèle
Top-A
- Filtre les candidats à l’aide d’un seuil proportionnel au carré de la probabilité du token le plus probable
- Plus la confiance est élevée, plus le filtrage appliqué est strict
XTC
- Avec une certaine probabilité, retire volontairement les candidats les plus probables pour favoriser des choix moins sûrs
- Technique destinée à produire des réponses atypiques ou créatives
Top-N-Sigma
- Sélectionne les tokens valides à partir de l’écart-type de la distribution de probabilités
- Filtrage fondé sur des caractéristiques statistiques, capable de s’adapter souplement à diverses situations
Tail-Free Sampling (TFS)
- Utilise la variation de second ordre (la courbure) du gradient de probabilité pour distinguer les candidats significatifs des candidats de longue traîne
- Méthode qui filtre en trouvant un point de coupure naturel
Eta Cutoff
- Ajuste dynamiquement le critère de filtrage selon l’entropie (incertitude) de la distribution
- Plus la confiance est élevée, plus de tokens sont éliminés ; plus elle est faible, plus le filtrage est souple
Epsilon Cutoff
- Élimine les tokens à faible probabilité au moyen d’un seuil de probabilité fixe
- Méthode simple mais prévisible, utile pour supprimer une longue traîne inutile
Locally Typical Sampling
- Privilégie les tokens dont la surprisal attendue (l’écart par rapport à la prédiction) est proche de la moyenne
- Encourage des choix « typiques » plutôt que le token le plus probable ou le plus étrange
1 commentaires
Commentaires sur Hacker News
Il n’est pas mentionné que le sampler ne peut pas accéder à l’état interne du modèle
J’ai essayé d’écrire un guide de sampling pour Ollama/llama.cpp
Quand on essaie de faire produire des « idées » par un LLM, la sélection dans le vecteur de logits doit nécessairement briser l’idée d’origine
Tout est expliqué simplement, ce qui ouvre la voie à de nouvelles expérimentations
Un modèle LLM pourrait-il effectuer implicitement la tokenisation ?
À ce sujet, notre article sur min_p s’est classé 18e sur 12 000 soumissions à l’ICLR
top_k = 2avec une température extrêmement élevée est très intéressantJe me demande si le sampling résout réellement les limites du modèle, ou s’il ne fait que masquer un problème plus profond
Le « sampling » couvre bien plus de choses que je ne l’imaginais
C’est un document très utile, avec des explications claires et beaucoup de contenu
Je ne m’étais pas rendu compte qu’il y avait autant de manipulations après le choix initial de la température du softmax