Temperature (LLM) (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

Hőmérséklet (angolul: Temperature) a nagy nyelvi modellek (LLM) kontextusában egy olyan hiperparaméter, amely szabályozza a véletlenszerűség és a „kreativitás" szintjét a szöveggenerálás során. Szabályozza a következő token valószínűségi eloszlásának „élességét" vagy éppen „simítottságát" minden egyes dekódolási lépésben. A hőmérséklet manipulálásával irányítható az egyensúly a kiszámíthatóság (koherencia) és a változatosság (kreativitás) között a generált szövegben.

Egyszerű magyarázat

A hőmérséklet egy olyan paraméter, amely meghatározza, mennyire óvatosan vagy éppen szabadon választja meg a modell a következő szót. Egy nagy nyelvi modellnek szinte soha nincs egyetlen lehetséges folytatása: általában minden lépésben több megfelelő lehetőség létezik, és mindegyiknek megvan a saját valószínűsége. A hőmérséklet nem magára a modell tudására, nem arra hat, hogy „mit tud", hanem arra, hogyan választ ezek között a lehetőségek között a generálás során.

Alacsony hőmérséklet esetén a modell konzervatívabban viselkedik. Erősebben „bízik" a legnagyobb valószínűségű szavakban, és ritkábban tér el a leginkább várt folytatástól. Ennek eredményeként a szöveg általában egyenletesebb, kiszámíthatóbb, formálisan helyesebb és következetesebb lesz. Ez a mód hasznos ott, ahol fontos a fogalmazás pontossága, a válasz stabilitása, az eredmény reprodukálhatósága és a felesleges variativitás minimalizálása. Azonban ennek a megközelítésnek van egy hátránya is: a szöveg túlságosan sablonossá, szárazsá, egyhangúvá, és néha indokolatlanul „óvatossá" válhat. Túlzottan alacsony hőmérsékleten a modell akár végtelen ciklusba is kerülhet, ugyanazokat a szerkezeteket ismételgetve, „elakadva" a legvalószínűbb, de nem mindig helyénvaló folytatásoknál.

Magas hőmérséklet esetén a modell bátrabban viselkedik. Gyakrabban teszi lehetővé nem csak a legvalószínűbb, hanem a kevésbé nyilvánvaló szavak kiválasztását is. Ennek köszönhetően a válaszok változatosabbak, élénkebbek, kevésbé sablonosak és néha eredetibbek lesznek. Ez hasznos lehet kreatív feladatoknál, ötletbörzéknél, ötletgenerálásnál, szépirodalmi szövegeknél vagy több különböző megfogalmazás keresésekor. De a változatosság növekedésével együtt nő a kockázat is: a szöveg kevésbé összefüggő, kevésbé pontos lehet, szélsőséges esetekben pedig furcsa, logikátlan vagy véletlenszerű.

Egy kényelmes intuíció: a hőmérséklet nem a tudás szabályozója, hanem a szóválasztás kockázatának szabályozója. Az alacsony hőmérséklet szinte mindig a „legbiztonságosabb" lehetőséget választatja a modellel. A magas hőmérséklet lehetővé teszi, hogy a modell gyakrabban „kockáztasson" és kevésbé nyilvánvaló folytatásokat próbáljon ki.

Egy másik hasznos kép: a hőmérséklet ahhoz hasonlítható, ahogyan egy ember válaszol egy kérdésre. Ha hivatalos, pontos és körültekintő válaszra van szükség, az ember általában a legsemlegesebb és legvártabb megfogalmazásokat választja – ez az alacsony hőmérséklethez hasonló. Ha viszont a feladat szokatlan ötlet, metafora, cselekményfordulat vagy néhány nem szokványos variáns kitalálása, a megfogalmazások szabadabbá és bátrabbalá válnak – ez a magas hőmérséklethez hasonló.

Igy a hőmérséklet a generálás két tulajdonsága közötti egyensúlyért felelős:

  • a válasz kiszámíthatóságáért és stabilitásáért;
  • a megfogalmazások változatosságáért és meglepetésszerűségéért.

Minél alacsonyabb a hőmérséklet, annál közelebb kerül a modell a legvalószínűbb és legszokványosabb folytatáshoz. Minél magasabb a hőmérséklet, annál nagyobb a variativitás tere, de annál gyengébb az eredmény szigorúsága és összefüggősége feletti kontroll.

Elméleti meghatározás

Matematikailag a hőmérséklet (T) a softmax függvénybe osztóként kerül bevezetésre, amely a modell kimeneti logitjait (ui) valószínűségi eloszlássá (Pi) alakítja át. A képlet a következőképpen néz ki:

Pi(T)=eui/Tjeuj/T

Ahol:

  • Pi(T) — a i-ik token végleges valószínűsége T hőmérsékleten.
  • ui — a i-ik token logitja (nem normalizált értékelése), amelyet a modell adott ki.
  • T — a hőmérséklet paramétere (szigorúan pozitív szám). Például az OpenAI API-ban a legtöbb modellnél az engedélyezett tartomány 0 és 2.0 között van, ahol a 0 egy speciális eset, a greedy decoding (lásd alább). Más könyvtárakban (Hugging Face Transformers, llama.cpp) a hőmérséklet bármilyen pozitív értéket felvehet.

Fontos: a hőmérséklet a kimenetre csak sampling módokban hat. Sampling nélküli módokban (greedy decoding, klasszikus beam search) a hőmérséklet paramétere nem fejt ki hatást. Például a Hugging Face Transformers esetén a hőmérséklet működéséhez engedélyezni kell a do_sample=True opciót.

A hőmérséklet értékének hatása

  • T=1 (standard érték): A valószínűségi eloszlás változatlan marad. Ez a standard softmax, amely a modell eredeti előrejelzéseit tükrözi.
  • T<1 (alacsony hőmérséklet, például 0.20.7): Az eloszlás élesebbé vagy csúcsosabbá válik. A legvalószínűbb tokenek valószínűsége növekszik, a kis valószínűségűeké csökken. Ez a generálást determinisztikusabbá és kiszámíthatóbbá teszi. A modell gyakrabban választja a nyilvánvaló, nagy frekvenciájú szavakat, ami növeli a szöveg koherenciáját és grammatikai helyességét, de csökkenti annak változatosságát.
  • T>1 (magas hőmérséklet, például 1.11.5): Az eloszlás simábbá vagy egyenletesebbé válik. A tokenek valószínűségei közötti különbség kisimul, ami növeli a kevésbé valószínű (és „meglepőbb") tokenek kiválasztásának esélyét. Ez a szöveget kreatívabbá, változatosabbá és kiszámíthatatlanabbá teszi, de növeli az összefüggéstelen vagy grammatikailag helytelen mondatok generálásának kockázatát.

Határesetek

  • To0: A határesetben, amikor a hőmérséklet nullához tart, a softmax függvény argmax-szá alakul. A modell mindig a legmagasabb logitú tokent fogja kiválasztani. Ez a mód egyenértékű a mohó dekódolással (greedy decoding) és teljesen determinisztikus. Gyakran ismétlődő és sablonos szöveget eredményez. Megjegyzés: a T=0 érték nem helyettesíthető közvetlenül a képletbe (nullával való osztás); sok implementációban ezt speciális módként kezelik, amely a greedy decoding-hoz közeli, maximálisan konzervatív választást jelent. Ugyanakkor nem minden hosted API garantálja a teljes determinizmust T=0 esetén — például az Anthropic API-ban még nulla hőmérsékleten is előfordulhat, hogy az eredmények kissé változnak.
  • To: Amikor a hőmérséklet végtelenhez tart, a valószínűségi eloszlás egyenletessé válik. A szótár összes tokenje egyenlő valószínűségűvé válik, és a modell véletlenszerű „tudatfolyamot" generál, teljesen elveszítve a koherenciát. A gyakorlatban a végtelenre nincs szükség: már T>2.0-nál az eloszlás majdnem egyenletessé válik, és a szöveg összefüggéstelen tokenek halmazává alakul.

Gyakorlati alkalmazás és ajánlások

A hőmérséklet helyes megválasztása kritikus fontosságú és az adott feladattól függ. Az alábbiakban felsorolt tartományok durva heurisztikák — az optimális értékek az adott modelltől, területtől és feladattól függően lényegesen eltérhetnek.

  • Kreatív feladatokhoz (novellák, versek, marketingszlogenek írása):
    • Ajánlott magasabb hőmérséklet (T0.71.2).
    • Ez arra ösztönzi a modellt, hogy váratlanabb és kreatívabb ötleteket generáljon, változatos szókincset használjon és kerülje a sablonos kifejezéseket.
  • Pontosságot és tényszerűséget igénylő feladatokhoz (kérdés-válasz, összefoglalás, kódgenerálás):
    • Ajánlott alacsony hőmérséklet (T0.00.4).
    • Ez csökkenti a variativitást és növeli az eredmény reprodukálhatóságát, arra kényszerítve a modellt, hogy a szöveg legvalószínűbb folytatásaihoz ragaszkodjon. T=0 esetén a generálás determinisztikussá válik (rögzített seed és egyéb véletlenszerűségi források hiánya esetén), ami hasznos teszteléshez és hibakereséshez, de elfedhet olyan problémákat, amelyek csak sampling esetén nyilvánulnak meg. Azonban az alacsony hőmérséklet önmagában nem garantálja a tényszerű pontosságot — ha a modell nem rendelkezik a szükséges tudással, magabiztosan generálhat helytelen választ. A maximális tényszerűség érdekében ajánlott az alacsony hőmérsékletet tudásbázis-keresési módszerekkel (RAG) és fejlettebb promptinggal kombinálni. Az OpenAI dokumentációja adatkinyerési és tényszerű válaszadási feladatokhoz T=0 értéket ajánl.
  • Reasoning, matematika és kódgenerálási feladatokhoz:
    • Általában alacsonyabb hőmérsékleteket alkalmaznak, azonban az optimális érték észrevehetően függ az adott modelltől és feladattól.
    • Megjegyzés: egyes reasoning modellekben (például az OpenAI o1/o3 család) a sampling paraméterek a szolgáltató oldalán korlátozottak vagy rögzítettek lehetnek. A belső chain-of-thought stabil eloszlást igényel, ezért a szolgáltatók teljesen blokkolhatják a hőmérséklet módosítását, vagy csak szűk tartományban fogadják el a felhasználói értékeket.
  • Párbeszédes rendszerekhez és chatbotokhoz:
    • Ajánlott mérsékelt hőmérséklet (T0.50.8).
    • Ez lehetővé teszi az egyensúly megtalálását: a válaszok összefüggőek és témábalivágóak maradnak, de nem válnak túlságosan szárazsá és egyhangúvá.

Megjegyzés: az OpenAI API dokumentációja azt javasolja, hogy vagy a temperature, vagy a top_p paramétert módosítsuk, de ne mindkettőt egyszerre — ellenkező esetben a viselkedés nehezen megjósolhatóvá válik. Az OpenAI API referenciapéldáiban alapértelmezett értékként általában T=1.0 szerepel.

Összehasonlítás a Top-k és Top-p módszerekkel

A hőmérséklet, ellentétben a levágási módszerekkel, mint például a Top-k és a Top-p (nucleus sampling), másképpen működik:

  • A hőmérséklet újraelosztja a valószínűségeket a szótár összes tokenje között, de egyiket sem vágja le. Még nagyon alacsony hőmérsékleten is a kis valószínűségű tokeneknek megmarad egy elenyésző, de nem nulla esélyük arra, hogy kiválasszák őket.
  • A Top-k és a Top-p szigorú levágást vezet be, teljesen kizárva azokat a tokeneket, amelyek nem kerültek be a mintavételi magba. Ez a levágás csökkenti a „farok" tokenek kiválasztásának kockázatát, de önmagában durva heurisztika, és eldobhat valószerű, nem nulla „valódi" valószínűségű folytatásokat.

A gyakorlatban ezeket a paramétereket gyakran együtt alkalmazzák. Például beállítható egy mérsékelt hőmérséklet (például T=0.8) az általános stílus érdekében, és hozzáadható a Top-p (például p=0.9) az eloszlás „farkának" levágásához és a durva hibák kockázatának csökkentéséhez. Nagyon alacsony hőmérséklet esetén (To0) a Top-p lényegében értelmét veszti, mivel az eloszlásnak egyébként is csak egyetlen jelentős csúcsa van.

A hőmérséklet és más dekódolási paraméterek kölcsönhatása

A hőmérsékletet szinte soha nem alkalmazzák önállóan. A gyakorlatban más hiperparaméterekkel kombinálják a „kreativitás ↔ megbízhatóság" egyensúly finomhangolásához.

A paraméterek alkalmazásának tipikus sorrendje

A legelterjedtebb sampling implementációkban (különösen a Hugging Face Transformers esetén) a paramétereket általában a következő sorrendben alkalmazzák:

  1. A modell nyers logitokat (ui) ad ki.
  2. Ismétlési büntetések kerülnek alkalmazásra (repetition / frequency / presence penalty) — a logitok módosítása a már generált tokenek alapján.
  3. A hőmérséklet skálázza a logitokat: ui/T.
  4. Softmax alkalmazásra kerül → új valószínűségi eloszlás jön létre.
  5. Levágás (truncation): először Top-k (ha meg van adva), majd Top-p vagy Min-p.
  6. A megmaradó „magból véletlenszerű mintavétel (sampling) történik.

Ebben a tipikus sémában a hőmérséklet az ismétlési büntetések alkalmazása után, de a softmax és a szűrés előtt változtatja meg az eloszlás alakját. Ezért ugyanaz a top_p=0.9 T=0.2 esetén és T=1.5 esetén teljesen eltérő méretű „magot" eredményez. A büntetések és a hőmérséklet nemlineárisan hatnak egymásra — ezt fontos figyelembe venni a paraméterek beállításakor. A hosted API-k (OpenAI, Anthropic) belső alkalmazási sorrendje nem dokumentált nyilvánosan ilyen részletességgel.

Top-p (nucleus sampling) és Min-p

Min-p (minimum probability sampling) — egy viszonylag új levágási módszer, amely a legvalószínűbb tokenhez viszonyított minimális valószínűségi küszöböt állít be (általában 0.05–0.1). A Top-p-vel ellentétben relatív küszöb alapján vágja le a tokeneket (amely a legjobb token valószínűségéhez van kötve, nem rögzített kumulatív tömeghez), ami különösen hatékony magas hőmérsékleten (>0.8): megakadályozza a teljesen nem megfelelő tokenek kiválasztását anélkül, hogy jelentősen csökkentené a változatosságot. A Min-p-t számos népszerű open-source inference stack támogatja, beleértve a vLLM-et és a llama.cpp-t.

Repetition / Frequency / Presence penalty

A frequency_penalty és a presence_penalty (OpenAI API) csökkenti a már megjelenő tokenek ismétlődésének valószínűségét. Kompenzálhatják az alacsony hőmérséklet egyik hátrányát — a sablonos szöveg és a ciklizálódás hajlamát.

Typical sampling és Mirostat

A Typical sampling (Meister et al., 2023) olyan tokeneket választ ki, amelyek valószínűsége közel van a kontextus „várható" entrópiájához. A Mirostat (v2) dinamikusan igazítja a levágási paramétereket, hogy a célzott perplexity állandó maradjon — ez hasznos hosszú szövegek esetén, ahol a stílus stabilitása kritikus.

Illusztrációs konfigurációs példák

Az alábbiakban példaszerű konfigurációk láthatók különféle feladattípusokhoz. Ezek az értékek nem általános ajánlások — az optimális paraméterek az adott modelltől, feladattól és inference stacktől függnek.

Feladat Hőmérséklet Lehetséges kombináció Logika
Factual Q&A, összefoglalás 0.0–0.3 T + top_p=0.9 Véletlenszerű variativitás minimalizálása
Kódgenerálás, matematika 0.1–0.4 T + repetition_penalty Stabilitás + ciklizálódás elkerülése
Párbeszédek / chatbotok 0.6–0.85 T + top_p=0.92 vagy min_p=0.1 Természetesség és összefüggőség egyensúlya
Kreativitás (novellák, marketing) 0.75–1.1 T + min_p=0.07–0.1 Változatosság farokszűréssel
Long-form / ágensek 0.5–0.8 Mirostat vagy T + frequency_penalty A hossz és összefüggőség kontrollja

Általános tanács: ne változtassuk egyszerre erősen a temperature és a top_p értékét. Általában célszerűbb az egyik truncation paramétert rögzíteni, és a kreativitást a hőmérséklettel szabályozni — ez kiszámíthatóbbá teszi a modell viselkedését.

A modern aligned modellek sajátossága: az erősen kiegyensúlyozott modellekben (amelyek RLHF / Constitutional AI / RLAIF folyamaton mentek át) a magas hőmérséklet hatása gyengébb az alap modellekhez képest — a modell ritkábban generál összefüggéstelen szöveget még T=1.2 esetén is. Az egyes optimális értékek változhatnak az új modellgenerációk megjelenésével; a fenti ajánlások a 2025–2026-os állapotot tükrözik.

Irodalom

  • 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.

Lásd még

  • Nagy nyelvi modellek