LLM temperatuur
Wanneer je met een LLM praat (bijvoorbeeld ChatGPT, Claude of Perplexity) is de temperatuur niet een concept waar je mee te maken krijgt, maar zodra je LLMs wilt gaan aanroepen via een API komt deze waarde al snel naar boven.
Wat is temperatuur precies?
Om deze vraag te beantwoorden moeten we eerst weer kort uitleggen hoe LLM's functioneren. Een LLM is een taalmodel dat voorspellingen doet. Hij voorspelt wat het volgende woord in een zin wordt, op basis van alle voorgaande woorden. Een LLM heeft een grote 'distributie' aan mogelijke woordvoorspellingen.
Neem bijvoorbeeld het fragment:
De hond
De LLM ziet deze 2 woorden, en gaat proberen te voorspellen wat het volgende woord in deze zin zou kunnen zijn. Hij doet dit op basis van een neuraal netwerk waarin hij alle verbanden en 'kansen' op deze verbanden heeft opgeslagen.
Een (fictieve) distributie zou bijvoorbeeld kunnen zijn:
In werkelijkheid zijn er natuurlijk veel meer opties - gerust tienduizenden. Maar voor ons fictieve voorbeeld doen we alsof het neurale netwerk van deze LLM slechts deze 4 verbanden met bijhorende percentages kent.
In bovenstaande voorbeeld, als je 10 keer deze zin zou laten 'aanvullen' door de LLM, is de kans vrij groot dat we 6 van de 10 keer kunnen klagen over een blaffende hond (maar heeft wel de voorkeur boven een bijtende natuurlijk).

Temperatuur
De waarde van de temperatuur bepaalt de randomness (willekeurigheid) en creativiteit van een taalmodel. Hoe lager de waarde, hoe deterministischer de output van een model is. En andersom, hoe hoger deze waarde, hoe creatiever de output is, maar ook hoe onsamenhangender het wordt.
De waarde van een temperatuur loopt meestal van 0 tot 1, waarbij de meeste commerciële chat-applicaties een waarde rond de 0.7 hanteren. Sommige taalmodellen en implementaties ondersteunen ook hogere waardes, meestal tot 2, maar in sommige situaties zelfs tot 4.
Temperatuurbereik | Typisch effect op de output |
---|---|
0.0 – 0.1 | Vrijwel deterministisch; herhaalt nagenoeg identieke antwoorden en volgt de prompt strikt. |
0.1 – 0.3 | Nuchter en voorspelbaar; lichte variatie mogelijk, maar nog steeds zeer feitelijk en consistent. |
0.3 – 0.6 | Gebalanceerde creativiteit; mix van correcte informatie en originaliteit – vaak het “comfort-creatieve” werkgebied. |
0.6 – 0.9 | Duidelijk creatiever en expressiever; verrassendere woordkeuze en invalshoeken, iets grotere kans op onnauwkeurige details. |
0.9 – 1.2 | Hoogst speels en divergent; veel onverwachte ideeën, maar ook verhoogd risico op inconsistenties of hallucinaties. |
1.2 – 1.5 | Zeer grillig; sterke variatie en experimentelere formuleringen, frequent off-topic of minder coherent. |
1.5 – 2.0 (+) | Bijna chaotisch; output kan onsamenhangend of surrealistisch worden, nuttig enkel voor extreme brainstormsessies of artistieke experimenten. |
Bovenstaande tabel is interessant, maar hoe komen dit soort resultaten nou concreet tot stand op basis van de werking van een LLM? Laten we onze hond weer even erbij roepen.
Temperatuur verlagen
In deze fictieve distributie gaan we ervan uit dat de temperatuur op 0.7 staat.
Wat zou er gebeuren als we de temperatuur verlagen, en het dus deterministischer maken? Als we de temperatuur verlagen naar 0.4 zou er bijvoorbeeld dit kunnen gebeuren:
De output wordt dus deterministischer: nu zal de hond 8 van de 10 keer blaffen. We zijn in feite de distributie een stuk 'scherper' of 'piekeriger' aan het maken.
Verlagen we het nog verder naar 0.2, wordt het effect nog groter:
En uiteindelijk een temperatuur van 0.0:

Temperatuur verhogen
Wanneer je de temperatuur verlaagt, creëer je pieken in je distributie. Het verhogen van de temperatuur zorgt daarentegen juist voor het platslaan van de distributie. Naarmate de temperatuur hoger wordt, beginnen de kansen van ieder resultaat steeds meer op elkaar te lijken.
Een temperatuur van 2.0 zou de kansen al wat meer naar elkaar toe kunnen trekken:
En dit zet natuurlijk voort naarmate je temperatuur hoger wordt. Bij 10.0:
En bij 20.0:

Het is natuurlijk een voorbeeld met fictieve percentages, en temperaturen worden in praktijk nooit zo hoog, maar dit extreme voorbeeld is puur om te laten zien hoe een hogere temperatuur de distributie dus 'platslaat'. In werkelijkheid zou je waarschijnlijk weinig meer hier aan hebben, want als alle woorden even waarschijnlijk zijn, kun je net zo goed een gesprek hebben waarop ieder woord met een (enorme) dobbelsteen gekozen wordt uit een woordenboek.
Hopelijk geeft dit wel een duidelijke verklaring waarom een LLM 'creatiever' lijkt te worden, of onsamenhangender. De daadwerkelijke statistische verbanden tussen woorden vervagen met een hogere temperatuur, dus een hond die een pizza bestelt begint net zoveel kans te krijgen als een hond die blaft.
Concreet voorbeeld
De theorie is leuk, maar hoe ziet het er in de praktijk uit? We hebben voor onderstaande tests het GPT-4.1 nano-model van OpenAI gebruikt. Dit model is vrij snel en goedkoop - wat goed uitkomt, gezien sommige van de responses die we kregen, maar het is tegelijkertijd slim genoeg voor deze taak.
Temperatuur 0.7
Aantal | Tekst |
---|---|
11 | De hond speelt in de tuin. |
7 | De hond rent in het park. |
3 | De hond rent door de tuin. |
3 | De hond rent door het park. |
1 | De hond blaft luid. |
Creatief bij hogere temperaturen is het zeker. Zoiets als De hond belt:445ikit detectivedrink
had ik zelf nooit kunnen verzinnen. Maar het is duidelijk ook een stuk onsamenhanger en willekeuriger. Ondanks dat er bij temperatuur 2.0 nog enkele leesbare zinnen tussen zitten, is het merendeel een grote berg aan nonsens.
En ook echt een berg nonsens. Sommige van de resultaten die we hier tonen, met name die van de hogere temperaturen, hebben we 'afgekapt'. We tonen hiervan alleen de eerste 150 karakters. In werkelijkheid waren sommige van deze reacties namelijk iets langer: er zaten reacties tussen van meer dan 4000 woorden. Deze reacties duurden ook vrij lang - op sommige moest ik meer dan 2 minuten wachten. En sommige reacties konden niet eens verwerkt worden en resulteerden in een crash.

Statistisch mogelijk
Wat misschien interessant is om te beseffen: de reacties die je bij de hogere temperaturen krijgt, zoals De hondatisfaction tail().
zitten dus statistisch gezien in de distributie van mogelijkheden wanneer je dit bericht aan ChatGPT stuurt. Het verhogen van de temperatuur voegt namelijk geen 'nieuwe reacties' toe, het verandert alleen de waarschijnlijkheidspercentages van alle bestaande verbanden.
Het is dus in theorie mogelijk dat wanneer je met ChatGPT chat (via de website, waar de temperatuur waarschijnlijk 0.7 is) je deze reactie ook krijgt. Het verband bestaat immers. Het is alleen ongelooflijk onwaarschijnlijk dat het in werkelijkheid zou gebeuren. Maar mogelijk heb je het (net zoals ik) toch wel eens een keer meegemaakt dat er een heel vreemde reactie werd gegeven door ChatGPT. En dat kwam dus waarschijnlijk omdat je precies een voorspelling met een heel laag kanspercentage wist te raken.
Balans
Een model waarbij de temperatuur dus te laag staat ingesteld, zal zichzelf vaak herhalen en met weinig originaliteit of (waarschijnlijk) interessante inzichten komen. Wanneer de temperatuur te hoog is, is er veel kans op onnauwkeurigheid, onsamenhangendheid en waarschijnlijk gewoon incorrecte antworden.
Er moet dus een temperatuur gekozen worden die de juiste balans vindt, en in praktijk blijkt dat meestal ergens tussen 0.7 en 1.0 te zijn, maar zoals we wel vaker zien is het ook weer afhankelijk van het gekozen model en de gewenste taak.
Afhankelijk van de taak is het dus soms interessant om de temperatuur wat hoger te zetten. Maar kijk dan alleen niet vreemd op als de pizzabezorger opeens voor de deur staat!
