Temperature (LLM) (RO)
Temperatura (engl. Temperature) în contextul modelelor lingvistice mari (LLM) este un hiperparametru care controlează nivelul de aleatoriu și „creativitate" la generarea textului. Acesta reglează „ascuțimea" sau, dimpotrivă, „netezimea" distribuției de probabilitate a tokenului următor la fiecare pas de decodare. Prin manipularea temperaturii, se poate gestiona echilibrul dintre predictibilitate (coerență) și diversitate (creativitate) a textului generat.
Explicație simplă
Temperatura este un parametru care stabilește cât de prudent sau, dimpotrivă, cât de liber alege modelul cuvântul următor. Un model lingvistic mare nu are aproape niciodată o singură continuare posibilă: de obicei, la fiecare pas există mai multe variante potrivite, fiecare cu propria probabilitate. Temperatura nu influențează cunoștințele modelului în sine, nici „ceea ce știe", ci modul în care alege între aceste variante în timpul generării.
La o temperatură scăzută, modelul se comportă mai conservator. Acesta „are mai multă încredere" în cuvintele cele mai probabile și se abate mai rar de la continuarea cea mai așteptată. Drept urmare, textul este de obicei mai uniform, mai predictibil, corect din punct de vedere formal și mai coerent. Acest mod este util acolo unde contează precizia formulărilor, stabilitatea răspunsului, reproductibilitatea rezultatului și minimizarea variabilității inutile. Cu toate acestea, această abordare are și o parte negativă: textul poate deveni prea tipizat, uscat, monoton și uneori excesiv de „prudent". La o temperatură extrem de scăzută, modelul poate începe chiar să repete la nesfârșit aceleași construcții (să intre în buclă), „blocându-se" pe cele mai probabile, dar nu întotdeauna adecvate continuări.
La o temperatură ridicată, modelul se comportă mai îndrăzneț. Acesta permite mai des alegerea nu doar a cuvintelor celor mai probabile, ci și a celor mai puțin evidente. Prin aceasta, răspunsurile devin mai diverse, mai vii, mai neconvenționale și uneori mai originale. Acest lucru poate fi util în sarcini creative, brainstorming, generarea de idei, texte artistice sau căutarea mai multor formulări diferite. Dar odată cu creșterea diversității crește și riscul: textul poate deveni mai puțin coerent, mai puțin precis, iar în cazuri extreme — straniu, ilogic sau aleatoriu.
O intuiție convenabilă este că temperatura nu este un regulator al cunoștințelor, ci un regulator al riscului în alegerea cuvintelor. O temperatură scăzută face ca modelul să aleagă aproape întotdeauna varianta „cea mai sigură". Una ridicată — îi permite să „riște" mai des și să încerce continuări mai puțin evidente.
O altă imagine utilă: temperatura poate fi comparată cu modul în care o persoană răspunde la o întrebare. Dacă se solicită un răspuns oficial, precis și îngrijit, persoana alege de obicei formulările cele mai neutre și așteptate — aceasta seamănă cu o temperatură scăzută. Dacă sarcina constă în a imagina o idee neobișnuită, o metaforă, un fir narativ sau mai multe variante neconvenționale, formulările devin mai libere și mai îndrăznețe — aceasta seamănă cu o temperatură ridicată.
Astfel, temperatura reglează echilibrul dintre două proprietăți ale generării:
- predictibilitatea și stabilitatea răspunsului;
- diversitatea și neașteptatul formulărilor.
Cu cât temperatura este mai scăzută, cu atât modelul se apropie mai mult de continuarea cea mai probabilă și standard. Cu cât temperatura este mai ridicată, cu atât spațiul pentru variabilitate este mai mare, dar cu atât controlul asupra rigorii și coerenței rezultatului este mai slab.
Definiție teoretică
Matematic, temperatura () este introdusă ca un divizor în funcția softmax, care transformă logit-urile de ieșire ale modelului () în distribuția de probabilitate (). Formula arată astfel:
Unde:
- — probabilitatea finală a tokenului cu indicele la temperatura .
- — logit-ul (scorul nenormalizat) pentru tokenul cu indicele , furnizat de model.
- — parametrul de temperatură (număr strict pozitiv). De exemplu, în API-ul OpenAI pentru majoritatea modelelor, intervalul admis este de la 0 la 2.0, unde 0 este un caz special de greedy decoding (vezi mai jos). În alte biblioteci (Hugging Face Transformers, llama.cpp) temperatura poate lua orice valoare pozitivă.
Important: temperatura influențează outputul doar în modurile cu sampling. În modurile fără sampling (greedy decoding, beam search clasic) parametrul de temperatură nu are efect. De exemplu, în Hugging Face Transformers, pentru ca temperatura să funcționeze, este necesar să activați do_sample=True.
Influența valorii temperaturii
- (valoare standard): Distribuția de probabilitate rămâne neschimbată. Acesta este softmax-ul standard, care reflectă predicțiile originale ale modelului.
- (temperatură scăzută, de exemplu, – ): Distribuția devine mai ascuțită sau mai concentrată. Probabilitățile tokenurilor cele mai probabile cresc, iar ale celor mai puțin probabile scad. Aceasta face generarea mai deterministă și mai predictibilă. Modelul alege mai des cuvinte evidente, cu frecvență ridicată, ceea ce sporește coerența și corectitudinea gramaticală a textului, dar îi reduce diversitatea.
- (temperatură ridicată, de exemplu, – ): Distribuția devine mai netedă sau mai uniformă. Diferența dintre probabilitățile tokenurilor se atenuează, ceea ce mărește șansa de a selecta tokenuri mai puțin probabile (și mai „neașteptate\"). Aceasta face textul mai creativ, mai divers și mai impredictibil, dar crește riscul generării de fraze incoerente sau gramatical incorecte.
Cazuri limită
- : La limită, când temperatura tinde la zero, funcția softmax se transformă în argmax. Modelul va alege întotdeauna tokenul cu cel mai ridicat logit. Acest mod este echivalent cu decodarea lacomă (greedy decoding) și este complet determinist. Duce adesea la text repetitiv și tipizat. Notă: valoarea nu poate fi introdusă direct în formulă (împărțire la zero); în multe implementări este tratată ca un mod special de selecție maximă conservatoare, apropiat de greedy decoding. Nu toate API-urile hostate garantează determinism complet la — de exemplu, în API-ul Anthropic, chiar și la temperatură zero, rezultatele pot varia nesemnificativ.
- : Când temperatura tinde la infinit, distribuția de probabilitate devine uniformă. Toți tokenii din vocabular devin echiprobabili, iar modelul generează un „flux de conștiință" aleatoriu, pierzând complet coerența. În practică, infinitul nu este necesar: deja la distribuția devine aproape uniformă, iar textul se transformă într-un șir incoherent de tokeni.
Aplicare practică și recomandări
Alegerea corectă a temperaturii este esențială și depinde de sarcina concretă. Intervalele prezentate mai jos sunt euristici aproximative — valorile optime pot diferi semnificativ în funcție de modelul concret, domeniu și sarcină.
- Pentru sarcini creative (scrierea de povestiri, poezii, slogane de marketing):
- Se recomandă o temperatură mai ridicată ().
- Aceasta stimulează modelul să genereze idei mai neașteptate și mai creative, să folosească un vocabular diversificat și să evite frazele tipice.
- Pentru sarcini ce necesită precizie și acuratețe factuală (răspunsuri la întrebări, sumarizare, generare de cod):
- Se recomandă o temperatură scăzută ().
- Aceasta reduce variabilitatea și sporește reproductibilitatea rezultatului, determinând modelul să se țină de continuările cele mai probabile ale textului. La generarea devine deterministă (cu seed fix și absența altor surse de aleatoriu), ceea ce este util pentru testare și depanare, dar poate masca probleme care apar doar la sampling. Cu toate acestea, temperatura scăzută în sine nu garantează acuratețea factuală — dacă modelul nu deține cunoștința necesară, poate genera cu încredere un răspuns incorect. Pentru acuratețe factuală maximă, se recomandă combinarea temperaturii scăzute cu metode de căutare în baza de cunoștințe (RAG) și cu un prompting îmbunătățit. În documentația OpenAI, pentru sarcini de extragere a datelor și răspunsuri factuale, se recomandă .
- Pentru sarcini de reasoning, matematică și generare de cod:
- De regulă, se utilizează temperaturi mai scăzute, însă valoarea optimă depinde considerabil de modelul și sarcina concretă.
- Notă: în unele modele de reasoning (de exemplu, familia OpenAI o1/o3) parametrii de sampling pot fi limitați sau fixați de partea furnizorului. Chain-of-thought-ul intern necesită o distribuție stabilă, astfel că furnizorii pot bloca complet modificarea temperaturii sau pot accepta valorile utilizatorului doar într-un interval restrâns.
- Pentru sisteme de dialog și chat-boți:
- Se recomandă o temperatură moderată ().
- Aceasta permite găsirea unui echilibru: răspunsurile rămân coerente și relevante, dar nu devin prea uscate și monotone.
Notă: în documentația OpenAI API se recomandă modificarea fie a temperature, fie a top_p, dar nu a ambilor parametri simultan — altfel comportamentul devine greu de prevăzut. În exemplele de referință ale OpenAI API, valoarea implicită este de obicei .
Comparație cu Top-k și Top-p
Temperatura, spre deosebire de metodele de trunchiare precum Top-k și Top-p (nucleus sampling), funcționează diferit:
- Temperatura redistribuie probabilitățile între toți tokenii din vocabular, dar nu elimină niciunul dintre ei. Chiar și la o temperatură foarte scăzută, tokenii mai puțin probabili au o șansă infimă, dar nenulă, de a fi selectați.
- Top-k și Top-p introduc o trunchiare strictă, excludând complet tokenii care nu au intrat în nucleul de selecție. O astfel de trunchiare reduce riscul selectării tokenilor de coadă, dar în sine este o euristică grosolană și poate elimina continuări plauzibile cu o probabilitate „reală" nenulă.
În practică, acești parametri sunt adesea utilizați împreună. De exemplu, se poate seta o temperatură moderată (de exemplu, ) pentru stilistica generală și se poate adăuga Top-p (de exemplu, ) pentru a elimina „coada" distribuției și a reduce riscul erorilor grave. La o temperatură foarte scăzută (), Top-p practic își pierde sensul, deoarece distribuția oricum are un singur vârf semnificativ.
Interacțiunea temperaturii cu alți parametri de decodare
Temperatura nu este aproape niciodată utilizată în izolare. În practică, aceasta este combinată cu alți hiperparametri pentru reglarea fină a echilibrului „creativitate ↔ fiabilitate".
Ordinea tipică de aplicare a parametrilor
În implementările comune de sampling (în particular, Hugging Face Transformers) parametrii sunt de obicei aplicați în următoarea ordine:
- Modelul produce logit-uri brute ().
- Se aplică penalizările pentru repetiții (repetition / frequency / presence penalty) — modificarea logit-urilor pe baza tokenilor deja generați.
- Temperatura scalează logit-urile: .
- Se aplică softmax → se obține noua distribuție de probabilitate.
- Trunchierea (truncation): mai întâi Top-k (dacă este setat), apoi Top-p sau Min-p.
- Din „nucleul" rămas are loc selecția aleatorie (sampling).
În această schemă tipică, temperatura modifică forma distribuției după aplicarea penalizărilor pentru repetiții, dar înainte de softmax și filtrare. De aceea, una și aceeași la și la produce dimensiuni complet diferite ale „nucleului". Penalizările și temperatura interacționează neliniar — acest lucru este important de luat în considerare la alegerea parametrilor. Ordinea internă de aplicare în API-urile hostate (OpenAI, Anthropic) nu este documentată public la un astfel de nivel de detaliu.
Top-p (nucleus sampling) și Min-p
Min-p (minimum probability sampling) este o metodă relativ nouă de trunchiare, care stabilește un prag minim de probabilitate relativ la tokenul cel mai probabil (de obicei 0,05–0,1). Spre deosebire de Top-p, acesta elimină tokenii după un prag relativ (legat de probabilitatea tokenului cel mai bun, nu de o masă cumulativă fixă), ceea ce este deosebit de eficient la temperaturi ridicate (>0,8): previne selecția tokenilor complet nepotriviți fără o pierdere semnificativă a diversității. Min-p este suportat de o serie de stack-uri populare de inferență open-source, inclusiv vLLM și llama.cpp.
Repetition / Frequency / Presence penalty
Frequency_penalty și presence_penalty (OpenAI API) reduc probabilitatea repetării tokenilor care au apărut deja. Acestea pot compensa unul dintre dezavantajele temperaturii scăzute — tendința spre tipizare și bucle.
Typical sampling și Mirostat
Typical sampling (Meister et al., 2023) selectează tokenii a căror probabilitate este apropiată de „entropia așteptată" a contextului. Mirostat (v2) ajustează dinamic parametrii de trunchiare pentru ca perplexity-ul țintă să rămână constant — acest lucru este util pentru texte lungi, unde stabilitatea stilului este critică.
Exemple ilustrative de configurare
Mai jos sunt prezentate configurații aproximative pentru diverse tipuri de sarcini. Aceste valori nu constituie recomandări de uz general — parametrii optimi depind de modelul concret, de sarcină și de stack-ul de inferență.
| Sarcină | Temperatură | Posibilă combinație | Logică |
|---|---|---|---|
| Factual Q&A, sumarizare | 0.0–0.3 | T + top_p=0.9 | Minimizarea variabilității aleatorii |
| Generare de cod, matematică | 0.1–0.4 | T + repetition_penalty | Stabilitate + evitarea buclelor |
| Dialoguri / chat-boți | 0.6–0.85 | T + top_p=0.92 sau min_p=0.1 | Echilibru între naturalețe și coerență |
| Creativitate (povestiri, marketing) | 0.75–1.1 | T + min_p=0.07–0.1 | Diversitate cu filtrarea cozii |
| Long-form / agenți | 0.5–0.8 | Mirostat sau T + frequency_penalty | Controlul lungimii și coerenței |
Sfat general: nu se recomandă modificarea simultană semnificativă a temperature și top_p. De regulă, este mai convenabil să se fixeze unul dintre parametrii de trunchiare și să se gestioneze creativitatea prin temperatură — aceasta face comportamentul modelului mai predictibil.
Particularitate a modelelor aligned moderne: în modelele puternic aliniate (care au trecut prin RLHF / Constitutional AI / RLAIF) efectul temperaturii ridicate este atenuat față de modelele de bază — modelul generează mai rar text incoherent chiar și la . Valorile optime concrete pot varia odată cu apariția noilor generații de modele; recomandările de mai sus sunt actuale începând cu 2025–2026.
Referințe bibliografice
- 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.
Vezi și
- Modele lingvistice mari