Temperature, top-p e seed: i parametri degli LLM spiegati
Cosa fanno davvero temperature, top-p, top-k e seed in un LLM, come influenzano le risposte e quali valori usare a seconda del compito.
Chi usa un LLM via API si trova davanti una manciata di parametri — temperature, top_p, top_k, seed — con documentazioni che li spiegano in modo circolare. Sono le uniche leve che hai sul comportamento del modello oltre al prompt, e usarle bene cambia la resa in modo tangibile. In questo articolo ti spiego cosa fanno davvero e quali valori usare.
Da dove nascono questi parametri
Per capirli serve un fatto sul funzionamento degli LLM.
A ogni passo, il modello non sceglie una parola: produce una probabilità per ogni token possibile. Dopo "il gatto sale sul" potrebbe assegnare 40% a "tetto", 25% a "divano", 15% a "letto", e percentuali via via minori a migliaia di altre opzioni.
Poi qualcosa deve scegliere quale prendere. I parametri controllano esattamente questa scelta — non il ragionamento del modello, ma il criterio di selezione applicato alle sue probabilità. È un dettaglio che chiarisce subito cosa possono e non possono fare.
Il meccanismo di fondo è quello descritto in cos'è un Transformer.
Temperature
La temperature regola quanto la scelta si allontana dall'opzione più probabile.
Tecnicamente ridistribuisce le probabilità: valori bassi le concentrano sul token più probabile, valori alti le appiattiscono dando più chance alle opzioni minori.
| Valore | Comportamento |
|---|---|
| 0 | Sempre il token più probabile. Massima ripetibilità |
| 0,1-0,3 | Molto conservativo, poche variazioni |
| 0,5-0,7 | Equilibrio, buon default per la maggior parte degli usi |
| 0,8-1,0 | Creativo, varietà evidente |
| Sopra 1,2 | Incoerente, spesso inutilizzabile |
Due precisazioni che evitano fraintendimenti:
Temperature 0 non garantisce risposte identiche. Riduce moltissimo la variabilità, ma su infrastrutture distribuite piccole differenze di calcolo possono ancora produrre esiti diversi. Non contarci come garanzia assoluta.
Temperature alta non significa "più creativo" nel senso utile del termine. Significa più imprevedibile. Oltre una certa soglia il testo diventa semplicemente sconnesso, non originale. La vera creatività si ottiene dal prompt, non da questo parametro.
Top-p (nucleus sampling)
Il top-p limita la scelta ai token più probabili la cui probabilità cumulativa raggiunge la soglia indicata.
Con top_p = 0,9, il modello considera solo i token che insieme coprono il 90% della probabilità, scartando la coda lunga.
Il pregio rispetto alla temperature è che si adatta al contesto: dove il modello è molto sicuro, pochi token coprono già il 90% e la scelta resta stretta; dove è incerto, la rosa si allarga naturalmente.
Valori tipici: 0,9-0,95 per usi generali, 0,7-0,8 per output più controllati.
Regola pratica: regola temperature oppure top-p, non entrambi. Agiscono sulla stessa cosa e combinarli rende il comportamento difficile da prevedere. La maggior parte delle documentazioni lo consiglia esplicitamente. Il mio suggerimento: lascia top_p al default e lavora sulla temperature, che è più intuitiva.
Top-k
Limita la scelta ai k token più probabili, indipendentemente dalle loro probabilità.
Con top_k = 40, il modello considera solo i 40 candidati migliori.
È il più rigido dei tre, perché non si adatta al contesto: 40 opzioni sono troppe quando il modello è sicuro e poche quando è incerto. Per questo il top-p ha largamente preso il suo posto. Nella pratica, lascialo al default.
Seed
Fissa il punto di partenza della componente casuale, rendendo le risposte riproducibili a parità di tutto il resto.
Serve soprattutto in due situazioni:
Test. Se stai confrontando due versioni di un prompt, un seed fisso ti permette di attribuire le differenze al prompt e non al caso.
Debug. Riprodurre un output problematico per capire cosa è successo.
Attenzione: la riproducibilità vale solo a parità di modello, versione e parametri. Se il fornitore aggiorna il modello sotto lo stesso nome, lo stesso seed non ridà lo stesso risultato. Non è un meccanismo su cui costruire garanzie di lungo periodo.
Gli altri parametri utili
Max tokens — il tetto sulla lunghezza della risposta. Serve a contenere i costi e a proteggersi da output anomali, come spiego in quanto costano le API degli LLM. Attenzione: tronca a metà frase quando viene raggiunto, non riassume.
Stop sequences — sequenze che interrompono la generazione. Utili per output strutturati.
Frequency e presence penalty — scoraggiano rispettivamente la ripetizione di token già usati e l'insistenza sugli stessi argomenti. Valori bassi (0,1-0,5) aiutano su testi lunghi che tendono a girare in tondo. Valori alti producono testi forzati.
Quali valori usare, per compito
Questa è la tabella pratica:
| Compito | Temperature | Nota |
|---|---|---|
| Estrazione dati, classificazione | 0 - 0,2 | Serve determinismo |
| Generazione di codice | 0,1 - 0,3 | La creatività qui è un difetto |
| Risposte fattuali, assistenza | 0,2 - 0,4 | |
| Riassunti | 0,3 - 0,5 | |
| Conversazione | 0,6 - 0,8 | Varietà naturale |
| Testi di marketing, idee | 0,7 - 0,9 | |
| Brainstorming, scrittura creativa | 0,9 - 1,1 |
L'errore più comune è lasciare il default su compiti che richiedono precisione. Se stai estraendo campi da un documento o generando JSON, la temperature va abbassata: ogni variazione è un potenziale errore di formato.
L'errore opposto è alzarla sperando in risposte migliori. Non funziona così: una risposta sbagliata a temperature 0,3 non diventa giusta a 0,9, diventa sbagliata in modo diverso.
Cosa questi parametri NON fanno
Vale la pena essere netti, perché è fonte di aspettative sbagliate:
Non rendono il modello più accurato. Abbassare la temperature riduce la variabilità, non gli errori di conoscenza. Le allucinazioni restano — anzi, a temperature 0 il modello ripete l'errore in modo affidabile.
Non sostituiscono un buon prompt. Il 90% della qualità viene da come formuli la richiesta, non dai parametri. Se il risultato non va, il problema è quasi sempre nel prompt — vedi prompt engineering: guida completa.
Non sono tutti disponibili ovunque. I modelli di reasoning, in particolare, spesso ignorano o limitano questi parametri, perché la loro elaborazione funziona diversamente — ne parlo in modelli di reasoning.
In sintesi
Questi parametri non controllano come il modello ragiona: controllano come viene scelto ogni token tra quelli che il modello considera probabili.
La temperature regola quanto ci si allontana dall'opzione più probabile; il top-p limita la rosa in modo adattivo; il top-k in modo rigido; il seed rende ripetibile la scelta.
In pratica ne serve uno solo: la temperature. Bassa (0-0,3) per precisione — dati, codice, formati strutturati. Media (0,5-0,7) per uso generale. Alta (0,8+) per varietà e idee.
E la cosa più importante da tenere presente: nessuno di questi valori compensa un prompt fatto male. Sono una rifinitura, non la leva principale.