Aller au contenu principal

Paramètres

Paramètres de génération des LLM

Temperature, top-p, top-k, pénalités : comment ces paramètres contrôlent la créativité et la cohérence des réponses d'un LLM.

Par Antoine Michéa, Fondateur & ingénieur infrastructure ·

Lorsqu’un LLM génère du texte, il calcule une probabilité pour chaque token possible. Les paramètres de génération contrôlent la façon dont le modèle sélectionne le prochain token, influençant la créativité et la cohérence des réponses.

Les paramètres ne sont PAS inclus dans les modèles. Quand vous téléchargez un modèle GGUF ou MLX dans LM Studio, Ollama ou autre, le fichier contient les poids du réseau et quelques métadonnées (chat template, tokenizer, context length), mais pas les paramètres de génération (temperature, top-p, top-k…). Les logiciels appliquent leurs valeurs par défaut (souvent temperature ~0.7, top-p ~0.9), qui conviennent à la conversation générale mais sont sous-optimales pour le code. Pour la génération de code, JSON ou SQL, pensez à baisser la temperature (0.0-0.3).

Comment un LLM génère du texte

À chaque étape, le modèle produit une distribution de probabilités sur l’ensemble du vocabulaire. Les paramètres ci-dessous modifient cette distribution ou la façon dont on y échantillonne.

Logits      →  ÷ Temperature  →  Softmax        →  Top-K / Top-P  →  Échantillonnage
(scores       (ajuste la        (probabilités)    (filtrage)         (sélection du
 bruts)        distribution)                                          token)

Temperature

La temperature contrôle le « hasard » ou la « créativité » du modèle. Mathématiquement, elle divise les logits avant l’application de softmax, modifiant la forme de la distribution :

P(token_i) = exp(logit_i / T) / Σ exp(logit_j / T)
  • Temperature basse (0.1 - 0.5) : distribution « pointue », les tokens probables dominent. Réponses prévisibles, cohérentes, déterministes. Usage : code, faits, documentation.
  • Temperature moyenne (0.7 - 1.0) : distribution équilibrée, bon compromis entre cohérence et variété. Usage : conversation générale, rédaction.
  • Temperature haute (1.0 - 2.0) : distribution « aplatie », plus de tokens deviennent probables. Réponses créatives, parfois incohérentes. Usage : brainstorming, poésie.

Temperature = 0. Une temperature de 0 force le modèle à toujours choisir le token le plus probable (greedy decoding). Les réponses deviennent complètement déterministes, mais peuvent mener à des répétitions.

Top-P (nucleus sampling)

Top-P, aussi appelé nucleus sampling, filtre dynamiquement le vocabulaire en ne conservant que les tokens dont la probabilité cumulée atteint un seuil P.

Token      Probabilité    Cumulée    Inclus ?
─────────────────────────────────────────────
"chat"     0.40           0.40       oui
"chien"    0.30           0.70       oui
"oiseau"   0.15           0.85       oui
"poisson"  0.08           0.93       oui (dépasse 0.9)
"serpent"  0.04           0.97       non (exclu)
"hamster"  0.03           1.00       non (exclu)
  • top_p = 1.0 : tous les tokens sont considérés (pas de filtrage).
  • top_p = 0.9 : top 90 % de la masse de probabilité (recommandé).
  • top_p = 0.5 : très restrictif, réponses prévisibles.

Top-K

Top-K est plus simple : il conserve uniquement les K tokens les plus probables, indépendamment de leur probabilité totale.

  • top_k = 1 : greedy decoding (toujours le plus probable).
  • top_k = 10 : choix parmi les 10 meilleurs.
  • top_k = 50 : plus de diversité (valeur courante).
  • top_k = 0 ou désactivé : pas de filtrage Top-K.

Top-P vs Top-K. Top-P est généralement préféré car il s’adapte au contexte : quand le modèle est très sûr, il retient peu de tokens ; quand l’incertitude est grande, il en retient plus. Top-K est plus brutal et peut exclure de bons candidats ou en inclure de mauvais.

Autres paramètres importants

Repeat penalty (pénalité de répétition)

Réduit la probabilité des tokens déjà générés pour éviter les répétitions. Valeur typique : 1.1 à 1.3. À 1.0, pas de pénalité.

Frequency penalty / Presence penalty

  • Frequency penalty : pénalise les tokens proportionnellement à leur fréquence d’apparition.
  • Presence penalty : pénalise les tokens dès qu’ils sont apparus (peu importe combien de fois).

Max tokens

Limite le nombre maximum de tokens générés. Important pour contrôler les coûts et éviter les réponses trop longues.

Configurations recommandées

Cas d’usageTemperatureTop-PTop-KNotes
Code / SQL0.0 - 0.20.9-Déterministe, syntaxe correcte
Factuel / Documentation0.3 - 0.50.9-Précis mais pas robotique
Conversation générale0.70.9550Équilibre naturel
Rédaction créative0.9 - 1.00.95-Plus de variété
Brainstorming1.2 - 1.51.0-Idées inattendues

Côté SoberCloud, quand on sert Qwen3.6-27B (vLLM) et Qwen3.6-35B-A3B (llama.cpp) derrière une API OpenAI-compatible, ces paramètres se passent par requête (temperature, top_p, top_k), indépendamment des poids chargés. Pour nos charges agentiques de code, nous travaillons systématiquement à temperature basse afin de privilégier le déterminisme.

Pour aller plus loin

← Toutes les découvertes