Temperature (LLM) (SV)
Temperatur (eng. Temperature) i kontexten av stora språkmodeller (LLM) är en hyperparameter som styr graden av slumpmässighet och "kreativitet" vid textgenerering. Den reglerar hur "skarp" eller omvänt "utjämnad" sannolikhetsfördelningen för nästa token är vid varje dekodningssteg. Genom att manipulera temperaturen kan man styra balansen mellan förutsägbarhet (koherens) och variation (kreativitet) i den genererade texten.
Enkel förklaring
Temperatur är en parameter som bestämmer hur försiktigt eller omvänt hur fritt modellen väljer nästa ord. En stor språkmodell har nästan aldrig bara en möjlig fortsättning: vanligtvis finns det vid varje steg flera lämpliga alternativ, och vart och ett av dem har sin egen sannolikhet. Temperaturen påverkar inte modellens kunskaper i sig och inte "vad den vet", utan hur exakt den väljer mellan dessa alternativ vid generering.
Vid låg temperatur uppför sig modellen mer konservativt. Den "litar" mer på de mest sannolika orden och avviker sällan från den mest förväntade fortsättningen. Som ett resultat blir texten vanligtvis jämnare, mer förutsägbar, formellt korrekt och sammanhängande. Detta läge är användbart där precision i formuleringar, stabilitet i svaret, reproducerbarhet av resultatet och minimering av onödig variation är viktigt. Men detta tillvägagångssätt har också en baksida: texten kan bli alltför schablonartad, torr, enformig och ibland överdrivet "försiktig". Vid alltför låg temperatur kan modellen till och med börja upprepa samma konstruktioner i oändlighet (fastna i en loop), och "fastna" på de mest sannolika men inte alltid lämpliga fortsättningarna.
Vid hög temperatur uppför sig modellen djärvare. Den tillåter oftare val av inte bara de mest sannolika, utan även mindre uppenbara ord. Tack vare detta blir svaren mer varierande, levande, originella och ibland mer kreativa. Detta kan vara användbart i kreativa uppgifter, vid brainstorming, idégenerering, skönlitterära texter eller när man söker flera olika formuleringar. Men tillsammans med ökad variation ökar också risken: texten kan bli mindre sammanhängande, mindre exakt, och i extrema fall – märklig, ologisk eller slumpmässig.
En praktisk intuition är att temperaturen är inte en kunskapsregulator, utan en riskregulator vid ordval. Låg temperatur tvingar modellen att nästan alltid välja det "säkraste" alternativet. Hög temperatur låter den oftare "ta risker" och prova mindre uppenbara fortsättningar.
En annan användbar bild: temperaturen kan jämföras med hur en människa svarar på en fråga. Om ett officiellt, exakt och noggrant svar krävs väljer människan i allmänhet de mest neutrala och förväntade formuleringarna – detta liknar låg temperatur. Om uppgiften däremot är att komma på en ovanlig idé, metafor, berättelsegrepp eller flera icke-standardiserade alternativ, blir formuleringarna friare och djärvare – detta liknar hög temperatur.
Sålunda ansvarar temperaturen för balansen mellan två egenskaper hos genereringen:
- förutsägbarhet och stabilitet i svaret;
- variation och oväntat i formuleringar.
Ju lägre temperaturen är, desto närmre är modellen den mest sannolika och standardmässiga fortsättningen. Ju högre temperaturen är, desto större utrymme för variation, men desto svagare kontroll över stringens och koherens i resultatet.
Teoretisk definition
Matematiskt introduceras temperaturen () som en divisor i softmax-funktionen, som omvandlar modellens utdata-logitar () till en sannolikhetsfördelning (). Formeln ser ut på följande sätt:
Där:
- — den slutliga sannolikheten för den -te token vid temperatur .
- — logiten (ej normaliserad poäng) för den -te token som utfärdats av modellen.
- — temperaturparametern (strikt positivt tal). Till exempel, i OpenAI API för de flesta modeller är det tillåtna intervallet från 0 till 2,0, där 0 är ett specialfall av greedy decoding (se nedan). I andra bibliotek (Hugging Face Transformers, llama.cpp) kan temperaturen anta vilket positivt värde som helst.
Viktigt: temperaturen påverkar utdata endast i lägen med sampling. I lägen utan sampling (greedy decoding, klassisk beam search) har temperaturparametern ingen effekt. Till exempel, i Hugging Face Transformers måste man aktivera do_sample=True för att temperaturen ska fungera.
Effekt av temperaturvärdet
- (standardvärde): Sannolikhetsfördelningen förblir oförändrad. Detta är standard-softmax som återspeglar modellens ursprungliga förutsägelser.
- (låg temperatur, t.ex. – ): Fördelningen blir mer skarp eller toppig. Sannolikheterna för de mest sannolika token ökar, medan de för osannolika minskar. Detta gör genereringen mer deterministisk och förutsägbar. Modellen väljer oftare uppenbara, högfrekventa ord, vilket ökar koherens och grammatisk korrekthet i texten, men minskar dess variation.
- (hög temperatur, t.ex. – ): Fördelningen blir mer jämn eller uniform. Skillnaden mellan sannolikheterna för token jämnas ut, vilket ökar chansen att välja mindre sannolika (och mer "oväntade") token. Detta gör texten mer kreativ, varierad och oförutsägbar, men ökar risken för generering av inkoherenta eller grammatiskt felaktiga fraser.
Gränsfall
- : I gränsen, när temperaturen tenderar mot noll, förvandlas softmax-funktionen till argmax. Modellen väljer alltid token med den högsta logiten. Detta läge är ekvivalent med greedy decoding och är helt deterministiskt. Det leder ofta till repetitiv och schablonartad text. Obs: värdet kan inte sättas in direkt i formeln (division med noll); i många implementationer hanteras det som ett specialläge för maximalt konservativt val, nära greedy decoding. Inte alla hosted API:er garanterar full determinism vid – till exempel, i Anthropic API kan resultaten variera något även vid nolltemperatur.
- : När temperaturen tenderar mot oändligheten blir sannolikhetsfördelningen likformig. Alla token i vokabulären blir lika sannolika, och modellen genererar ett slumpmässigt "medvetandeflöde", som fullständigt förlorar koherens. I praktiken behövs inte oändlighet: redan vid blir fördelningen nästan likformig och texten förvandlas till en inkoherent sammansättning av token.
Praktisk tillämpning och rekommendationer
Korrekt val av temperatur är kritiskt viktigt och beror på den specifika uppgiften. De intervall som anges nedan är grova heuristiker — optimala värden kan skilja sig avsevärt beroende på den specifika modellen, domänen och uppgiften.
- För kreativa uppgifter (skrivande av berättelser, dikter, marknadsföringsslogan):
- En högre temperatur () rekommenderas.
- Detta stimulerar modellen att generera mer oväntade och kreativa idéer, använda varierat ordförråd och undvika schablonfraser.
- För uppgifter som kräver precision och faktakorrekthet (fråge-svar, sammanfattning, kodgenerering):
- En låg temperatur () rekommenderas.
- Detta minskar variation och ökar reproducerbarheten av resultatet, och tvingar modellen att hålla sig till de mest sannolika textfortsättningarna. Vid blir genereringen deterministisk (med fast seed och frånvaro av andra slumpmässighetskällor), vilket är användbart för testning och felsökning, men kan maskera problem som endast uppstår vid sampling. Men låg temperatur garanterar i sig inte faktisk noggrannhet — om modellen inte har den nödvändiga kunskapen kan den med säkerhet generera ett felaktigt svar. För maximal faktakorrekthet rekommenderas det att kombinera låg temperatur med kunskapsbaserade sökmetoder (RAG) och förbättrad prompting. I OpenAI-dokumentationen rekommenderas för uppgifter med datautvinning och faktabaserade svar.
- För reasoning-uppgifter, matematik och kodgenerering:
- Som regel används lägre temperaturer, men det optimala värdet beror avsevärt på den specifika modellen och uppgiften.
- Obs: i vissa reasoning-modeller (till exempel familjen OpenAI o1/o3) kan sampling-parametrar vara begränsade eller fastställda på leverantörssidan. Den interna chain-of-thought kräver stabil fördelning, så leverantörer kan helt blockera ändring av temperatur eller acceptera användarvärden endast inom ett snävt intervall.
- För dialogsystem och chatbots:
- En måttlig temperatur () rekommenderas.
- Detta möjliggör en balans: svaren förblir sammanhängande och relevanta, men blir inte heller alltför torra och enformiga.
Obs: i OpenAI API-dokumentationen rekommenderas det att ändra antingen temperature eller top_p, men inte båda parametrarna samtidigt — annars blir beteendet svårt att förutsäga. I OpenAI API-referensexempel anges vanligtvis som standardvärde.
Jämförelse med Top-k och Top-p
Temperatur, till skillnad från avskärningsmetoder som Top-k och Top-p (nucleus sampling), fungerar på ett annat sätt:
- Temperatur omfördelar sannolikheterna mellan alla token i vokabulären, men avskär inte någon av dem. Även vid mycket låg temperatur har osannolika token en minimal men icke-noll chans att väljas.
- Top-k och Top-p introducerar hård avskärning, som helt utesluter token som inte hamnat i samplingkärnan. Sådan avskärning minskar risken för val av svanstoken, men är i sig en grov heuristik och kan kasta bort troliga fortsättningar med icke-noll "sann" sannolikhet.
I praktiken används dessa parametrar ofta tillsammans. Till exempel kan man ange en måttlig temperatur (t.ex. ) för den övergripande stilen och lägga till Top-p (t.ex. ) för att skära bort "svansen" av fördelningen och minska risken för grova fel. Vid mycket låg temperatur () förlorar Top-p i praktiken sin mening, eftersom fördelningen redan har bara en signifikant topp.
Temperaturens samspel med andra dekodningsparametrar
Temperatur används nästan aldrig isolerat. I praktiken kombineras den med andra hyperparametrar för att finjustera balansen "kreativitet ↔ tillförlitlighet".
Typisk ordning för tillämpning av parametrar
I vanliga sampling-implementationer (särskilt Hugging Face Transformers) tillämpas parametrarna vanligtvis i följande ordning:
- Modellen producerar råa logitar ().
- Upprepningsstraff (repetition / frequency / presence penalty) tillämpas — ändring av logitar baserat på redan genererade token.
- Temperatur skalar logitarna: .
- Softmax tillämpas → en ny sannolikhetsfördelning erhålls.
- Avskärning (truncation): först Top-k (om angiven), sedan Top-p eller Min-p.
- Från den återstående "kärnan" sker slumpmässig urvals (sampling).
I detta typiska schema ändrar temperaturen formen på fördelningen efter tillämpning av upprepningsstraff, men före softmax och filtrering. Därför ger samma vid och vid en helt annan storlek på "kärnan". Straff och temperatur interagerar icke-linjärt — detta är viktigt att ta hänsyn till vid val av parametrar. Den interna tillämpningsordningen i hosted API:er (OpenAI, Anthropic) är inte offentligt dokumenterad på denna detaljnivå.
Top-p (nucleus sampling) och Min-p
Min-p (minimum probability sampling) är en relativt ny avskärningsmetod som sätter ett lägre sannolikhetströskel relativt den mest sannolika token (vanligtvis 0,05–0,1). Till skillnad från Top-p avskär den token efter ett relativt tröskel (kopplat till sannolikheten för den bästa token, inte till en fast kumulativ massa), vilket är särskilt effektivt vid hög temperatur (>0,8): det förhindrar val av helt olämpliga token utan betydande förlust av variation. Min-p stöds av flera populära open-source inference-stackar, inklusive vLLM och llama.cpp.
Repetition / Frequency / Presence penalty
Frequency_penalty och presence_penalty (OpenAI API) minskar sannolikheten för upprepning av redan förekommande token. De kan kompensera en av nackdelarna med låg temperatur — tendensen till schablonartad text och loopning.
Typical sampling och Mirostat
Typical sampling (Meister et al., 2023) väljer token vars sannolikhet ligger nära kontextens "förväntade" entropi. Mirostat (v2) justerar dynamiskt avskärningsparametrarna så att målperplexiteten förblir konstant — detta är användbart för långa texter där stilstabilitet är kritisk.
Illustrativa konfigurationsexempel
Nedan visas ungefärliga konfigurationer för olika typer av uppgifter. Dessa värden är inte allmänna rekommendationer — optimala parametrar beror på den specifika modellen, uppgiften och inference-stacken.
| Uppgift | Temperatur | Möjlig kombination | Logik |
|---|---|---|---|
| Factual Q&A, sammanfattning | 0,0–0,3 | T + top_p=0,9 | Minimering av slumpmässig variation |
| Kodgenerering, matematik | 0,1–0,4 | T + repetition_penalty | Stabilitet + undvikande av loopning |
| Dialoger / chatbots | 0,6–0,85 | T + top_p=0,92 eller min_p=0,1 | Balans mellan naturlighet och koherens |
| Kreativitet (berättelser, marknadsföring) | 0,75–1,1 | T + min_p=0,07–0,1 | Variation med svansfiltrering |
| Long-form / agenter | 0,5–0,8 | Mirostat eller T + frequency_penalty | Kontroll av längd och koherens |
Allmänt råd: man bör inte ändra temperature och top_p kraftigt samtidigt. I allmänhet är det bekvämare att fixera en av truncation-parametrarna och styra kreativiteten med temperaturen — detta gör modellbeteendet mer förutsägbart.
Egenskap hos moderna aligned-modeller: i starkt inriktade modeller (som genomgått RLHF / Constitutional AI / RLAIF) är effekten av hög temperatur försvagad jämfört med basmodeller — modellen genererar sällan inkoherent text även vid . Specifika optimala värden kan förändras med lanseringen av nya modellgenerationer; rekommendationerna ovan är aktuella per 2025–2026.
Litteratur
- Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
- Caccia, M. et al. (2018). Language GANs Falling Short. arXiv:1811.02549.
- Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
- Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
- Hewitt, J.; Manning, C.; Liang, P. (2022). Truncation Sampling as Language Model Desmoothing. arXiv:2210.15191.
- Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
- O'Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
- Finlayson, M. et al. (2023). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693.
- Shi, C. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
- Ravfogel, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
- Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
- Basu, S. et al. (2021). Mirostat: A Perplexity-Controlled Neural Text Decoding Algorithm. arXiv:2007.14966.
- Nguyen, M. N. et al. (2025). Turning Up the Heat: Min-p Sampling for Diverse and High-Quality Text Generation. arXiv:2407.01082.
- Renze, M.; Guven, E. (2024). The Effect of Sampling Temperature on Problem Solving in Large Language Models. arXiv:2402.05201.
- Zhang, S. et al. (2024). EDT: Improving Large Language Models' Generation by Entropy-based Dynamic Temperature Sampling. arXiv:2403.14541.
- Li, L. et al. (2025). Exploring the Impact of Temperature on Large Language Models: Hot or Cold?. arXiv:2506.07295.
Se även
- Stora språkmodeller