Intermédiaire 8 minConfiguration

Température, top-p, top-k : les paramètres

La température à 0,8. Le top-p à 0,95. Le top-k à 40. Ces nombres apparaissent partout et personne n'explique vraiment ce qu'ils font. Ce guide démonte les trois boutons qui changent 90 % du comportement d'un modèle, avec des exemples concrets de ce que vous voyez dans la sortie quand vous les bougez.

Par Mohamed Meguedmi·Màj 2026-03-02·Testé sur Windows, macOS, Linux

#D'abord : comment un LLM choisit le prochain mot

À chaque étape de génération, le modèle produit une distribution de probabilités sur tous les tokens du vocabulaire (~32 000 tokens pour un Mistral, ~128 000 pour un Llama 3). Il pourrait choisir le plus probable à chaque fois (greedy), mais le résultat serait plat et répétitif. On introduit donc de l'aléatoire — contrôlé par la température, top-p et top-k.

i
Trois filtres en cascade
D'abord la température modifie les probabilités. Puis top-k ne garde que les K meilleurs candidats. Puis top-p ne garde que les candidats dont la probabilité cumulée atteint p. On tire au hasard dans ce qui reste.

#1. Température

La température lisse ou accentue la distribution. T=0 = toujours le token le plus probable (déterministe). T=1 = distribution brute. T>1 = les tokens rares deviennent plus probables (créativité et incohérence).

0.0 – 0.2
Factuel, déterministe. Extraction de données, résumé fidèle, code. La même question donne la même réponse.
0.3 – 0.5
Précis mais vivant. Support client, rédaction technique, traduction.
0.7 – 0.9
Défaut de la plupart des modèles. Équilibre qualité/variété. Conversation, emails, explication.
1.0 – 1.3
Créatif. Brainstorming, fiction, poésie. Attention aux hallucinations.
> 1.5
Zone de chaos. Intéressant pour l'art génératif, risqué pour tout le reste.
Règle du déterminisme
Pour tout ce qui doit être parseable (JSON, code, classification), mettez la température à 0 ou 0.1. Toute variabilité = bug potentiel dans votre pipeline.

#2. Top-p (nucleus sampling)

Top-p garde les tokens les plus probables jusqu'à ce que leur probabilité cumulée atteigne p. Top-p = 0.9 signifie : "ne considère que les tokens qui, ensemble, couvrent 90 % de la probabilité". Les 10 % de queue sont jetés.

0.5 – 0.7
Très conservateur. Réponses sûres, parfois ennuyeuses.
0.9
Défaut courant. Coupe la queue exotique sans étouffer la variété.
0.95 – 0.99
Laisse passer quasiment tout. Utile avec des températures basses pour compenser.
1.0
Désactivé (pas de filtre nucleus).
i
Température OU top-p
Régler les deux au maximum ou au minimum en même temps n'a pas grand sens. La pratique : fixez top-p à 0.9-0.95 et jouez sur la température.

#3. Top-k

Top-k garde les K tokens les plus probables. Top-k = 40 = "ne considère que les 40 meilleurs candidats à chaque étape". C'est un filtre plus brutal que top-p : il ne tient pas compte de la forme de la distribution.

1
Greedy. Équivalent température = 0.
20 – 40
Défaut typique. Bon compromis.
100+
Peu de filtrage, on s'en remet à top-p et température.
0
Désactivé.

#Pénalités : repetition, frequency, presence

Moins connus mais très utiles pour les modèles locaux qui ont tendance à boucler :

repetition_penalty
Multiplie la probabilité des tokens déjà utilisés récemment (par défaut 1.1). Passer à 1.2-1.3 si le modèle répète des phrases entières.
frequency_penalty
Pénalise proportionnellement au nombre d'occurrences. Plus subtil. 0.5-0.8 sur les longues générations.
presence_penalty
Pénalise dès qu'un token apparaît une fois. Encourage la diversité de vocabulaire. 0.5 pour plus de variété lexicale.
!
Ne pas trop pénaliser
À partir de repetition_penalty > 1.5, le modèle commence à inventer des mots rares pour éviter les répétitions. Il devient parfois littéralement incompréhensible.

#Presets par usage

Code
temperature 0.1, top-p 0.95, top-k 40. Déterministe, focus sur le token le plus probable.
Résumé factuel
temperature 0.2, top-p 0.9, repetition_penalty 1.15. Peu de latitude, pas de hors-sujet.
Conversation naturelle
temperature 0.7, top-p 0.9, top-k 40. Défaut raisonnable partout.
Brainstorming
temperature 0.9, top-p 0.95, presence_penalty 0.6. Variété lexicale, idées moins convenues.
Fiction / créatif
temperature 1.1, top-p 0.95, frequency_penalty 0.3. Style plus dense, rythme imprévisible.

#Symptômes → réglage

Répète la même phrase en boucle
repetition_penalty 1.2, ou relancer avec plus de contexte varié.
Réponses plates et génériques
Montez la température à 0.8-0.9, ou relâchez top-p à 0.95.
Hallucinations (invente des faits)
Baissez la température à 0.2-0.3. Ajoutez au system prompt : "Si tu ne sais pas, dis-le."
Code invalide
temperature 0. Toujours. Pas de créativité en code.
JSON cassé
temperature 0 + JSON mode si dispo. Sinon, very strict format instructions.
Change de langue en cours de route
Rappel explicite en system prompt. Baisser légèrement la température aide.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.