Temperatura, top-p e top-k: cosa sono e come regolarli nei modelli AI
Scopri come funzionano temperatura, top-p e top-k negli LLM, quali valori usare per ogni compito e come evitare gli errori più comuni.

Hai mai provato a fare la stessa domanda due volte a ChatGPT e a ricevere due risposte diverse? Oppure ti sei chiesto perché, a volte, un modello linguistico scrive un testo brillante e creativo, mentre altre volte sembra ripetere sempre le stesse frasi prudenti? Dietro queste differenze non c’è il caso puro, e nemmeno un umore del modello: ci sono alcune manopole di controllo chiamate parametri di campionamento, tra cui temperatura, top-p e top-k.
Capirle ti permette di smettere di subire il comportamento del modello e di guidarlo. In questa guida completa vediamo cosa succede davvero quando un modello AI sceglie la parola successiva, come funzionano temperatura, top-p, top-k, penalità di ripetizione e gli altri parametri, quali valori usare per ogni compito e quali errori evitare.
Come un modello linguistico sceglie la parola successiva
Per capire i parametri bisogna prima capire il meccanismo di base. Un modello linguistico di grandi dimensioni (LLM) non scrive una frase intera in un colpo solo. Genera un pezzo di testo alla volta, e questi pezzi si chiamano token: possono essere parole intere, frammenti di parola o segni di punteggiatura. Dopo ogni token, il modello si ferma e ricalcola tutto.
Il risultato di questo calcolo non è una parola sola, ma un punteggio per ogni token del suo vocabolario, che può contenere decine o centinaia di migliaia di elementi. Questi punteggi grezzi si chiamano logit. Una funzione matematica detta softmax li trasforma in probabilità che sommano a uno: se dopo la frase «Il gatto dorme sul» il modello assegna il 60% a «divano», il 15% a «letto», il 5% a «tappeto» e il resto a migliaia di alternative, quella è la distribuzione di probabilità tra cui scegliere.
A questo punto entra in gioco il campionamento, cioè la regola con cui si estrae il token dalla distribuzione. È qui, e solo qui, che agiscono i parametri di cui parliamo. Il modello, con i suoi pesi, resta identico: cambia soltanto il modo in cui peschiamo dalle sue probabilità.
Decodifica greedy: sempre la scelta più probabile
La strategia più semplice è la decodifica greedy, o avida: a ogni passo si prende il token con la probabilità più alta e basta. Il vantaggio è la totale prevedibilità, perché a parità di input l’output è sempre lo stesso. Lo svantaggio è che il testo diventa spesso piatto, ripetitivo e a rischio di cicli, dove il modello ripete la stessa frase all’infinito.
Non sempre il token più probabile oggi porta alla frase migliore domani. Una scelta localmente ottima può chiudere la strada a una continuazione più interessante.
Campionamento casuale e perché serve controllarlo
L’alternativa è il campionamento stocastico: si estrae il token a caso, ma secondo le probabilità. Il «divano» uscirà il 60% delle volte, il «letto» il 15% e così via. Questo introduce varietà e naturalezza, ma ha un rischio: la coda lunga di token improbabili, sommata, pesa abbastanza da farne pescare ogni tanto uno fuori luogo, e da lì il testo può deragliare.
I parametri di campionamento servono proprio a trovare il compromesso tra i due estremi: abbastanza varietà per essere utili e creativi, abbastanza controllo per restare coerenti.
La temperatura: la manopola della creatività
La temperatura è il parametro più famoso e il più frainteso. Tecnicamente, è un numero con cui si dividono i logit prima di applicare la softmax. Il nome è preso in prestito dalla fisica statistica: un sistema caldo si muove in modo caotico, uno freddo si stabilizza negli stati più probabili.
In pratica, una temperatura bassa rende la distribuzione più appuntita: il token favorito diventa ancora più favorito e gli altri quasi spariscono. Una temperatura alta la appiattisce: le differenze si riducono e anche le opzioni meno probabili hanno una chance reale.
Cosa succede ai diversi valori
Con temperatura 0 il campionamento diventa di fatto greedy: il modello sceglie sempre il token più probabile. Con valori intorno a 0,2 o 0,3 le risposte sono molto stabili e precise, con pochissime variazioni da una richiesta all’altra. Con valori intorno a 0,7 si ottiene il classico equilibrio tra coerenza e varietà, che molti strumenti usano come impostazione predefinita.
Salendo verso 1 o oltre, il testo diventa più sorprendente, con accostamenti inattesi e metafore insolite. Oltre una certa soglia, che dipende dal modello, la qualità crolla: compaiono frasi sconnesse, parole inventate e passaggi senza senso.
Un dettaglio importante: la scala non è uguale per tutti. Alcuni servizi accettano valori da 0 a 1, altri da 0 a 2, e ogni modello ha una sensibilità sua. Un valore di 1,0 su un modello può essere perfettamente usabile e su un altro già troppo caldo.
Un errore comune: temperatura non significa intelligenza
Molti pensano che alzare la temperatura renda il modello «più creativo» in senso profondo. In realtà non gli dà idee migliori, gli permette solo di scegliere più spesso opzioni meno probabili. A volte sono geniali, a volte sono semplicemente sbagliate. Allo stesso modo, abbassare la temperatura non rende il modello più accurato dal punto di vista dei fatti: se la risposta più probabile è un errore, la temperatura zero ti darà l’errore con grande sicurezza. Per questo il tema si collega a quello delle allucinazioni dell’intelligenza artificiale, che hanno cause più profonde di un semplice valore numerico.
Top-p, o nucleus sampling: tagliare la coda improbabile
Il top-p, chiamato anche nucleus sampling, affronta il problema della coda lunga in modo più elegante. Invece di modificare tutta la distribuzione, la taglia: si ordinano i token dal più al meno probabile e si tiene soltanto il gruppo più piccolo la cui probabilità cumulata raggiunge la soglia p. Tutti gli altri vengono esclusi, e tra i superstiti si pesca secondo le probabilità rinormalizzate.
Un esempio concreto aiuta. Con top-p a 0,9, se i primi tre token valgono 60%, 20% e 12%, la somma arriva al 92% e il gruppo si ferma lì: gli altri migliaia di candidati non vengono nemmeno presi in considerazione.
Perché è adattivo
Il punto di forza del top-p è che il numero di token candidati cambia da un passo all’altro. Quando il modello è molto sicuro, per esempio perché deve completare una parola ormai evidente, il nucleo può contenere un solo token. Quando invece il contesto è aperto, come all’inizio di una frase creativa, il nucleo si allarga e lascia spazio alla varietà.
Valori tipici: 0,9 o 0,95 per un uso generale, 0,5 o meno quando vuoi risposte molto conservative, 1,0 per disattivare di fatto il filtro.
Top-k: un numero fisso di candidati
Il top-k è la versione più semplice: tieni solo i k token più probabili, qualunque sia la loro probabilità cumulata, e scarta il resto. Con k uguale a 40, per esempio, il modello pesca sempre tra i primi quaranta.
Il limite è proprio la rigidità. Quando il modello è quasi certo di un token, k uguale a 40 lascia comunque dentro trentanove alternative inutili. Quando il contesto è molto aperto, invece, quaranta candidati possono essere pochi. Per questo molti sviluppatori preferiscono il top-p, o lo usano insieme al top-k come ulteriore rete di sicurezza.
Non tutte le interfacce espongono il top-k: alcune API commerciali lo nascondono o non lo supportano, mentre è molto comune nei modelli open source eseguiti in locale.
Come si combinano temperatura, top-p e top-k
Questi parametri non agiscono da soli: lavorano in sequenza sulla stessa distribuzione. L’ordine esatto dipende dall’implementazione, ma in genere si applicano prima i filtri (top-k e top-p) e poi la temperatura, oppure viceversa. Per questo i loro effetti si sommano e a volte si sovrappongono.
La regola pratica più condivisa, che molti fornitori ripetono nella documentazione, è semplice: modifica un parametro alla volta. Se cambi temperatura e top-p insieme non saprai più quale dei due ha prodotto l’effetto che vedi. Scegli la manopola principale, di solito la temperatura, lascia le altre ai valori predefiniti e correggi soltanto se serve.
Un metodo di prova in tre passaggi
Per calibrare i parametri su un tuo compito reale puoi seguire questa sequenza.
- Prepara cinque o dieci richieste rappresentative del tuo lavoro e usa sempre le stesse.
- Esegui ogni richiesta più volte con un valore di temperatura e confronta le risposte tra loro: se sono troppo simili o troppo diverse, sposta il valore.
- Una volta trovato il valore giusto, annotalo insieme al modello usato, perché cambiando modello dovrai ricalibrare.
Gli altri parametri che contano davvero
Temperatura e top-p non sono gli unici controlli. Ce ne sono altri che incidono sul risultato finale e che vale la pena conoscere.
Penalità di frequenza e di presenza
Servono a combattere le ripetizioni. La penalità di frequenza riduce la probabilità di un token in proporzione al numero di volte in cui è già comparso nel testo generato. La penalità di presenza, invece, applica una riduzione fissa a qualsiasi token già apparso almeno una volta, spingendo il modello a introdurre argomenti nuovi.
Valori troppo alti producono effetti strani: il modello evita parole necessarie, come articoli o nomi propri, e il testo diventa innaturale. In generale bastano ritocchi leggeri.
Lunghezza massima e sequenze di stop
Il parametro di lunghezza massima, spesso chiamato max tokens, limita quanti token il modello può generare. Non rende la risposta più concisa: la taglia e basta, anche a metà frase. Se vuoi risposte brevi, è meglio chiederlo nel prompt e usare il limite solo come tetto di sicurezza e di costo.
Le sequenze di stop sono stringhe che, quando compaiono, fermano la generazione. Sono utili per formati strutturati, per esempio per interrompere il modello dopo la chiusura di un blocco di codice o di una voce di elenco.
Seed e riproducibilità
Alcune API permettono di impostare un seed, cioè il numero di partenza del generatore casuale. A parità di prompt, parametri e seed si dovrebbe ottenere lo stesso output, ma la garanzia non è mai assoluta: aggiornamenti del modello, differenze hardware e altri dettagli possono comunque introdurre variazioni.
Altri metodi di campionamento
Nel mondo open source esistono varianti più sofisticate, come il min-p, che fissa una soglia relativa alla probabilità del token migliore, e il campionamento tipico. Nascono per ottenere un controllo più fine rispetto al top-p, ma richiedono più sperimentazione e non sono disponibili ovunque.
Quali valori usare: una guida pratica per compito
Non esiste un valore universale: dipende da cosa devi ottenere. Le indicazioni che seguono sono punti di partenza ragionevoli, da verificare sempre sul tuo modello.
Compiti dove serve precisione
Per estrazione di dati, classificazione, risposte a domande su documenti, riassunti fedeli e generazione di codice conviene una temperatura bassa, tra 0 e 0,3. Qui la ripetibilità vale più della varietà, e vuoi che il modello resti vicino alle risposte più probabili. Nel codice, in particolare, una sola parola fuori posto può rompere tutto.
Attenzione però: temperatura bassa non sostituisce un buon prompt né i controlli sui fatti. Se stai lavorando con documenti aziendali, un buon prompt e una verifica umana pesano molto più del decimale della temperatura. Se vuoi approfondire come scrivere istruzioni efficaci, leggi la nostra guida completa al prompt engineering.
Compiti di scrittura e conversazione
Per email, articoli, post, descrizioni di prodotto e conversazioni naturali un valore tra 0,6 e 0,9 funziona bene. Il testo scorre, evita le frasi fotocopia e resta comunque coerente. Se noti che il modello ripete sempre gli stessi attacchi e le stesse formule, alza leggermente la temperatura o aggiungi una piccola penalità di frequenza.
Brainstorming e creatività spinta
Per cercare idee, nomi, slogan, trame o angolazioni insolite puoi salire tra 0,9 e 1,2, a seconda del modello. Un trucco utile è generare molte varianti con temperatura alta e poi selezionare tu le migliori, invece di cercare la risposta perfetta al primo colpo. Il costo di qualche scarto è basso, mentre il valore di un’idea inattesa può essere alto.
Ragionamento e problemi a più passaggi
Per matematica, logica e ragionamenti lunghi le indicazioni sono più sfumate. Una temperatura bassa riduce la variabilità, ma alcune tecniche, come generare più catene di ragionamento con temperatura media e scegliere la risposta più frequente, sfruttano proprio la diversità. Se ti interessa questo ambito, trovi il contesto nella nostra spiegazione del chain of thought prompting.
Inoltre, molti modelli di ragionamento recenti fissano da soli alcuni parametri e non permettono di modificarli: controlla sempre la documentazione del servizio che usi prima di cercare di regolarli.
Dove trovare questi parametri e come impostarli
La disponibilità dei controlli dipende dallo strumento. Nelle interfacce di chat per il grande pubblico, di solito, non vedi alcuna manopola: il fornitore ha scelto per te un valore predefinito. Qualcosa si può ottenere anche lì, a parole: chiedere «dammi tre versioni molto diverse tra loro» spinge il modello a esplorare la coda della distribuzione, mentre «rispondi in modo preciso e conciso» lo porta verso le scelte più sicure. Non è la stessa cosa che modificare la temperatura, ma l’effetto pratico è simile.
Nei playground per sviluppatori e nelle API trovi invece i parametri espliciti, di solito con nomi come temperature, top_p, max_tokens, frequency_penalty e presence_penalty. Alcune piattaforme di sviluppo chiamano il top-k con il suo nome inglese. Quando passi da un fornitore all’altro controlla sempre i nomi e gli intervalli accettati, perché non sono standardizzati.
Parametri nei modelli in locale
Se esegui un modello sul tuo computer, hai quasi sempre pieno accesso a tutti i controlli, compresi top-k, min-p e penalità di ripetizione. È uno dei grandi vantaggi di questo approccio, perché puoi sperimentare senza limiti. Se vuoi provarlo, trovi i passaggi nella nostra guida per eseguire un LLM in locale sul tuo computer. Con i modelli quantizzati può cambiare leggermente la sensibilità ai parametri, quindi conviene ricalibrare.
Errori comuni da evitare
Dopo aver visto come funzionano, ecco gli sbagli più frequenti che si incontrano nella pratica.
Il primo è alzare la temperatura per «migliorare» la qualità. Non è così: la qualità dipende dal modello, dal prompt e dal contesto. La temperatura cambia lo stile di scelta, non la competenza.
Il secondo è modificare tutto insieme. Se regoli temperatura, top-p, top-k e penalità nello stesso momento non capirai più cosa funziona. Procedi con un cambiamento alla volta e tieni traccia dei risultati.
Il terzo è dare per scontata la riproducibilità. Anche a temperatura zero, due esecuzioni possono differire per ragioni tecniche. Se ti serve una garanzia forte, per esempio in un flusso automatico, aggiungi controlli sull’output invece di fidarti ciecamente del valore impostato.
Il quarto è usare lo stesso valore per compiti diversi. Il parametro giusto per estrarre una data da una fattura non è quello giusto per scrivere uno slogan. Se lavori con strumenti automatizzati, imposta configurazioni separate per ogni tipo di attività.
Il quinto è trascurare il prompt. Un’istruzione chiara vale più di qualsiasi decimale: prima ottimizza la richiesta, poi, solo se serve, ritocca il campionamento.
Domande frequenti
Meglio regolare la temperatura o il top-p?
La maggior parte dei fornitori consiglia di regolarne uno solo. Per la maggior parte delle persone è più intuitivo lavorare sulla temperatura, lasciando il top-p al valore predefinito.
Temperatura zero garantisce sempre la stessa risposta?
Quasi, ma non sempre. Il calcolo in virgola mobile su hardware diverso e gli aggiornamenti del servizio possono produrre piccole differenze. Per usi critici servono comunque verifiche a valle.
Perché ChatGPT mi dà risposte diverse alla stessa domanda?
Perché, di norma, usa un campionamento con temperatura maggiore di zero: ogni volta estrae i token in modo leggermente diverso, e piccole differenze iniziali si accumulano fino a produrre testi diversi. Dipende anche dalla memoria della conversazione e da eventuali istruzioni personalizzate.
I parametri influenzano le allucinazioni?
In parte. Una temperatura molto alta aumenta il rischio di errori e di invenzioni, ma anche a temperatura bassa il modello può sbagliare con sicurezza. Per ridurre il problema servono buone fonti, verifica dei fatti e prompt ben costruiti.
Quanto contano rispetto alla lunghezza del contesto?
Sono due cose distinte: i parametri di campionamento riguardano come si sceglie il prossimo token, mentre la finestra di contesto riguarda quanto testo il modello riesce a considerare. Entrambe incidono sul risultato, ma in modi diversi.
Conclusioni: prendi il controllo della generazione
Temperatura, top-p, top-k e gli altri parametri non sono dettagli da smanettoni: sono lo strumento con cui adatti lo stesso modello a compiti molto diversi. Bassa temperatura per precisione e codice, valori medi per scrivere con naturalezza, valori alti per esplorare idee, sempre con un cambiamento alla volta e con una verifica sui risultati.
Il consiglio operativo è semplice: scegli un compito reale, prepara cinque richieste di prova e confronta tre valori di temperatura. In mezz’ora capirai il comportamento del tuo modello meglio di quanto possa spiegarti qualsiasi tabella. Poi salva le configurazioni che funzionano e riusale. Se questa guida ti è stata utile, esplora gli altri tutorial del sito per continuare a migliorare il tuo modo di lavorare con l’intelligenza artificiale.