Aller au contenu principal

Chargement du lab visuel…

#generation-temperatureLLM et transformers

Génération : température, top-k et top-p.

Ce que tu vas manipuler

  1. Bienvenue dans #generation-temperature. En haut, l'amorce le modèle en tuiles bleues. Au centre, douze barres : la distribution du mot suivant calculée par un petit modèle de langage entraîné sur 63 phrases françaises (météo, école, IA, cuisine — 148 mots de vocabulaire). Un LLM ne « sait » pas quel mot vient ensuite : il attribue une probabilité à chaque mot de son vocabulaire, puis tire au sort dans cette distribution. La température, top-k et top-p règlent ce tirage — c'est la différence entre un texte plat et répétitif et un texte inventif… ou incohérent. À droite, la jauge de température (0,8 pour commencer).
  2. Tape /generer 5 : le modèle tire cinq mots l'un après l'autre. À chaque pas, il regarde les deux derniers mots, calcule la distribution du suivant, tire un mot, l'ajoute à la phrase et recommence. La barre tirée s'allume, le mot rejoint la phrase, puis les barres glissent vers la distribution du mot d'après.
  3. Refroidis : /temperature 0.2. La température divise les logits (log-probabilités) avant le softmax : à T < 1 les écarts s'amplifient et la distribution devient piquée. Le texte est régénéré avec la même graine, seule la distribution a changé.
  4. Chauffe : /temperature 1.8. À T > 1, les écarts s'écrasent : la distribution s'aplatit et des mots rares deviennent presque aussi probables que les bons. Le hasard prend le dessus sur ce que le modèle a appris.
  5. Reviens à /temperature 0.8, le réglage courant des assistants : assez de hasard pour varier les formulations, assez de structure pour rester cohérent. C'est un compromis, pas une vérité.
  6. Autre levier : ne tirer que parmi les k mots les plus probables. Tape /top-k 3. Les mots rares ne peuvent plus sortir du tout, quelle que soit la température.
  7. Top-k est rigide : trois candidats, que la distribution soit plate ou piquée. Remets d'abord /top-k 0, puis /top-p 0.9 (nucleus sampling) : on garde le plus petit ensemble de mots dont la masse cumulée atteint 90 %, donc un nombre de candidats qui s'adapte à chaque pas.
  8. Et si on ne tirait plus au sort ? /glouton prend toujours le mot le plus probable (barre bleue) : c'est le décodage glouton, l'équivalent de T → 0. Le texte est régénéré.
  9. À toi de jouer : /amorce la soupe ou /amorce demain il pour changer de sujet, /generer 20 pour une longue suite, /mot suivi d'un des douze mots affichés pour forcer le mot suivant (l'autocomplétion les propose), /temperature 0.05 pour un quasi-glouton, /top-p 0.5 pour un tirage prudent, /effacer pour repartir de l'amorce, /reinit pour tout remettre. Prochaine étape : le canal #rag, où l'on donne au modèle des documents à lire avant qu'il ne génère.

Commandes du canal

  • /amorce <mots>Change l'amorce (toute la ligne) et vide la suite générée.
  • /temperature <T=0.05..2>Divise les logits par T : < 1 pique la distribution, > 1 l'aplatit. Régénère le texte.
  • /top-k <k=0..50>Ne tire que parmi les k mots les plus probables (0 = désactivé). Régénère le texte.
  • /top-p <p=0..1>Nucleus sampling : garde les mots jusqu'à une masse cumulée p (1 = désactivé). Régénère le texte.
  • /generer <n=1..30>Tire n mots à la suite (5 par défaut) et les ajoute au texte.
  • /gloutonBascule entre tirage au sort et décodage glouton (toujours le mot le plus probable), puis régénère.
  • /graine <n=0..9999>Change la graine du tirage et régénère le texte (mots forcés conservés).
  • /mot <mot>Force le mot suivant parmi les 12 mots affichés.
  • /effacerVide la suite générée et garde l'amorce et les réglages.
  • /reinitRevient à l'amorce « le modèle », T = 0,8, sans filtre, graine 7, tirage au sort.

Glossaire

température
Nombre qui divise les logits avant le softmax : p_i ∝ exp(z_i / T). T < 1 amplifie les écarts (distribution piquée, texte sûr et répétitif), T > 1 les écrase (distribution plate, texte inventif puis incohérent). T → 0 revient au décodage glouton.
top-k
Filtre qui ne garde que les k mots les plus probables et renormalise leur masse à 100 % avant de tirer. Simple et efficace contre les mots rares, mais rigide : k reste le même que la distribution soit plate ou piquée.
top-p
Aussi appelé nucleus sampling : on garde, par probabilité décroissante, le plus petit ensemble de mots dont la masse cumulée atteint p (souvent 0,9), puis on renormalise. Le nombre de candidats s'adapte à chaque pas : un seul quand le modèle est sûr, beaucoup quand il hésite.
échantillonnage et décodage glouton
Deux façons de choisir le mot suivant à partir de la même distribution : l'échantillonnage tire au sort selon les probabilités (varié, non déterministe sans graine) ; le décodage glouton prend toujours le plus probable (déterministe, souvent répétitif). Température, top-k et top-p ne concernent que l'échantillonnage.
logits et softmax
Les logits sont les scores bruts z_i que le réseau produit pour chaque mot du vocabulaire ; le softmax les transforme en probabilités : p_i = exp(z_i) / Σ exp(z_j). La température s'applique entre les deux : softmax(z / T).
entropie
Mesure de l'incertitude d'une distribution : H = −Σ p_i log₂ p_i, en bits. 0 bit quand un seul mot est possible, log₂(V) bits quand tout le vocabulaire est équiprobable. La température la fait monter, top-k et top-p la font baisser.
perplexité
Exponentielle de la log-probabilité moyenne négative d'un texte sous le modèle : PP = exp(−(1/N) Σ log p(w_i | contexte)). Elle se lit comme le nombre de mots entre lesquels le modèle « hésite » en moyenne : 1 = texte parfaitement prévisible, V = aussi surprenant qu'un tirage uniforme. Sert à évaluer les modèles de langage.
recherche en faisceau
Beam search : au lieu de garder un seul texte (glouton), on garde à chaque pas les B meilleures suites partielles et on retient à la fin la plus probable dans l'ensemble. Bon pour la traduction ou le résumé, où une réponse « juste » existe ; peu utilisé en conversation, où il produit des textes plats et répétitifs.
hallucination
Affirmation fluide mais fausse ou inventée. Une température élevée en produit mécaniquement : des mots peu probables sont tirés et le modèle enchaîne ensuite sur eux comme s'ils étaient vrais. Baisser la température ou resserrer top-p réduit ce risque, sans le supprimer : le modèle peut être sûr… et se tromper.
n-gramme
Modèle de langage qui prédit le mot suivant à partir des n − 1 mots précédents en comptant les suites vues dans un corpus (bigrammes : 1 mot de contexte, trigrammes : 2). C'est le modèle de ce canal, avec repli sur l'ordre inférieur et lissage quand une suite n'a jamais été vue. Les LLM font la même chose avec un contexte de milliers de mots et un réseau au lieu de comptages.

Autres canaux du thème LLM et transformers

  • #tokenisationTokenisation et BPE : comment un LLM découpe le texte.
  • #attentionSelf-attention : chaque mot regarde les autres.
  • #transformer-blocLe bloc transformer : attention, résidus, normalisation, FFN.
  • #generation-temperatureGénération : température, top-k et top-p.
  • #ragRAG : répondre en s'appuyant sur ses documents.
  • #alignement-rlhfAlignement et RLHF : apprendre ce que les humains préfèrent.