{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"ai/temperature","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/ai/temperature/","da":"https://cmaintz.github.io/tech-atlas/da/terms/ai/temperature/"},"term":{"en":"Temperature","da":"Temperatur"},"aka":{"en":["sampling temperature"],"da":["samplingtemperatur"]},"domain":["ai"],"cluster":"prompting","layer":"inference","status":"current","summary":{"en":"A per-request dial - low keeps a language model's wording steady and repeatable, high makes it more varied and less predictable.","da":"En indstilling pr. kald - lav holder en sprogmodels ordvalg stabilt og gentageligt, høj gør det mere skiftende og uforudsigeligt."},"body":{"formal":{"en":"A number, usually from 0 to 1 or 0 to 2 depending on the provider, that reshapes the chances from next-token prediction before sampling picks a token; values below 1 sharpen them toward the most likely tokens, values above 1 flatten them so unlikely tokens are picked more often.","da":"Et tal, typisk fra 0 til 1 eller 0 til 2 afhængigt af udbyderen, der ændrer de chancer, forudsigelse af næste token giver, før sampling vælger et token; værdier under 1 skærper dem mod de mest sandsynlige tokens, værdier over 1 gør dem mere lige, så usandsynlige tokens vælges oftere."},"plain":{"en":"Like a DJ's shuffle setting - turned down, you mostly hear the crowd favourites; turned up, more rare tracks slip in.","da":"Som en DJ's blandeknap - skruet ned hører man mest publikumsfavoritterne; skruet op sniger flere sjældne numre sig ind."},"inPractice":{"en":"A developer in a municipality sets temperature near 0 for the tool that reads date and amount from incoming invoices, so the same invoice almost always gives the same result, and near 1 for the one that suggests headlines for the residents' newsletter.","da":"En udvikler i en kommune sætter temperaturen tæt på 0 for værktøjet, der aflæser dato og beløb på indgående fakturaer, så samme faktura næsten altid giver samme resultat, og tæt på 1 for det, der foreslår overskrifter til borgernes nyhedsbrev."},"whyItMatters":{"en":"It is one of the few levers you can change per request without touching the model; set wrong, text turns stiff and repetitive or loose and rambling, and even 0 does not promise identical answers every time.","da":"Det er et af de få håndtag, man kan ændre pr. kald uden at røre modellen; sat forkert bliver teksten stiv og gentagende eller løs og springende, og selv 0 garanterer ikke ens svar hver gang."}},"deepDive":{"en":"Temperature T divides the logits before the softmax: p_i = exp(z_i / T) / Σ_j exp(z_j / T). At T = 1 the model's distribution is unchanged. As T falls toward 0 the distribution sharpens and approaches a one-hot vector on the argmax, so sampling converges to greedy decoding; implementations special-case T = 0 as greedy rather than dividing by zero. As T grows the distribution flattens toward uniform, and the probability mass in the long tail of implausible tokens rises. The name comes from the Boltzmann distribution in statistical mechanics, and the same knob appears elsewhere in machine learning, for example in knowledge distillation (Hinton et al., 2015), where a raised temperature softens a teacher model's outputs.\n\nTemperature changes relative probabilities without changing their order: the most likely token remains the most likely at every T > 0. It interacts with truncation. In most implementations temperature is applied first and top-k, top-p or min-p afterwards, so a high temperature widens the nucleus that top-p keeps, while a low temperature can shrink it to a single token and make top-p irrelevant. That coupling is why providers advise tuning one of the two and leaving the other at its default; Anthropic's API documentation says to alter temperature or top_p but not both, and some newer models reject requests that set both.\n\nRanges and defaults differ by provider and change over time, so they should be read from the current API reference. OpenAI's Chat Completions API has documented a range of 0 to 2 with a default of 1; Anthropic's Messages API has documented 0 to 1 with a default of 1. Some reasoning models accept only the default value or ignore the parameter, because their reasoning is tuned for a fixed sampling setup. Values numerically equal across providers are not equivalent, since the underlying models' distributions differ.\n\nCommon misconceptions: temperature is not a creativity or accuracy dial as such. Low temperature makes output more consistent, not more correct - a model that is confidently wrong stays wrong, and greedy decoding can fall into repetition loops in long outputs. High temperature increases lexical variety but also the rate of factual slips and incoherence, especially in long generations where one improbable token shifts everything after it. And temperature 0 does not guarantee identical outputs on hosted APIs: batching and floating-point reduction order introduce small numerical differences that can flip near-tied tokens. For evaluation, run each test case several times rather than relying on T = 0 for determinism.","da":"Temperaturen T dividerer logits før softmax: p_i = exp(z_i / T) / Σ_j exp(z_j / T). Ved T = 1 er modellens fordeling uændret. Når T går mod 0, skærpes fordelingen og nærmer sig en one-hot-vektor på argmax, så sampling konvergerer mod grådig afkodning; implementeringer behandler T = 0 som grådig afkodning i stedet for at dividere med nul. Når T vokser, flades fordelingen ud mod det ensartede, og sandsynlighedsmassen i den lange hale af usandsynlige tokens stiger. Navnet kommer fra Boltzmann-fordelingen i statistisk mekanik, og samme knap findes andre steder i maskinlæring, fx i knowledge distillation (Hinton m.fl., 2015), hvor en hævet temperatur blødgør en lærermodels output.\n\nTemperaturen ændrer de relative sandsynligheder uden at ændre rækkefølgen: Det mest sandsynlige token forbliver det mest sandsynlige ved enhver T > 0. Den spiller sammen med afskæring. I de fleste implementeringer anvendes temperaturen først og top-k, top-p eller min-p bagefter, så en høj temperatur udvider den kerne, top-p beholder, mens en lav temperatur kan skrumpe den til ét token og gøre top-p irrelevant. Den kobling er grunden til, at udbyderne anbefaler at justere den ene af de to og lade den anden stå på standardværdien; Anthropics API-dokumentation siger, at man skal ændre temperature eller top_p, men ikke begge, og nogle nyere modeller afviser kald, der sætter begge.\n\nIntervaller og standardværdier varierer mellem udbydere og ændrer sig over tid, så de skal aflæses i den aktuelle API-reference. OpenAI's Chat Completions API har dokumenteret et interval fra 0 til 2 med standardværdien 1; Anthropics Messages API har dokumenteret 0 til 1 med standardværdien 1. Nogle ræsonnementsmodeller accepterer kun standardværdien eller ignorerer parameteren, fordi deres ræsonnement er tunet til en fast sampling-opsætning. Talmæssigt ens værdier hos forskellige udbydere er ikke ækvivalente, da de underliggende modellers fordelinger er forskellige.\n\nUdbredte misforståelser: Temperaturen er ikke i sig selv en knap for kreativitet eller korrekthed. Lav temperatur gør output mere ensartet, ikke mere korrekt - en model, der tager selvsikkert fejl, bliver ved med at tage fejl, og grådig afkodning kan havne i gentagelsesløkker i langt output. Høj temperatur øger ordvariationen, men også hyppigheden af faktuelle fejl og usammenhæng, især i lange tekster, hvor ét usandsynligt token flytter alt derefter. Og temperatur 0 garanterer ikke ens output fra hostede API'er: Batching og rækkefølgen af summeringer med flydende kommatal giver små numeriske forskelle, der kan vende næsten-uafgjorte tokens. Ved evaluering bør hvert testtilfælde køres flere gange i stedet for at stole på, at T = 0 giver determinisme."},"edges":[{"type":"requires","to":"ai/next-token-prediction","confidence":"high","strength":"normal"},{"type":"part-of","to":"ai/sampling","why":{"en":"It is a setting of the sampling step, adjusting the chances just before each token is drawn.","da":"Den er en indstilling i sampling-trinnet, der justerer chancerne lige før hvert token trækkes."},"confidence":"high","strength":"primary"},{"type":"used-with","to":"ai/top-p-sampling","why":{"en":"The two are often set together; many providers advise changing one and leaving the other at its default.","da":"De to sættes ofte sammen; mange udbydere anbefaler at ændre den ene og lade den anden stå på standardværdien."},"confidence":"high","strength":"normal"}],"depth":2,"sources":[{"title":"Jurafsky & Martin, Speech and Language Processing (3rd ed. draft), chapter on large language models (temperature sampling)","tier":"textbook"},{"title":"OpenAI API reference - Chat Completions (temperature, top_p)","tier":"official-doc","publisher":"OpenAI"}],"draft":true}