En bref

À chaque mot généré, un LLM ne choisit pas “le bon mot” — il tire au sort parmi des candidats, selon une distribution de probabilités qu’il a calculée. La temperature et les paramètres de sampling (top-k, top-p) contrôlent comment ce tirage au sort est organisé.

Température basse : le modèle joue la sécurité, choisit presque toujours le token le plus probable. Température haute : il prend des risques, explore des choix moins évidents. Le résultat peut être brillant ou incohérent.

Ce n’est pas de la magie ni du hasard brut. C’est de la statistique appliquée, et comprendre le mécanisme permet de calibrer le comportement d’un modèle selon la tâche.


Explication

Ce que le modèle calcule à chaque étape

Un LLM génère du texte token par token. À chaque étape, il produit un vecteur de logits — des scores bruts, un par token de son vocabulaire (souvent entre 50 000 et 130 000 tokens). Ces scores bruts ne sont pas encore des probabilités.

La fonction softmax convertit ces logits en probabilités : elle exponentielle chaque score, puis divise par la somme, de sorte que la distribution somme à 1. Le token avec le logit le plus élevé obtient la probabilité la plus haute, mais les autres ne sont pas nuls.

C’est là qu’intervient la température.

La temperature : diviser avant de normaliser

La température T est un nombre positif appliqué avant le softmax : chaque logit est divisé par T, puis la normalisation s’applique normalement.

  • T proche de 0 : diviser par un très petit nombre amplifie les écarts entre logits. Le token le plus probable écrase tous les autres — la distribution devient quasi-déterministe. En pratique, à T=0, le modèle choisit presque toujours le même token (avec de légères variations dues aux approximations numériques en virgule flottante).

  • T = 1 : les logits ne sont pas modifiés. La distribution reflète exactement ce que le modèle a appris pendant l’entraînement. C’est le comportement de référence.

  • T > 1 : diviser par un grand nombre rapproche les logits les uns des autres. La distribution s’aplatit — les tokens moins probables gagnent en poids relatif. La diversité augmente, mais aussi le risque de produire quelque chose d’incohérent.

Une métaphore utile : imaginez une liste de candidats classés par pertinence. À température basse, seul le premier compte. À température haute, les candidats du bas de la liste ont presque autant de chances d’être choisis que le premier.

Top-k : réduire le champ de choix

Le top-k sampling est une opération de filtrage appliquée après le calcul des probabilités. On ne garde que les k tokens les plus probables ; les autres voient leur probabilité mise à zéro. On renormalise, puis on tire au sort dans ce sous-ensemble réduit.

Valeurs typiques : k=10 à 20 pour rester concentré sur le sujet, k=50 à 100 pour autoriser plus de variété.

Limite de l’approche : k est fixe, indépendamment de la forme de la distribution. Si un seul token domine avec 95 % de probabilité, un top-k=50 conserve quand même 49 tokens très peu probables. La sélection peut alors être parasitée par des candidats marginaux.

Top-p (nucleus sampling) : un filtre adaptatif

Le top-p sampling, aussi appelé nucleus sampling, résout la limite du top-k de façon élégante. Plutôt que de fixer un nombre de tokens, on fixe une masse de probabilité cumulée p. On sélectionne le plus petit ensemble de tokens dont les probabilités s’additionnent à au moins p, puis on renormalise et on tire dans cet ensemble.

Exemple concret : avec p=0,9, si le modèle est très confiant (un token à 85 % de probabilité), le nucleus contient seulement 2 ou 3 tokens. Si le modèle hésite entre dix options proches, le nucleus s’élargit pour les inclure toutes.

C’est un filtre dynamique : il s’adapte à chaque étape de génération selon l’état réel de la distribution, ce qui est plus robuste que top-k dans la plupart des situations.

Softmax : la formule derrière tout ça

Pour un vocabulaire de N tokens avec des logits $z_1, z_2, \ldots, z_N$, la probabilité du token $i$ après application de la température T est :

$$P(i) = \frac{e^{z_i / T}}{\sum_{j=1}^{N} e^{z_j / T}}$$

Diviser tous les logits par T avant l’exponentielle comprime ou étire les écarts relatifs, ce qui modifie la forme de la distribution sans changer l’ordre de classement des tokens.


Exemples concrets

Génération de code — température basse

Pour générer du code, on veut des réponses prévisibles et syntaxiquement correctes. Une température entre 0,2 et 0,4, combinée à un top-p conservatif (0,85–0,9), maintient le modèle dans les zones de haute probabilité de son espace de prédiction.

Concrètement : si le modèle génère une fonction Python, le token suivant def sera presque certainement un espace, puis un nom de fonction valide. À température basse, le modèle “sait” que c’est attendu et s’y tient.

Rédaction créative — température haute

Pour un texte narratif, une première de roman, ou des slogans publicitaires, une température entre 0,7 et 1,0 produit des formulations moins attendues, des associations de mots moins communes. Le modèle prend des chemins qu’il n’aurait pas pris en mode sécurisé.

Attention : au-delà de 1,2, la cohérence narrative peut se dégrader. Les tokens à faible probabilité deviennent trop présents, et le texte peut perdre son fil.

Brainstorming et questions factuelles — les extrêmes

Pour des réponses factuelles (capitale d’un pays, définition d’un terme technique), T proche de 0 est recommandé : il n’y a pas plusieurs bonnes réponses, et la diversité n’a pas d’intérêt.

Pour le brainstorming, une température haute (0,8–1,2) combinée à un top-k ou top-p élevé permet d’explorer des associations moins évidentes. C’est ici que le modèle peut surprendre positivement.

Tableau récapitulatif

Cas d’usageTempératureSampling
Génération de code0,2 – 0,4top-p 0,85–0,9
Questions factuelles0,0 – 0,3top-k bas
Rédaction créative0,7 – 1,0top-p 0,9–0,95
Brainstorming0,8 – 1,2top-k ou top-p élevé

Une recommandation pratique des praticiens : utiliser top-p ou top-k en combinaison avec la température, mais pas les deux simultanément. Combiner top-k et top-p sur-contraint la distribution sans bénéfice démontré.


Ce qu’il faut retenir

  • La température n’est pas un curseur “créativité” au sens flou du terme. C’est un paramètre mathématique précis qui modifie la forme d’une distribution de probabilités avant que le modèle ne tire son prochain token.
  • Top-k et top-p sont des filtres complémentaires : ils restreignent l’espace de tirage à des candidats plausibles. Top-p est généralement préféré car il s’adapte dynamiquement à chaque situation.
  • Ces paramètres n’ont pas de valeur universellement correcte. Ils dépendent de la tâche, du modèle, et parfois du style de contenu attendu. Comprendre ce qu’ils font mécaniquement permet de les régler de façon informée plutôt que d’itérer à l’aveugle.

Sources

  • Chng, P. (2023). Token selection strategies: top-k, top-p, and temperature. peterchng.com
  • LLM Settings — Introduction. Prompt Engineering Guide. promptingguide.ai
  • LLM Sampling Parameters Explained: Temperature, Top-k, Top-p, and Min-p. Let’s Data Science. letsdatascience.com
  • Understanding Temperature, Top-k, and Top-p Sampling in Generative Models. Codefinity. codefinity.com
  • What are Temperature, Top-p and Top-k in AI? F22 Labs. f22labs.com
  • How to Tune LLM Parameters for Top Performance. phData. phdata.io