5. La température : pourquoi deux fois la même question donne deux réponses

CONCEPT · DÉMONSTRATION EXÉCUTABLE

Un seul réglage transforme le même modèle en recopieur, en écrivain ou en ivrogne.

Fiche rédigée pour ce dossier, avec sa démonstration — même forme que la démo vecteurs : quelques nombres, aucune dépendance, une sortie qu’on peut projeter.

Le point de départ

À la fin de son calcul, un modèle ne produit pas un mot. Il produit une liste de scores — un pour chaque fragment possible de son vocabulaire. Pour le contexte « Le chat dort sur le ___ », disons :

CandidatScore brut 
canapé+3,2 
lit+3,0 
tapis+2,4 
toit+1,1 
clavier+0,4 
volcan−1,5 

Il faut alors en choisir un. Et c’est là que se joue tout le caractère de la machine.

Un seul réglage

Les scores sont transformés en probabilités par une opération standard, dans laquelle un nombre — la température — divise les scores avant l’exponentielle. Température basse : les écarts sont amplifiés, le meilleur écrase les autres. Température haute : les écarts sont écrasés, tout le monde a sa chance.

Sortie exacte du script, sur les mêmes six scores :

  T=0.2  froid : recopieur
    canape     72.1 %  #############################
    lit        26.5 %  ###########
    tapis       1.3 %  #
    toit        0.0 %
    clavier     0.0 %
    volcan      0.0 %

  T=1.0  tiede : ecrivain
    canape     40.6 %  ################
    lit        33.3 %  #############
    tapis      18.3 %  #######
    toit        5.0 %  ##
    clavier     2.5 %  #
    volcan      0.4 %

  T=2.5  chaud : ivrogne
    canape     28.1 %  ###########
    lit        25.9 %  ##########
    tapis      20.4 %  ########
    toit       12.1 %  #####
    clavier     9.2 %  ####
    volcan      4.3 %  ##

Aucun score n’a changé. Le modèle est exactement le même, il a exactement le même avis. Seule la manière de convertir cet avis en décision a bougé.

Ce que ça donne en pratique

Vingt tirages à chaque température (graine fixée, donc reproductible) :

  T=0.2  ->  lit canape canape canape lit canape lit lit canape canape
          canape lit canape lit lit lit canape canape canape lit   (2 mots distincts)

  T=1.0  ->  tapis toit lit lit canape lit canape lit lit canape
          canape lit tapis canape lit lit tapis canape lit canape   (4 mots distincts)

  T=2.5  ->  lit lit lit lit tapis toit lit tapis canape toit
          lit canape toit lit toit clavier volcan canape canape lit   (6 mots distincts)

À 2,5, « volcan » finit par sortir — un mot que le modèle jugeait franchement mauvais (score négatif). C’est la démonstration la plus courte de ce qu’est une « hallucination » de sélection : personne n’a rien inventé, on a simplement tiré dans la queue de la distribution.

Trois choses que cela explique

Ce qu’on observePourquoi
« Je repose la même question et j’obtiens autre chose » Le modèle tire au sort dans une liste pondérée. Ce n’est pas un défaut, c’est le fonctionnement nominal. À température nulle, la réponse serait reproductible — et monotone.
« En baissant la température, il devient plus fiable » Plus prévisible, pas plus juste. Si le meilleur score est faux, une température basse garantit qu’il ressortira à tous les coups. On échange de la variété contre de la constance dans l’erreur.
« Il est plus créatif quand je lui demande d’être créatif » En partie un effet de consigne… et en partie, chez certains outils, un réglage de température effectivement plus haut selon la tâche.

Les limites de cette démonstration

Le fichier : demos-complementaires/demo-temperature.py — Python pur, aucune dépendance.
La sortie : resultat-temperature.txt.

Le modèle ne choisit pas le mot le plus probable : il tire au sort dans une liste pondérée. Baisser la température le rend plus sûr de lui, pas plus juste.

← 4. La fenêtre de contexte et l’attention6. Les hallucinations →