La recherche en IA te passionne ?
Les papers et avancées qui comptent, expliqués simplement, chaque soir. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Les modèles de langage de grande taille
La physique statistique offre un cadre pour comprendre comment les systèmes passent de comportements déterministes à des comportements génératifs, ce qui est essentiel dans le contexte des modèles de langage de grande taille (LLMs). La question centrale de cette discipline est de déterminer la probabilité qu'un système occupe un état donné parmi tous les états possibles. Bien que l'on puisse être tenté de considérer les énergies des états comme des probabilités, cela serait incorrect. En effet, les énergies peuvent prendre des valeurs telles que 5, -3 ou 127, mais cela ne donne aucune indication sur leur probabilité. Les probabilités, contrairement aux énergies, doivent être positives et totaliser 1.
Pour résoudre ce problème, il faut cesser de penser en termes de probabilités et plutôt convertir l'énergie de chaque état en un poids. Ce poids est calculé à l'aide de l'exponentielle :
- poids = e^(-E_i/kT)
Cette formule ne génère pas des probabilités, mais plutôt une importance relative. Les états avec une faible énergie se voient attribuer de grands poids, tandis que ceux avec une énergie élevée reçoivent des poids exponentiellement plus petits. À ce stade, ces poids ne sont pas encore normalisés ; ils indiquent simplement la force avec laquelle chaque état rivalise avec les autres.
Pour transformer ces poids en probabilités, il suffit de diviser le poids de chaque état par la somme de tous les poids :
- P(état) = e^(-E_i/kT) / Σ(e^(-E_j/kT))
Cette formule est connue sous le nom de distribution de Boltzmann. Bien que l'équation puisse sembler complexe, elle se résume à deux opérations simples : l'exponentielle traduit l'énergie en une préférence relative, et le dénominateur redimensionne ces préférences pour former une distribution de probabilité valide.
Le rôle de la température dans la distribution de Boltzmann
La température joue un rôle crucial dans la distribution de Boltzmann, mais elle ne modifie pas les énergies elles-mêmes. Elle change plutôt l'importance des différences d'énergie entre les états possibles. Prenons l'exemple de trois états avec des énergies de 0, 1 et 2. À une température très basse, comme T=0.1, même de petites différences d'énergie deviennent significatives dans l'exponentielle. L'état à la plus basse énergie capte presque toute la probabilité, rendant les autres presque impossibles. En revanche, à une température plus élevée, comme T=10, ces différences d'énergie sont fortement compressées, produisant des poids presque identiques et une distribution proche de l'uniforme.
Voici deux tableaux illustrant ce concept (en supposant que k=1) :
| Énergie E | Poids e^(-E/T) si T=0.1 | Probabilité (%) | |-----------|--------------------------|------------------| | 0 | 199.99 | 99.99 | | 1 | 0.000045 | 0.0045 | | 2 | ~0 | 0 |
| Énergie E | Poids e^(-E/T) si T=10 | Probabilité (%) | |-----------|-------------------------|------------------| | 0 | 136.7 | 0.9053 | | 1 | 3.2 | 0.8193 | | 2 | 0.1 | 0.1 |
Les états eux-mêmes n'ont pas changé ; leurs énergies restent 0, 1 et 2. Ce qui change, c'est l'importance relative de ces différences d'énergie.
L'équivalence LLM : le vocabulaire comme états
Pour comprendre comment cela s'applique aux modèles de langage de grande taille, il suffit de renommer nos variables. Dans le contexte de la physique, un système pourrait être un gaz, et les "états" sont les différents niveaux d'énergie que ses molécules peuvent occuper. Dans un LLM, le système est le moment précis où le modèle doit prédire le mot suivant. Les "états" sont l'ensemble du vocabulaire du modèle, soit des dizaines de milliers de mots ou tokens en compétition pour être choisis ensuite.
Lorsqu'un LLM traite une invite, il ne génère pas immédiatement des probabilités. Sa dernière couche neuronale produit des chiffres bruts, non normalisés, pour chaque mot de son vocabulaire. En apprentissage automatique, ces scores bruts sont appelés logits. Un mot peut avoir un logit de 12.5, un autre -3.2, et un autre 0.8.
Le pont conceptuel crucial est que les logits représentent l'énergie du modèle, mais inversée.
Softmax est Boltzmann déguisé
Pour transformer ces logits bruts et non bornés en une distribution de probabilité propre qui s'additionne à 1, les ingénieurs en apprentissage automatique utilisent la fonction Softmax. Si nous incluons explicitement le paramètre de température (T), l'équation de Softmax est la suivante :
- P(mot_i) = e^(z_i/T) / Σ(e^(-z_j/T))
Cela vous semble familier ? C'est exactement le même principe mathématique. Nous remplaçons l'énergie négative -E par nos logits positifs +z. Nous exponentions pour transformer les scores en poids relatifs, puis nous divisons par la somme de tous les poids pour les normaliser. Softmax n'est rien d'autre que la distribution de Boltzmann sous un manteau d'informatique.
Comment la température contrôle la "chaleur" du texte
Étant donné que les mathématiques sont identiques, le paramètre de température se comporte de la même manière que dans la thermodynamique. Il ne modifie pas les croyances sous-jacentes du modèle, car les logits bruts restent inchangés. Au lieu de cela, il dicte la rigueur avec laquelle le modèle applique ces croyances.
Examinons comment l'ajustement du thermostat modifie le comportement d'un LLM :
-
Zéro Absolu (T=0) : L'état déterministe avide : À mesure que la température approche de zéro, même des différences microscopiques dans les logits sont amplifiées à l'infini. Si "pomme" a un logit de 5.01 et "banane" a 5.00, diviser par une température minuscule exagère cette différence de 0.01. "Pomme" capturera 99.99% de la masse de probabilité. Le modèle devient une machine déterministe, choisissant toujours le mot avec le score le plus élevé. Cela est idéal pour des tâches nécessitant une logique stricte, comme écrire du code Python, résoudre des équations mathématiques ou extraire des données JSON. Il n'y a pas de place pour le hasard.
-
Température ambiante (T=1) : La référence : À T=1, la température disparaît effectivement de l'équation. Le modèle produit la distribution de probabilité exacte qu'il a apprise pendant son entraînement. Le texte s'écoule naturellement, équilibrant la grammaire attendue avec la variance naturelle du langage humain.
-
Chaleur élevée (T > 1) : Le chaos créatif : Lorsque nous augmentons la température, nous compressons les différences entre les logits. La fonction exponentielle s'aplatit. Le mot avec le score le plus élevé perd sa domination absolue, et les mots à score plus bas commencent à capturer une masse de probabilité significative.
Pensez à la physique statistique : à haute température, les molécules de gaz ont tellement d'énergie thermique qu'elles peuvent facilement accéder à des états d'énergie plus élevés et plus difficiles. Dans un LLM, une température élevée donne à l'algorithme l'énergie nécessaire pour accéder à des mots mathématiquement improbables. Le modèle prend des risques. Il devient créatif, poétique et imprévisible.
Si vous poussez la température trop haut (par exemple, T=2), la distribution devient presque complètement uniforme. Le modèle perd son emprise sur le contexte et commence à générer un texte incohérent, presque aléatoire, plus proche du bruit que du langage.
Un petit mais important détail : T = 0 n'est pas vraiment zéro
Il y a une subtilité à connaître si vous avez déjà défini temperature=0 dans un appel d'API. Mathématiquement, T=0 devrait être indéfini, car vous diviseriez chaque logit par zéro, ce que la formule ne peut tout simplement pas gérer. Que se passe-t-il donc lorsque vous le demandez ?
En pratique, les bibliothèques d'inférence LLM ne calculent pas littéralement e^(z/0). Au lieu de cela, T=0 est traité comme une instruction spéciale : sautez complètement la formule softmax et choisissez directement le logit avec le score le plus élevé. Cela s'appelle le décodage avide, produisant toujours argmax(z), le token avec le plus grand score brut, sans exponentielles, sans normalisation, sans distribution de probabilité.
Le résultat ressemble à une distribution de Boltzmann extrêmement froide, presque toute la probabilité étant concentrée sur un seul état. Mais il y a une différence dans la manière d'y parvenir. Mathématiquement, vous atteindriez ce résultat progressivement, en refroidissant T vers zéro et en observant la distribution se préciser étape par étape. Dans le code, il n'y a pas de refroidissement progressif, juste un raccourci qui saute directement à la réponse.
Observation : Logits réels de GPT-2
Tout ce qui précède a été prouvé avec des chiffres théoriques, trois états abstraits, quelques logits inventés pour "pomme" et "banane". Remplaçons cela par quelque chose de réel. GPT-2, un modèle de langage petit et librement disponible, nous fournira des logits réels pour une phrase réelle, et nous pourrons observer comment softmax les transforme devant nous, à quatre températures différentes.
Le paramétrage est simple : fournissez au modèle l'invite "Je suis fatigué, je vais prendre un __", et demandez-lui ce qui vient ensuite. En interne, il produit un logit brut pour chaque mot de son vocabulaire, des dizaines de milliers de nombres. Pour la visualisation, nous ne garderons que les cinq logits candidats les plus élevés et les renormaliserons avec softmax sur ces cinq à T = 0.1, 0.5, 1.0 et 2.0.






