3 points par GN⁺ 2025-05-06 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2025-05-06
Commentaires sur Hacker News
  • Il n’est pas mentionné que le sampler ne peut pas accéder à l’état interne du modèle

    • Il ne fait qu’appliquer des mathématiques à la distribution de sortie, et à moins d’être aussi intelligent que le modèle, il ne peut pas la déchiffrer
    • Les samplers comme la pénalité de répétition ou DRY visent à empêcher le modèle de se répéter lui-même, ce qui montre qu’un meilleur entraînement est nécessaire
    • Pirater le processus auto-régressif permet des améliorations simples comme Min-P
    • Essayer de transformer un mauvais modèle en bon modèle est une mauvaise approche
  • J’ai essayé d’écrire un guide de sampling pour Ollama/llama.cpp

    • Je suis ouvert aux retours et aux suggestions de correction
  • 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

    • Si l’idée était complète, aucun sampling sur les logits ne serait nécessaire
  • Tout est expliqué simplement, ce qui ouvre la voie à de nouvelles expérimentations

    • Par exemple, que se passerait-il si des mots entiers étaient utilisés comme tokens ?
    • On pourrait créer un « robot » avec un « dialecte robotique » limité
    • Il n’aurait pas la capacité de gérer de nouveaux mots ou des mots rares, mais on pourrait modifier les données d’entraînement et d’entrée pour les traduire vers un vocabulaire existant
    • Cela donne à l’utilisateur une attente claire du type de réponses auxquelles le robot peut bien répondre
  • Un modèle LLM pourrait-il effectuer implicitement la tokenisation ?

    • Au lieu de construire un tokenizer séparé, on utiliserait des chaînes de caractères et on laisserait le réseau neuronal les convertir en tokens
    • Les poids de ce réseau seraient entraînés avec le reste du LLM
  • À ce sujet, notre article sur min_p s’est classé 18e sur 12 000 soumissions à l’ICLR

    • Le poster a été populaire
    • Il y a eu une discussion avec Yoshua Bengio lors de la présentation orale
    • Cela confirme que Top N sigma est actuellement le sampler le plus courant
    • La température pourrait être réglée bien plus haut qu’aujourd’hui
    • Le cas particulier de top_k = 2 avec une température extrêmement élevée est très intéressant
  • Je 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 me demande si quelqu’un sait qui l’a écrit
    • La section DRY — « pénalité de répétition » était intéressante
    • Je souhaite souvent qu’un LLM produise une copie exacte de l’entrée
    • Lorsqu’on résume une longue conversation, je demande la citation exacte la plus explicite
    • La pénalité DRY peut aller à l’encontre de cet objectif
  • 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