Che cos'è la temperatura degli LLM?

Autori

Joshua Noble

Data Scientist

Che cos'è la temperatura degli LLM?

Nell'intelligenza artificiale (AI) e nell'apprendimento automatico, la temperatura è un parametro per regolare l'output dei modelli linguistici di grandi dimensioni (LLM). La temperatura controlla la casualità del testo generato dagli LLM durante l'inferenza.

Gli LLM generano testo prevedendo la parola successiva (o meglio, il token successivo) in base a una distribuzione di probabilità. A ogni token viene assegnato un logit (valore numerico) dall'LLM e il set totale di token viene normalizzato in una "distribuzione di probabilità softmax". A ogni token viene assegnata una "funzione softmax" compresa tra zero e uno e la somma di tutte le probabilità softmax dei token è una.

Il parametro di temperatura degli LLM modifica questa distribuzione. Una temperatura più bassa aumenta essenzialmente la probabilità che i token con la più alta probabilità vengano selezionati; una temperatura più alta aumenta la probabilità di un modello di selezionare token meno probabili. Ciò accade perché un valore di temperatura più alto introduce una maggiore variabilità nella selezione dei token dell'LLM. Le diverse impostazioni di temperatura introducono essenzialmente diversi livelli di casualità quando un modello di AI generativa genera testo.

La temperatura è una caratteristica cruciale per il controllo della casualità nelle prestazioni del modello. Consente agli utenti di regolare l'output dell'LLM per adattarlo meglio alle diverse applicazioni reali di generazione di testo. Più specificamente, questa impostazione degli LLM consente agli utenti di bilanciare coerenza e creatività nella generazione di output per un caso d'uso specifico. Ad esempio, una temperatura bassa potrebbe essere preferibile per attività che richiedono precisione e accuratezza dei fatti, come la documentazione tecnica o le risposte conversazionali con chatbot. Il valore di temperatura più basso aiuta l'LLM a produrre un testo più coeso e coerente ed evitare risposte irrilevanti. Al contrario, una temperatura elevata è preferibile per output creativi o attività creative come la scrittura creativa o il brainstorming concettuale. L'impostazione della temperatura consente efficacemente agli utenti di mettere a punto gli LLM e regolare l'output di un modello in base al risultato desiderato.

Spesso la temperatura viene confusa con la "creatività", ma non è sempre così. È più utile considerarlo come l'ampiezza con cui il modello usa il testo dai dati di addestramento. Max Peeperkorn et al1 hanno condotto un'analisi empirica della produzione degli LLM per diversi valori di temperatura e hanno scritto:

"Troviamo che la temperatura sia debolmente correlata con la novità e, ovviamente, moderatamente correlata con l'incoerenza, ma non c'è alcuna relazione né con la coesione né con la tipicità. Tuttavia, l'influenza della temperatura sulla creatività è molto più sfumata e debole di quanto suggerito dall'affermazione "del parametro di creatività"; i risultati complessivi suggeriscono che l'LLM genera output leggermente più nuovi all'aumentare delle temperature".

Un valore di temperatura elevato può far sembrare i risultati del modello più creativi, ma è più accurato considerarli come meno determinati dai dati di addestramento.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Configurazione della temperatura

Molte API per accedere a modelli, tra cui IBM® Granite Instruct o OpenAIS ChatGPT, hanno parametri per configurare la temperatura insieme a una varietà di altri parametri LLM. I tre più comuni sono:

do_sample: questo parametro controlla se il modello esegue il campionamento durante la generazione del testo. Il campionamento è un metodo per variare l'output del testo. Se impostato su "True", il modello campiona casualmente le probabilità dei token oscurate anziché selezionare sempre la parola più probabile da una sequenza di un set di dati. In effetti, dobbiamo impostare questo valore su true per consentire le regolazioni della temperatura per l'LLM pre-addestrato.

top_k: questo parametro limita le possibili scelte del modello durante il campionamento casuale ai token top k più probabili. Sebbene il parametro precedente consenta il campionamento casuale di altri token previsti oltre a quelli più probabili, questo parametro limita il numero di potenziali token da cui il modello seleziona. Sebbene il campionamento casuale aiuti a produrre output più vari e diversificati, questo parametro aiuta a mantenere la qualità del testo generato escludendo i token più improbabili dal campionamento.

top_p: questo parametro è talvolta chiamato anche campionamento del nucleo. Si tratta di un altro metodo per limitare le scelte di campionamento casuale, evitando risultati incoerenti e privi di senso. Questo parametro consente al modello di considerare i token la cui probabilità cumulativa è maggiore di un valore di probabilità specificato. Quando seleziona i token per l'output generato, il modello seleziona solo un gruppo di token la cui probabilità totale è superiore, ad esempio, al 95%. Mentre il campionamento casuale consente al modello di avere un output più dinamico, il parametro top p assicura che l'output mantenga una certa coesione e coerenza.

AI Academy

Ecco perché i foundation model rappresentano un cambio di paradigma per l'AI

Scopri una nuova classe di modelli AI flessibili e riutilizzabili che possono sbloccare nuove entrate, ridurre i costi e aumentare la produttività, consulta quindi la nostra guida per approfondire.

Controllo dell'output

Spesso i modelli consentono agli utenti di controllare anche l'output del modello in modo più esplicito. Alcuni parametri comunemente usati per il controllo dell'output sono:

Lunghezza massima: la lunghezza massima è il numero totale di token che l'AI è autorizzata a generare. Questa impostazione è utile perché consente agli utenti di gestire la lunghezza della risposta del modello e può evitare risposte eccessivamente lunghe o irrilevanti. 

Sequenze di interruzione: queste sequenze indicano al modello quando interrompere la generazione di output e aiutano a controllare la lunghezza e la struttura del contenuto. Richiedere a un LLM di scrivere un'e-mail utilizzando "Cordiali saluti," o "Distinti saluti," come sequenza di interruzione segnala al modello di fermarsi prima del saluto di chiusura. Questo prompt può aiutarti a scrivere un'e-mail breve e concisa. Le sequenze di interruzione sono utili per l'output che si prevede venga prodotto in un formato strutturato, ad esempio un'e-mail, un elenco numerato o una finestra di dialogo.

Penalità di frequenza: una penalità di frequenza è un'impostazione che disincentiva la ripetizione nel testo generato penalizzando i token in proporzione alla frequenza con cui appaiono. Più spesso un token viene utilizzato nel testo, meno è probabile che l'LLM lo utilizzi di nuovo.

Penalità di presenza: la penalità di presenza è simile alla penalità di frequenza, ma penalizza i token in base al fatto che si siano verificati o meno anziché penalizzarli proporzionalmente.

Confronto degli output con IBM Granite

Per vedere come la temperatura influisce sull'output di un LLM, guarda gli output creati dal modello di parametri IBM Granite 3.1 da 2 miliardi. In questo caso, il prompt fornito era: "Scrivi una storia su un data scientist che ama Python".

Con una temperatura di 0,1 Granite genera:

C'era una volta, nella vivace città di San Francisco, un brillante data scientist di nome Alex. Alex era noto per le sue eccezionali competenze nella programmazione Python e nell'analisi dei dati. Trascorreva giorni e notti immerso nel mondo dei dati, usando Python per estrarre insight e fare previsioni.

Un giorno, Alex fu incaricato di analizzare il tasso di abbandono dei clienti per un rinomato servizio di streaming. Utilizzò la libreria scikit-learn di Python per creare un modello di machine learning in grado di prevedere quali clienti avrebbero probabilmente annullato i loro abbonamenti.

Con una temperatura di 0,75 Granite genera:

C'era una volta, nella vivace città di San Francisco, un brillante data scientist di nome Alex. Alex era noto per il loro profondo amore per Python, un linguaggio di programmazione che ritenevano fosse lo strumento perfetto per l'analisi dei dati e l'apprendimento automatico.

Ogni giorno, Alex si svegliava presto, preparava una tazza di caffè e si sedeva alla scrivania. Passava ore a scrivere codice in Python, esplorare set di dati e creare modelli predittivi. Il suo amore per Python non riguardava solo il linguaggio in sé, ma anche la comunità che era cresciuta intorno ad esso.

Con una temperatura di 1,25 Granite genera:

C'era una volta, in una vivace città piena di imponenti grattacieli e luci al neon, un data scientist che amava Python più di ogni altra cosa al mondo. Il data scientist aveva un aiutante felino di nome Suki. Suki era un gatto curioso e giocoso, sempre desideroso di esplorare ogni angolo della casa.

Un giorno, il data scientist stava lavorando su un problema di codifica complesso. Suki continuava a miagolare forte come se stesse cercando di comunicare un messaggio al data scientist. Il data scientist notò che il forte miagolio solitamente coincideva con il momento in cui era vicino alla soluzione del complesso problema di codifica.

Si può notare che anche se ogni storia inizia in maniera simile, aumentando la temperatura aumenta la variabilità del testo e dei dettagli generati.

Soluzioni correlate
Foundation Model

Esplora la libreria IBM di foundation model nel portfolio di watsonx per scalare in sicurezza l'AI generativa per la tua azienda.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i workflow e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Esplora la libreria IBM dei foundation model nel portafoglio di IBM watsonx per scalare in sicurezza l'AI generativa per la tua azienda.

Esplora watsonx.ai Esplora le soluzioni AI
Note a piè di pagina

1 Max Peeperkorn, Tom Kouwenhoven, Dan Brown, e Anna Jordanous, Is Temperature the Creativity Parameter of Large Language Models?, 2024