top of page
Immagine del redattoreAndrea Viliotti

Scaling LLM: Ottimizzare il calcolo durante la fase di test può risultare più efficace rispetto all'incremento dei parametri del modello

Aggiornamento: 16 ago

Un gruppo di ricercatori, tra cui Charlie Snell, Jaehoon Lee, Kelvin Xu e Aviral Kumar, con il supporto di Google DeepMind e l'Università di Berkeley, ha esplorato un approccio innovativo nell'ottimizzazione dei modelli di linguaggio di grandi dimensioni (LLM). In particolare, hanno focalizzato l'attenzione sull'ottimizzazione del calcolo durante la fase di test (test-time compute), dimostrando come questo possa risultare più efficace rispetto al semplice aumento del numero di parametri del modello. Il loro studio ha rivelato che, invece di continuare a espandere le dimensioni del modello, una gestione più efficiente delle risorse computazionali durante il test può portare a risultati significativamente migliori.

Scaling LLM: Ottimizzare il calcolo durante la fase di test può risultare più efficace rispetto all'incremento dei parametri del modello
Scaling LLM: Ottimizzare il calcolo durante la fase di test può risultare più efficace rispetto all'incremento dei parametri del modello

Per comprendere appieno il concetto, tradizionalmente, per elevare la qualità del testo generato, si tende ad accrescere la complessità del modello, aumentando il numero di parametri, che rappresentano i "mattoni" informativi utilizzati dal modello per effettuare previsioni. Tuttavia, questo approccio comporta un notevole consumo di memoria e risorse computazionali, rendendo l'utilizzo di modelli molto sofisticati costoso e difficile da gestire.

 

L'alternativa esplorata in questo studio propone di concentrare gli sforzi sull'ottimizzazione di come vengono utilizzate le risorse di calcolo al momento del test, cioè quando il modello viene effettivamente utilizzato per generare un output, come una risposta testuale. Invece di rendere il modello stesso più grande e complesso, si cerca di far sì che le risorse già disponibili siano impiegate nel modo più efficiente possibile.

 

In questo studio, viene analizzata la possibilità di aumentare la potenza di calcolo durante il processo di inferenza nei LLM, con l'obiettivo di rispondere a una domanda specifica: se a un LLM viene concesso di utilizzare una quantità fissa ma significativa di risorse computazionali durante l'inferenza, quanto può migliorare le sue prestazioni su un compito complesso? La risposta a questa domanda ha implicazioni non solo per le prestazioni raggiungibili dai LLM, ma anche per il futuro dell'addestramento di questi modelli e su come bilanciare l'uso delle risorse tra inferenza e addestramento.

 

Nonostante l'importanza del tema, poche ricerche hanno cercato di comprendere come i vari metodi di inferenza si adattino a diversi contesti durante i test. Inoltre, i risultati delle ricerche esistenti tendono a essere sfavorevoli per molte di queste strategie. La ricerca di Snell e colleghi esamina due meccanismi principali per aumentare l'efficienza computazionale durante l'inferenza. Il primo meccanismo si basa su modelli di ricompensa che analizzano i processi in modo dettagliato. Il secondo meccanismo riguarda l'aggiornamento della distribuzione del modello in modo adattivo, in base alla risposta fornita dal sistema durante il test. È stato osservato che l'efficacia di queste strategie varia significativamente in base alla complessità del compito affrontato.

 

L'osservazione ha condotto allo sviluppo di una strategia denominata "scaling ottimale della computazione". Tale strategia si propone di distribuire le risorse computazionali in modo più efficiente, adattandole alle specifiche esigenze del compito da svolgere durante la fase di test. Questo approccio ha consentito di aumentare l'efficienza nell'utilizzo delle risorse computazionali di oltre quattro volte rispetto a metodi tradizionali, i quali si basano sulla selezione del migliore risultato tra un certo numero di tentativi. Inoltre, è stata effettuata una valutazione confrontando vari modelli in base al numero di operazioni matematiche fondamentali eseguite, note come FLOPs (Floating Point Operations). Dai risultati ottenuti, è emerso che, in situazioni in cui un modello più piccolo riesce a raggiungere un certo livello di successo, l'allocazione mirata di risorse computazionali aggiuntive durante il test può migliorare le prestazioni fino a superare quelle di un modello quattordici volte più grande.

 

Questi risultati indicano che un uso ottimizzato e mirato delle risorse, anziché un aumento indiscriminato della complessità del modello, può condurre a migliori risultati in termini di efficienza e prestazioni, specialmente in contesti in cui modelli più semplici sono già in grado di fornire risultati significativi.

 

 

Pre-addestramento o calcolo durante il test nei LLM cosa scegliere

È stata condotta un'analisi comparativa delle prestazioni di scalabilità ottimale del calcolo durante il test del modello PaLM 2-S* e di un altro modello di dimensioni circa 14 volte maggiori, addestrato in precedenza, senza alcun calcolo aggiuntivo durante la fase di test (per esempio, utilizzando una tecnica chiamata campionamento greedy, che implica selezionare sempre l'opzione migliore senza considerare altre possibilità). Entrambi i modelli sono stati addestrati utilizzando una quantità di dati indicata con X token, e la loro capacità di fare previsioni è stata testata su un insieme di dati indicato con Y token.

 

Addestrare un modello più grande richiede un maggiore impiego di operazioni aritmetiche, misurate in FLOPs, sia durante la fase di addestramento che durante quella di inferenza (cioè, quando il modello fa previsioni). Quando al modello più piccolo viene aggiunto calcolo extra durante il test, in modo da eguagliare il numero di operazioni aritmetiche richieste dal modello più grande, si è valutata la performance in termini di accuratezza delle previsioni.

 

Dai risultati ottenuti è emerso che, nel caso delle revisioni (verifiche o controlli), quando la quantità di dati utilizzati per l'inferenza (Y) è molto inferiore rispetto a quella utilizzata per l'addestramento (X), l'aggiunta di calcolo durante il test tende a essere più vantaggiosa rispetto a un ulteriore addestramento del modello. Tuttavia, con l'aumento del rapporto tra dati di inferenza e dati di addestramento, il calcolo aggiuntivo durante il test continua a essere vantaggioso per compiti più semplici, mentre per compiti più complessi risulta più utile avere un modello pre-addestrato più grande.

 

L'analisi dei benefici derivanti dalla capacità di espandere il calcolo durante il test mostra che uno degli approcci più consolidati è il metodo chiamato campionamento best-of-N. Questo approccio consiste nel generare simultaneamente N possibili risposte utilizzando un modello linguistico di base, per poi scegliere quella con il punteggio più alto secondo un valutatore appreso o un modello di ricompensa. Nonostante l'efficacia di questa tecnica, esistono altre strategie per sfruttare l'aumento delle risorse di calcolo durante il test, con l'obiettivo di migliorare le prestazioni dei modelli linguistici di grandi dimensioni (LLM). Un esempio è la modifica della distribuzione delle proposte da cui vengono generate le risposte. Questo può includere, ad esempio, la richiesta al modello di riesaminare e correggere sequenzialmente le risposte iniziali fornite. Inoltre, l'adattamento del valutatore, ad esempio tramite l'addestramento di un verificatore più sofisticato basato su processi complessi, può aumentare notevolmente l'efficacia dell'espansione del calcolo durante il test.

 

Per valutare i benefici della scalabilità del calcolo durante il test, sono stati effettuati esperimenti sul benchmark MATH utilizzando modelli PaLM-2, appositamente ottimizzati per correggere errori nelle risposte. Questi modelli sono in grado, ad esempio, di migliorare la distribuzione delle proposte o di verificare la correttezza dei singoli passaggi di una risposta tramite un modello di ricompensa basato su processi (PRM). I risultati degli esperimenti hanno dimostrato che l'efficacia di una strategia di calcolo durante il test dipende dalla natura specifica del problema e dal modello di base impiegato.

 

Quando si tratta di risolvere problemi semplici, è spesso più efficiente far sì che un modello di linguaggio (LLM) perfezioni progressivamente una singola risposta piuttosto che produrre diverse risposte separate in parallelo. Ad esempio, immagina di dover rispondere a una domanda come "Qual è la capitale della Francia?". Un modello di linguaggio ben addestrato è in grado di fornire subito una risposta corretta, come "Parigi". In questo caso, invece di generare più risposte, è più utile dedicare le risorse di calcolo a migliorare questa risposta, rendendola più chiara o arricchita di dettagli, magari specificando che Parigi è anche il centro culturale ed economico della Francia.

 

D'altro canto, quando ci si trova di fronte a problemi più complessi, come pianificare un viaggio in cui bisogna decidere le tappe migliori in base a vari fattori (ad esempio il budget, il tempo disponibile, le preferenze personali), è più utile generare diverse risposte in parallelo. Ogni risposta potrebbe rappresentare una diversa strategia di viaggio, come un itinerario che si concentra sulle città d'arte o un altro che privilegia le destinazioni naturali. Qui, il modello esplora contemporaneamente molteplici soluzioni, permettendo di valutare quale sia la più adatta. Inoltre, è possibile utilizzare una sorta di "albero delle decisioni" dove ogni scelta porta a ulteriori opzioni, valutate attraverso un sistema di punteggi che aiuta a identificare la soluzione ottimale.

 

Questi risultati evidenziano l'importanza di adottare una strategia di calcolo adattiva, definita "compute-optimal", in cui l'approccio viene scelto in base al tipo di problema, con l'obiettivo di massimizzare l'efficacia del calcolo supplementare. Inoltre, si è dimostrato che la difficoltà di una domanda, valutata dal punto di vista del modello di linguaggio di base, può essere utilizzata per prevedere quanto sarà efficace il calcolo durante il test, permettendo di implementare concretamente questa strategia "compute-optimal".

 

Allocando in modo ottimale il calcolo durante il test, si può raggiungere un notevole miglioramento della scalabilità, superando le prestazioni del metodo "best-of-N" con un impiego di calcolo ridotto di circa quattro volte, tanto nel processo di revisione quanto nell'esplorazione delle soluzioni. Questo rappresenta un avanzamento significativo nella gestione efficiente delle risorse computazionali, con effetti positivi sulle prestazioni complessive del sistema.

 

Questa strategia migliorata di scalabilità si concentra sull'esplorazione del potenziale del calcolo durante il test come alternativa all'ulteriore pre-addestramento. In particolare, è stato effettuato un confronto basato sui FLOPs tra un modello più piccolo con un aumento del calcolo durante il test e un modello 14 volte più grande che ha subito un pre-addestramento più intensivo. I risultati di questa analisi rivelano che, per domande di facile e media difficoltà, così come per alcune domande più complesse in specifiche condizioni di pre-addestramento e carico di inferenza, il calcolo aggiuntivo durante il test risulta spesso più vantaggioso rispetto a un ulteriore pre-addestramento.

 

Questa osservazione suggerisce che, in alcuni scenari, potrebbe essere più efficiente investire meno nel pre-addestramento di modelli più piccoli e compensare con un calcolo più intensivo durante il test per migliorare le prestazioni. Tuttavia, per le domande più difficili, l'efficacia dell'aumento del calcolo durante il test sembra essere limitata, mentre si riscontra un miglioramento più significativo con un pre-addestramento aggiuntivo. Questo evidenzia che, sebbene il calcolo durante il test possa essere una strategia efficace in molti casi, non è in grado di sostituire completamente il valore di un pre-addestramento più esteso.

 

In generale, anche con tecniche relativamente semplici, il calcolo durante il test si dimostra spesso preferibile rispetto all'approccio basato su un pre-addestramento intensivo, suggerendo un futuro in cui i modelli potrebbero richiedere meno FLOPs durante la fase di pre-addestramento e sfruttare maggiormente il calcolo durante l'inferenza per ottenere risultati ottimali.

 

Prospettiva unificata sulle tecniche di calcolo durante il test per modelli LLM

In questo contesto, si esaminano e integrano diverse strategie che utilizzano il calcolo durante la fase di test di un modello, concentrandosi successivamente su alcuni metodi concreti. L'idea principale è quella di introdurre un calcolo supplementare in questa fase per adattare in modo dinamico la distribuzione delle previsioni generate dal modello, basandosi su un determinato input o "prompt". L'obiettivo finale è ottenere risultati più accurati rispetto a quelli ottenuti semplicemente utilizzando il modello di linguaggio naturale (LLM) senza ulteriori interventi.

 

Per comprendere meglio, immaginiamo di avere un modello che genera testi in base a un prompt, come ad esempio: "Descrivi un tramonto." Senza modifiche, il modello potrebbe produrre una descrizione generica, come "Il tramonto è bellissimo, con colori arancioni e rossi che tingono il cielo." Tuttavia, se si utilizza un calcolo aggiuntivo, possiamo ottenere una descrizione più specifica e raffinata, magari menzionando dettagli come "Le nuvole si stagliano contro un cielo infuocato, riflettendo sfumature dorate che sfumano lentamente nel viola profondo."

 

Esistono fondamentalmente due approcci per indurre queste modifiche nella distribuzione delle risposte generate dal modello. Il primo approccio riguarda l'input: si arricchisce il prompt originale con un insieme aggiuntivo di parole o "token", forzando così il modello a considerare questi elementi per produrre una distribuzione modificata delle risposte. Ad esempio, se si aggiungono parole come "dettagliato" o "vivido" al prompt iniziale, il modello sarà spinto a generare una descrizione del tramonto più ricca e dettagliata.

 

Il secondo approccio si concentra invece sull'output: una volta che il modello ha generato diverse possibili descrizioni del tramonto, si interviene su questi risultati per migliorarli ulteriormente. Ad esempio, se il modello propone varie descrizioni, si può selezionare quella più adatta o combinarne diverse per ottenere un risultato finale che sia il più preciso possibile.

 

In pratica, è possibile modificare la distribuzione proposta dal modello attraverso un miglioramento che va oltre il semplice condizionamento del prompt iniziale. Questo può avvenire utilizzando strumenti come verificatori o sistemi di punteggio che, come filtri aggiuntivi, analizzano l'output generato e scelgono la versione migliore. Questo processo può essere paragonato a tecniche come il campionamento Markov chain Monte Carlo (MCMC), dove si cerca di campionare da una distribuzione complessa partendo da una distribuzione più semplice e utilizzando una funzione di punteggio per avvicinarsi al risultato desiderato.

 

La modifica della distribuzione proposta, sia tramite l'ampliamento dei token di input sia attraverso l'uso di un verificatore, rappresenta quindi due direzioni indipendenti ma complementari che sono al centro di questo studio. Ad esempio, si può immaginare di voler ottenere una descrizione che non solo sia dettagliata ma anche coerente con un certo stile letterario: in questo caso, l'uso combinato di entrambi gli approcci potrebbe portare a un risultato finale che soddisfi entrambi i criteri.

 

Modifica della distribuzione proposta

Per migliorare l'efficacia di un modello nel risolvere compiti di ragionamento specifici, una strategia efficace consiste nell'ottimizzare direttamente la distribuzione delle risposte proposte dal modello stesso. Questo può essere realizzato attraverso tecniche di finetuning ispirate al reinforcement learning (RL), come i metodi STaR o ReSTEM. In questo contesto, immagina di addestrare un modello per risolvere puzzle logici. Con il finetuning basato su RL, si affina il modello affinché diventi progressivamente più abile nel risolvere tali puzzle, senza introdurre ulteriori informazioni o indizi (token di input). L'obiettivo finale è che il modello, con il tempo, sviluppi soluzioni sempre più vicine alla risposta ottimale per quel tipo di problema.

 

Oltre a questa metodologia, esiste un approccio alternativo chiamato auto-critica, che permette al modello di migliorare autonomamente le proprie risposte durante la fase di test. Ad esempio, immagina un modello che, dopo aver proposto una soluzione a un problema, sia in grado di rivedere e criticare autonomamente la propria risposta, cercando di migliorarla. Tuttavia, se si fa affidamento esclusivamente su suggerimenti esterni (prompting) per guidare il modello durante il test, la revisione potrebbe risultare inefficace. Ad esempio, se il modello deve risolvere un problema complesso di matematica, come dimostrare un teorema o risolvere un'equazione differenziale avanzata, potrebbe non riuscire a correggere i propri errori solo sulla base di suggerimenti esterni, come indicazioni generali o piccoli spunti forniti attraverso un prompt. In situazioni di questo tipo, il modello rischia di ripetere lo stesso errore o di produrre soluzioni approssimative, senza un miglioramento significativo. È in questi casi che il finetuning diventa essenziale, permettendo al modello di essere ulteriormente addestrato con esempi specifici e iterazioni continue, affinando così la sua capacità di comprendere il problema e di fornire una soluzione corretta e precisa.

 

Il processo di finetuning, quindi, consente al modello di affinare le proprie risposte, specialmente quando si trova ad affrontare problemi complessi che richiedono un ragionamento approfondito. Questo si ottiene utilizzando dati generati dal modello stesso durante la sua esecuzione, in un approccio noto come "on-policy". Per esempio, immagina di avere un modello che deve scegliere la strategia migliore per vincere a scacchi. Durante il finetuning, il modello genera diverse mosse e analizza i risultati per identificare quale strategia funziona meglio. Un'altra tecnica utile in questo contesto è il "Best-of-N", che prevede che il modello generi diverse soluzioni per lo stesso problema, come dieci possibili mosse in una partita a scacchi, e selezioni la migliore tra queste. Attraverso questo processo, il modello viene guidato a produrre risposte sempre più precise e ottimizzate.

 

Ottimizzazione del verificatore

L'ottimizzazione del verificatore è un elemento essenziale nella gestione e nella selezione delle risposte migliori all'interno di un insieme di soluzioni proposte. Questo strumento è incaricato di scegliere o aggregare la risposta ottimale tra quelle disponibili. Per comprendere meglio, si può pensare a un sistema di votazione: il verificatore agisce come un giudice che analizza diverse proposte e decide quale sia la migliore. Un metodo tradizionale utilizzato per questo scopo è il campionamento Best-of-N, in cui vengono generate N soluzioni complete e il verificatore seleziona quella che ritiene più adeguata.

Immaginiamo di dover scegliere il miglior piatto tra dieci proposte di uno chef. Il campionamento Best-of-N equivale a far preparare dieci piatti diversi e poi scegliere quello che più soddisfa i gusti del giudice. Questo metodo, sebbene efficace, può essere ulteriormente migliorato.


Un modo per rendere il processo ancora più efficiente è attraverso l'addestramento di un verificatore più avanzato, che non si limita a giudicare solo il piatto finale, ma che valuti anche ogni singolo passo della preparazione. Questo verificatore potrebbe essere basato su un modello di ricompensa del processo (PRM), che esamina la correttezza di ogni fase della preparazione del piatto. Ad esempio, potrebbe valutare se la scelta degli ingredienti è stata corretta, se la cottura è stata eseguita al punto giusto e così via.


Questo approccio, simile a una sorta di "assaggio" in ogni fase della preparazione, consente di esplorare in modo più approfondito le diverse possibilità, aumentando le probabilità di selezionare non solo il miglior piatto finale, ma anche di capire quale processo porta alla migliore qualità. In pratica, mentre nel campionamento Best-of-N si giudica solo il risultato finale, l'addestramento di un verificatore più sofisticato permette di identificare la soluzione migliore già durante il processo di creazione, offrendo una maggiore efficienza e precisione nella selezione.

 

Come ottimizzare il calcolo durante la fase di test per modelli linguistici

Per ottimizzare il calcolo durante la fase di test e migliorare le prestazioni di un modello linguistico su un determinato prompt, è fondamentale capire come gestire al meglio le risorse computazionali disponibili. In pratica, si tratta di trovare il modo più efficiente per utilizzare il calcolo a disposizione per risolvere un problema specifico, considerando il budget limitato.


Quando ci si trova a dover risolvere un problema con un prompt e un budget di calcolo definito, è essenziale analizzare le varie modalità di utilizzo del calcolo in fase di test. Ogni modalità può avere un'efficacia diversa a seconda del contesto e della natura del problema. La chiave è identificare quale approccio massimizzi l'efficacia del modello con le risorse disponibili.


In questo contesto, un aspetto cruciale è il confronto tra l'ottimizzazione del calcolo in fase di test e l'utilizzo di un modello pre-addestrato di dimensioni notevolmente maggiori. Modelli più grandi possono offrire prestazioni migliori, ma richiedono anche maggiori risorse computazionali. Di fronte a un budget limitato, potrebbe non essere possibile utilizzare tali modelli nella loro interezza, rendendo quindi necessaria un'attenta valutazione su come allocare le risorse di calcolo disponibili.


La strategia più efficace dipenderà dal tipo di problema da risolvere, dalle specifiche del prompt, e dalle caratteristiche del modello utilizzato. Se il modello pre-addestrato è molto grande, ma il budget di calcolo è limitato, potrebbe essere necessario trovare un compromesso o adottare tecniche di ottimizzazione per ridurre la quantità di calcolo necessaria senza compromettere troppo le prestazioni. In alternativa, potrebbe essere utile esplorare l'uso di modelli più piccoli e più agili che possono essere meglio sfruttati con le risorse disponibili.


La decisione finale su come scalare e ottimizzare il calcolo in fase di test richiede una comprensione approfondita sia del problema specifico che delle capacità del modello, nonché un'analisi accurata del trade-off tra precisione e risorse computazionali.

Nel contesto dell'ottimizzazione della distribuzione delle proposte o dell'esecuzione di ricerche con un verificatore, ci sono vari iper-parametri che possono essere regolati per determinare come allocare il budget di calcolo durante la fase di test. Ad esempio, si potrebbe utilizzare un modello affinato per generare le proposte e un Modello di Ricompensa Obiettivo (ORM, Objective Reward Model) come strumento di verifica. Questo modello valuta la correttezza di ogni passaggio o risposta proposta, facilitando decisioni più informate durante il processo di verifica. In questo scenario, una possibile strategia potrebbe essere quella di impiegare tutto il budget di calcolo per generare in parallelo un certo numero di campioni indipendenti dal modello e poi applicare la tecnica del "migliore di N", selezionando la migliore tra le risposte generate. In alternativa, si potrebbe optare per campionare più revisioni in sequenza utilizzando un modello di revisione e selezionare la risposta migliore all'interno della sequenza con l'ORM. Un'altra opzione è trovare un compromesso tra queste due strategie estreme, bilanciando la generazione parallela e sequenziale delle proposte.


L'idea di fondo è che i problemi più semplici potrebbero trarre maggiore vantaggio dal processo di revisione, poiché i campioni iniziali del modello sono probabilmente già vicini alla soluzione corretta e richiedono solo un affinamento ulteriore. D'altro canto, per problemi più complessi, potrebbe essere preferibile esplorare una gamma più ampia di possibili soluzioni, il che renderebbe più efficace il campionamento indipendente e parallelo di molte soluzioni.


Nel contesto dei verificatori, esistono anche diverse opzioni per gli algoritmi di ricerca, come il beam-search, il lookahead-search e il best-of-N. Ognuno di questi algoritmi può comportarsi in modo diverso a seconda della qualità del verificatore e della distribuzione delle proposte disponibili. In generale, procedure di ricerca più sofisticate possono risultare particolarmente utili nei problemi più complessi rispetto a tecniche più semplici come il best-of-N o la maggioranza.

 

Scaling LLM: Strategia di scalabilità ottimale per il calcolo durante il test

Lo scaling LLM ottimale per il calcolo durante il test si concentra sull'allocazione efficiente delle risorse computazionali disponibili in quel momento, con l'obiettivo di risolvere un problema specifico nel modo più efficace possibile. Quando si parla di calcolo al momento del test, si fa riferimento a diverse tecniche che possono essere adottate per migliorare le prestazioni di un modello nella fase di test, come revisioni o confronti con un verificatore. La chiave di questa strategia è la scelta degli iperparametri, ovvero quei parametri di configurazione che massimizzano i benefici in termini di prestazioni per un input specifico.

 

Formalmente, si definisce Target(theta, N, q) come la distribuzione dei token di output che un modello genera in risposta a un determinato prompt q, utilizzando specifici iperparametri theta e un certo budget computazionale N. L'obiettivo è individuare gli iperparametri theta che migliorano al massimo la precisione della distribuzione target rispetto alla risposta corretta attesa per il problema in questione. In pratica, si cerca la configurazione ideale degli iperparametri che permetta al modello di avvicinarsi il più possibile alla risposta corretta, dato un certo limite di risorse computazionali.

 

Questo processo di ottimizzazione è espresso matematicamente attraverso una formula che rappresenta il punto di massima accuratezza raggiungibile:


theta*(q, y*(q))(N) = argmax theta (E[y∼Target(theta, N, q)][1{y=y*(q)}]).

 

Qui, y*(q) rappresenta la risposta corretta per il prompt q, mentre theta*(q, y*(q))(N) identifica la configurazione ottimale degli iperparametri per ottenere la miglior precisione possibile con le risorse computazionali disponibili. Questo approccio permette di ottimizzare il processo decisionale del modello, garantendo un uso efficace delle risorse e, di conseguenza, migliorando le prestazioni complessive del sistema durante la fase di test.

Per comprendere meglio i concetti esposti, immaginiamo di dover utilizzare un modello di intelligenza artificiale per risolvere un problema specifico, come il riconoscimento di oggetti in un'immagine. Supponiamo di avere a disposizione un certo numero di risorse computazionali, ad esempio, potenza di calcolo, memoria e tempo di esecuzione, che possiamo sfruttare durante la fase di test del modello.


Il nostro obiettivo è ottenere la massima precisione possibile nel riconoscimento degli oggetti, scegliendo la configurazione degli iperparametri (come la dimensione del modello, il tasso di apprendimento, o il numero di strati della rete neurale) che meglio si adatta al compito specifico e alle risorse disponibili. Ad esempio, se disponiamo di un budget computazionale limitato, potremmo dover scegliere un modello meno complesso ma che riesca comunque a fornire risultati accurati.


Nel nostro esempio, "theta" rappresenta la configurazione degli iperparametri, "N" il budget computazionale a disposizione, e "q" l'immagine da analizzare. La distribuzione dei risultati che il modello genera è "Target(theta, N, q)", che ci dice con quale probabilità il modello riconosce correttamente gli oggetti nell'immagine data. Il nostro obiettivo è scegliere una configurazione di "theta" che massimizzi questa probabilità, avvicinando il più possibile la risposta del modello alla realtà, ovvero alla corretta identificazione degli oggetti presenti nell'immagine.


Così, attraverso la formula fornita, il modello viene ottimizzato per selezionare gli iperparametri che, dati i vincoli di risorse, forniscono la massima accuratezza possibile. In pratica, questo significa che stiamo cercando di far sì che il modello identifichi correttamente il maggior numero di oggetti nell'immagine, utilizzando al meglio le risorse computazionali disponibili. Questo approccio è fondamentale per garantire che, anche in situazioni con risorse limitate, il modello possa operare in modo efficiente e fornire risultati precisi.

 

Scaling LLM: Come stimare la difficoltà delle domande per ottimizzare le risorse computazionali

Per esaminare le caratteristiche di scaling durante il test dei vari meccanismi presentati, si propone un'approssimazione di una strategia di calcolo considerata ottimale, indicata come θ* (q, y*(q)(N)). Questa strategia viene definita in funzione di una statistica relativa a un particolare prompt, la quale fornisce una stima della difficoltà del prompt stesso. La difficoltà del prompt è un fattore centrale nella definizione della strategia ottimale che, sebbene non sia una soluzione esatta al problema originario, può comunque apportare miglioramenti significativi rispetto a strategie più semplici che distribuiscono le risorse computazionali in maniera casuale o uniforme.


Per procedere con la stima della difficoltà delle domande, ciascuna di esse viene classificata in uno dei cinque livelli di difficoltà. Questa categorizzazione discreta permette di stimare θ* (q, y*(q)(N)) su un set di validazione, tenendo conto del budget di calcolo disponibile durante il test. Una volta stabilite le stime, le strategie ottimali vengono applicate al set di test, scegliendo la migliore strategia computazionale per ogni livello di difficoltà in maniera indipendente. In questo processo, la difficoltà della domanda si rivela quindi un parametro sufficiente per progettare una strategia ottimale di allocazione delle risorse.


La difficoltà di un problema viene determinata utilizzando un approccio sviluppato da Lightman e colleghi, che misura la complessità di una domanda basandosi sulle prestazioni di un modello di linguaggio di base. In questo metodo, si valuta il tasso di successo del modello su un campione di 2048 esempi per ciascuna domanda del set di test. I risultati ottenuti vengono poi suddivisi in cinque categorie, ognuna corrispondente a un livello crescente di difficoltà. Questo sistema di classificazione, fondato sulle prestazioni effettive del modello, si è dimostrato più preciso rispetto ai tradizionali livelli di difficoltà predefiniti presenti nel dataset MATH.


Tuttavia, questo metodo di valutazione richiede l'utilizzo di una funzione speciale, chiamata "funzione oracolare", che serve a verificare la correttezza delle risposte. Durante la fase di utilizzo reale del modello, quando si lavora con prompt per i quali non si conosce già la risposta, questa funzione non è disponibile. Per superare questa limitazione e rendere praticabile una strategia di calcolo ottimale, è necessario prima stimare la difficoltà del problema e successivamente applicare la strategia più appropriata. Questa stima della difficoltà viene fatta utilizzando una nozione chiamata "difficoltà predetta dal modello". In questo caso, un verificatore calcola la media del punteggio finale su 2048 campioni per ogni problema, senza controllare se le risposte siano effettivamente corrette. Questo approccio differisce dalla "difficoltà oracolare", che invece si basa sulla verifica della correttezza delle risposte fornite.


Quando si utilizza un modello per stimare la difficoltà di un compito, non è necessario conoscere esattamente la risposta corretta. Tuttavia, stimare la difficoltà richiede un calcolo aggiuntivo durante il processo di inferenza, aumentando così il carico computazionale. Questo incremento di risorse necessarie può essere integrato nel costo complessivo della strategia di inferenza. Un modo per farlo è utilizzare lo stesso processo di calcolo sia per la verifica della difficoltà sia per la ricerca della soluzione, ottimizzando così l'intero procedimento.


Questa situazione si ricollega al concetto di bilanciamento tra esplorazione e sfruttamento nel contesto del reinforcement learning. Nella pratica, bisogna trovare un equilibrio tra il tempo e le risorse impiegate per stimare la difficoltà di un problema e quelle necessarie per applicare l'approccio computazionale più efficiente. Questa tematica rappresenta una direzione di ricerca molto importante per il futuro, poiché le scelte fatte in fase di stima della difficoltà possono influenzare notevolmente le prestazioni del modello. Nei primi esperimenti, tuttavia, si tende a ignorare questo costo aggiuntivo per semplificare l'analisi e concentrarsi sulla dimostrazione dei benefici ottenuti da una gestione più efficace del calcolo durante i test.


Per evitare problemi legati all'uso dello stesso insieme di test sia per la stima della difficoltà che per la selezione della strategia migliore, si adotta una tecnica di validazione incrociata. Questa tecnica divide i dati in due gruppi per ogni livello di difficoltà. La strategia ottimale viene scelta basandosi sulle prestazioni di uno dei gruppi e poi viene misurata sull'altro gruppo. Infine, i risultati complessivi vengono calcolati come media delle prestazioni ottenute su entrambi i gruppi di test.


Immaginiamo di voler risolvere un problema di matematica con l'aiuto di un potente calcolatore. Il problema in questione può avere vari livelli di difficoltà: potrebbe essere semplice come sommare due numeri o complesso come risolvere un'equazione differenziale. Quando ci troviamo di fronte a questo problema, vogliamo usare il calcolatore in modo intelligente, ottimizzando le risorse disponibili per ottenere la risposta nel minor tempo possibile e con la massima precisione.


Per fare questo, dobbiamo prima stimare quanto sia difficile il problema. È come quando ci viene data una domanda di matematica e dobbiamo decidere se possiamo risolverla mentalmente, con carta e penna, o se abbiamo bisogno di usare una calcolatrice avanzata. La stima della difficoltà ci aiuta a decidere quante risorse del calcolatore dobbiamo usare per risolvere il problema in modo efficiente.

 

Immaginiamo di avere una serie di problemi di matematica e vogliamo scegliere la migliore strategia per ciascuno di essi. Prima di tutto, classifichiamo i problemi in base alla loro difficoltà. Questo è simile a suddividere le domande di un esame in gruppi: facili, medie e difficili. Per ogni gruppo, decidiamo quale strategia usare: ad esempio, per i problemi facili possiamo usare una semplice calcolatrice, mentre per i problemi difficili possiamo usare un software di matematica avanzata.


Tuttavia, non sempre sappiamo in anticipo quanto sia difficile un problema. Per questo, possiamo fare delle stime basandoci su problemi simili che abbiamo già risolto. È come se avessimo un compagno di classe che ci dicesse quanto è difficile un problema basandosi su problemi simili che ha già visto. Questa stima ci permette di scegliere la strategia giusta senza dover risolvere il problema completamente prima.


Ma stimare la difficoltà richiede del tempo e delle risorse. È come se dovessimo fare una piccola parte del lavoro in anticipo per capire quanto sia difficile il resto del lavoro. Questo processo aggiunge un costo al nostro calcolo complessivo, ma ci aiuta a risparmiare tempo e risorse nel lungo termine, evitando di sprecare troppo tempo su problemi facili o di non dedicare abbastanza risorse ai problemi più difficili.


Alla fine, l'obiettivo è trovare un equilibrio: non vogliamo spendere troppo tempo a stimare la difficoltà, ma neanche troppo poco, altrimenti rischiamo di scegliere una strategia non ottimale. Questo approccio è simile a quando dobbiamo decidere se esplorare nuove strategie o sfruttare quelle che già conosciamo, come avviene nel campo dell'apprendimento per rinforzo.


er assicurarci che la nostra strategia funzioni bene, possiamo usare una tecnica chiamata validazione incrociata. In pratica, dividiamo i problemi in due gruppi: usiamo uno dei gruppi per scegliere la strategia migliore e poi vediamo come funziona sull'altro gruppo. Questo ci aiuta a evitare errori che potrebbero sorgere se usassimo gli stessi problemi sia per stimare la difficoltà che per scegliere la strategia.


In questo modo, possiamo gestire meglio il calcolo durante i test, ottenendo risultati più precisi ed efficienti, anche quando non conosciamo in anticipo la difficoltà dei problemi che dobbiamo risolvere.

 

Configurazione sperimentale 

La configurazione sperimentale adottata per condurre l'analisi è stata attentamente definita, tenendo conto delle varie scelte progettuali dei verificatori e delle diverse distribuzioni delle proposte. Questo passaggio preliminare è fondamentale per garantire che l'analisi sia condotta in modo rigoroso e che i risultati ottenuti possano essere interpretati con precisione. Dopo aver stabilito questa configurazione, si procede con l'esposizione dei risultati dell'analisi, che verranno presentati e discussi nelle sezioni successive, offrendo una panoramica completa delle conclusioni raggiunte.

 

Dataset

Il calcolo durante il test diventa particolarmente vantaggioso quando i modelli possiedono già una solida base di conoscenze necessarie per rispondere a una domanda. In queste situazioni, la sfida principale non è tanto reperire le informazioni di base, ma piuttosto elaborare inferenze complesse a partire da queste conoscenze preesistenti. Per questo motivo, si presta particolare attenzione al benchmark MATH, un riferimento che include problemi matematici tipici delle competizioni scolastiche di livello superiore. Questi problemi variano in termini di difficoltà, offrendo una gamma diversificata di sfide. Negli esperimenti condotti, viene utilizzata una suddivisione specifica del dataset, composta da 12.000 domande destinate all'addestramento e 500 domande riservate ai test, come riportato nello studio di Lightman et al.

 

Modelli 

L'analisi è stata realizzata impiegando il modello di base PaLM 2-S* (Codey), che viene ritenuto un esempio significativo delle capacità attuali dei modelli linguistici di grandi dimensioni (LLM). I risultati ottenuti con questo modello sono considerati rilevanti anche per altri modelli simili, suggerendo una possibile trasferibilità delle conclusioni. Un elemento di particolare importanza è che questo modello dimostra una prestazione notevole nel benchmark MATH, pur non avendo ancora raggiunto il suo massimo potenziale. Questa caratteristica lo rende particolarmente adatto come banco di prova per l'analisi, offrendo un equilibrio tra capacità avanzate e margini di miglioramento.

 

Verificatori di processo per scalare il calcolo al test-time in modo efficiente

Il calcolo al test-time può essere migliorato in modo significativo ottimizzando l'uso dei verificatori, rendendo possibile l'esecuzione di operazioni più complesse e su scala maggiore. Per ottenere questo risultato, è fondamentale esplorare e comprendere a fondo i diversi metodi disponibili per implementare la ricerca al test-time utilizzando verificatori di processo (PRM). Questi approcci offrono la possibilità di gestire il calcolo in maniera più efficiente durante la fase di test, grazie alle loro caratteristiche intrinseche di scalabilità. L'analisi si concentra su come queste proprietà di scalabilità possano essere sfruttate per potenziare le prestazioni del calcolo, permettendo un miglioramento delle capacità computazionali senza compromettere l'efficacia del processo di verifica.

 

Addestramento dei PRM

L'addestramento iniziale dei modelli Policy Reward Model (PRM) si è basato sull'utilizzo di etichette fornite da lavoratori umani. Un esempio significativo di questo processo è il dataset PRM800k, sviluppato da Lightman e collaboratori per l'addestramento dei loro modelli. Tuttavia, si è riscontrato che tale dataset non rispondeva adeguatamente alle specifiche necessità del progetto. In particolare, un modello PRM addestrato con questi dati ha mostrato vulnerabilità anche di fronte a strategie semplici come il campionamento best-of-N. Questo risultato è stato attribuito a un probabile disallineamento nella distribuzione dei campioni generati dai modelli GPT-4 presenti nel dataset rispetto a quelli generati dai modelli PaLM 2 utilizzati.


Per evitare il dispendioso processo di raccolta di nuove etichette PRM da parte di lavoratori umani, è stata adottata una metodologia alternativa, basata sull'approccio proposto da Wang e colleghi. Questo metodo consente di addestrare i modelli PRM senza l'uso diretto di etichette umane, sfruttando invece stime di correttezza per ciascun passaggio, ottenute tramite la tecnica del roll-out Monte Carlo applicata a ogni fase della soluzione. In questo modo, le previsioni dei PRM per ciascun passaggio vengono considerate come stime del valore delle ricompense future, coerentemente con la politica di campionamento del modello di base, riflettendo così i risultati di ricerche recenti.


Infine, è stato effettuato un confronto con un modello di riferimento Object Recognition Model (ORM), dal quale è emerso che il modello PRM ha costantemente superato l'ORM in termini di prestazioni. Per questo motivo, in tutti gli esperimenti di ricerca condotti, è stato impiegato un modello PRM.

 

Aggregazione delle risposte

Durante la fase di test, i verificatori basati su processo possono essere impiegati per esaminare attentamente ogni singolo passaggio all'interno di un insieme di soluzioni generate dal modello principale. Per individuare la migliore soluzione tra N possibili opzioni utilizzando il PRM, è essenziale disporre di una funzione che riesca a combinare i punteggi assegnati a ciascun passaggio di ogni risposta. Questo permette di identificare il candidato che ha le maggiori probabilità di essere la risposta corretta.


In questo processo, si inizia aggregando i punteggi relativi ai singoli passaggi di una risposta, ottenendo così un punteggio complessivo per quella risposta specifica. Questo passaggio è noto come aggregazione passo-passo. Una volta ottenuti i punteggi finali per tutte le risposte, si procede a un'ulteriore aggregazione, questa volta tra tutte le risposte, al fine di individuare quella con il punteggio più alto. Questo secondo passaggio è chiamato aggregazione inter-risposta e consente di determinare quale tra le risposte campionate rappresenti la soluzione migliore.


In particolare, l'aggregazione progressiva e quella tra le risposte vengono gestite attraverso tecniche mirate per potenziare l'efficacia complessiva del modello.

Nell'aggregazione passo-passo, anziché calcolare un punteggio finale attraverso metodi come il prodotto o il minimo dei punteggi ottenuti in ogni passaggio, si utilizza direttamente la previsione del modello PRM (Prediction Response Model) nell'ultimo passaggio come punteggio definitivo della risposta. Questa strategia si è dimostrata superiore rispetto ad altri metodi di aggregazione.


Per quanto riguarda l'aggregazione inter-risposta, si adotta un approccio basato sulla selezione "best-of-N ponderata", seguendo la metodologia proposta da Li e colleghi. Questo metodo differisce dalla selezione best-of-N standard poiché tiene conto dei punteggi di correttezza del verificatore su tutte le soluzioni che conducono alla stessa risposta finale. Viene quindi scelta la risposta finale che ha ottenuto la somma totale dei punteggi più alta, garantendo così una selezione più accurata e affidabile.

 

Scaling LLM: strategie di ricerca per migliorare i modelli di linguaggio contro PRM

Nel contesto dell'ottimizzazione dei modelli di linguaggio pre-addestrati durante la fase di test, i metodi di ricerca svolgono un ruolo cruciale nel determinare le risposte più efficaci. Questi metodi si basano sulla capacità intrinseca del modello, precedentemente addestrato con pochi esempi, di generare una serie di soluzioni possibili. Successivamente, queste soluzioni vengono attentamente valutate e selezionate in base a criteri specifici, con l'obiettivo di ottenere il risultato più adatto e preciso. In questo ambito, si distinguono tre principali approcci di ricerca, ognuno dei quali offre vantaggi specifici a seconda del contesto e delle esigenze operative.

 

Il primo metodo è chiamato Best-of-N weighted. In questo approccio, si generano N risposte indipendenti utilizzando il modello di base. Successivamente, tra queste risposte, si seleziona quella che risulta migliore in base al giudizio finale fornito dal PRM, il quale valuta l'adeguatezza di ogni soluzione proposta. Questo permette di scegliere la risposta più adatta tra quelle disponibili, garantendo che il risultato finale sia il più vicino possibile a ciò che il modello considera ottimale.

 

Il secondo approccio, noto come Beam search, si distingue per il suo processo di ottimizzazione. Qui, il PRM viene utilizzato per valutare le previsioni man mano che vengono generate. Questo metodo prende ispirazione dalla ricerca in ampiezza BFS-V, ma introduce alcune specificità. Si stabilisce un numero fisso di traiettorie, chiamate beam, e si definisce la larghezza del beam. Inizialmente, vengono generate N previsioni per il primo passo della soluzione. Queste previsioni vengono quindi valutate in base a una stima del PRM riguardante il valore delle ricompense future. Solo i passaggi migliori vengono selezionati per proseguire. Per ciascuno dei candidati scelti, si generano nuove previsioni per il passo successivo, ripetendo questo processo fino a quando la soluzione è completa o si raggiunge il numero massimo di iterazioni. Al termine, tra le N risposte finali, si applica nuovamente il metodo Best-of-N weighted per determinare la previsione definitiva, garantendo così un'ulteriore ottimizzazione del risultato.

 

Il terzo metodo, denominato Lookahead search, rappresenta un'evoluzione del beam search con un focus particolare sulla valutazione dei singoli passaggi. Invece di valutare immediatamente i candidati al termine di ogni passo con il punteggio del PRM, questo metodo esegue delle simulazioni, estendendo la previsione per un certo numero di passi successivi, chiamati rollouts. Se durante queste simulazioni si arriva alla fine della soluzione, il processo si interrompe anticipatamente. Lo scopo principale è quello di migliorare la precisione delle stime di valore per ogni passo, utilizzando la previsione del PRM alla fine della simulazione per valutare i candidati correnti. Di fatto, il beam search può essere visto come un caso particolare del lookahead search con una profondità di simulazione pari a zero. Aumentando questa profondità, si ottiene una stima più accurata, sebbene ciò comporti un aumento della complessità computazionale. Questo metodo può essere considerato una variante della ricerca Monte Carlo Tree Search (MCTS), da cui però sono stati rimossi gli elementi stocastici solitamente impiegati per esplorare nuove possibilità. Poiché il PRM è già stato addestrato, nella fase di test l'obiettivo è sfruttare il modello piuttosto che esplorare nuove soluzioni. Perciò, il lookahead search risulta un metodo efficace per applicare strategie simili alla MCTS nella fase di test, migliorando la precisione senza necessità di esplorazione stocastica.

 

Scaling LLM: risultati dell'analisi sul Test-Time Scaling per la ricerca con verificatori

L'analisi effettuata si concentra sulla comparazione di diversi algoritmi di ricerca con l'obiettivo di identificare una strategia ottimale di scalatura del calcolo. Questa scalatura viene adattata alla difficoltà del prompt e applicata ai vari metodi di ricerca considerati. Per esaminare in modo dettagliato le differenze tra questi algoritmi, sono stati eseguiti test su diverse configurazioni, variando principalmente due parametri: la larghezza del raggio di ricerca, indicata come beam-width e rappresentata dal simbolo 𝑀, e il numero di passi di previsione, noto come lookahead steps e indicato con 𝑘.

 

Le configurazioni testate comprendono diverse modalità di ricerca. In primo luogo, è stata esaminata una ricerca a raggio in cui la larghezza del raggio viene calcolata come la radice quadrata del budget di generazione 𝑁. In secondo luogo, è stata considerata una ricerca a raggio con una larghezza del raggio fissa pari a 4. Successivamente, è stata valutata la ricerca con previsione, o lookahead, con un numero di passi 𝑘 = 3, applicata sia alla configurazione di ricerca a raggio basata sulla radice quadrata sia a quella con raggio fisso. Infine, è stata considerata una ricerca con previsione con 𝑘 = 1, applicata alla prima configurazione di ricerca a raggio.


Per garantire un confronto equo tra questi metodi, è stato sviluppato un protocollo che consente di stimare il costo di ciascun metodo in base al budget di generazione. Nel caso della ricerca a raggio e del metodo best-of-N, il budget di generazione è direttamente proporzionale rispettivamente al numero di raggio e al valore di 𝑁. Tuttavia, la ricerca con previsione introduce un ulteriore livello di complessità: per ogni passo della ricerca principale, vengono simulati ulteriori 𝑘 passi, il che implica che il costo totale di questo metodo è dato dal prodotto di 𝑁 per (𝑘 + 1).


I risultati evidenziano come, con budget di generazione ridotti, la ricerca a raggio mostri una performance significativamente superiore rispetto al metodo best-of-N. Tuttavia, all'aumentare del budget disponibile, questo vantaggio tende a ridursi, fino a quando la ricerca a raggio inizia a essere meno efficiente rispetto al best-of-N. La ricerca con previsione, invece, si dimostra generalmente meno efficace rispetto agli altri metodi, probabilmente a causa del carico computazionale aggiuntivo richiesto per simulare i passi futuri. Questo fenomeno di riduzione dei benefici può essere attribuito a un eccessivo sfruttamento delle previsioni del modello, che porta alla generazione di soluzioni ridondanti o troppo concise.


L'analisi si è poi concentrata sulla variabile della difficoltà delle domande. Quando la ricerca a raggio, con un parametro 𝑀=4, viene confrontata con il best-of-N, risulta che, con un budget di generazione elevato, le prestazioni aggregate dei due metodi si equivalgono. Tuttavia, considerando domande di diversa complessità, emergono tendenze diverse: per le domande più semplici, la ricerca a raggio può addirittura peggiorare i risultati, mentre per quelle più difficili, questo metodo riesce a migliorare significativamente le prestazioni rispetto al best-of-N. Invece, per le domande più complesse, nessuno dei metodi analizzati riesce a portare a progressi significativi.


In sintesi, si osserva che la difficoltà della domanda gioca un ruolo determinante nella scelta della strategia di ricerca ottimale in base al budget di calcolo disponibile. La selezione del metodo migliore varia notevolmente in funzione di questo parametro. Con budget limitati, una gestione ottimale del calcolo può consentire di superare il best-of-N utilizzando fino a quattro volte meno risorse. Invece, con budget più ampi, i benefici della previsione diminuiscono, anche se l'impiego di dati di difficoltà oracolo continua a mostrare dei vantaggi. Questi risultati indicano come un approccio adattivo nella gestione delle risorse di calcolo possa portare a significativi miglioramenti nelle performance.


In conclusione, l'efficacia di un metodo di ricerca è strettamente legata al budget di calcolo disponibile e alla difficoltà delle domande. La ricerca a raggio risulta più efficace con domande complesse e budget limitati, mentre il best-of-N è preferibile per domande più semplici e con budget più elevati. Scegliendo la configurazione di ricerca più adatta in base alla difficoltà della domanda e al budget di calcolo, è possibile ottenere risultati vicini al best-of-N, utilizzando significativamente meno risorse.

 

Scaling LLM: Come ottimizzare la distribuzione delle proposte nei modelli di linguaggio

Fino a questo punto, è stata analizzata la capacità del calcolo di adattarsi a contesti più ampi durante il test, con particolare attenzione al confronto tra la ricerca di soluzioni e l'uso di verificatori. Ora, l'attenzione si sposta verso un altro aspetto cruciale: la scalabilità legata alla modifica della distribuzione delle proposte. Questo processo prevede che il modello sia in grado di rivedere e migliorare progressivamente le proprie risposte nel corso della fase di test, consentendogli di affinare dinamicamente la distribuzione delle soluzioni proposte.


Tuttavia, chiedere ai modelli di linguaggio attuali di correggere autonomamente i propri errori si dimostra spesso poco efficace, soprattutto quando si affrontano problemi complessi di ragionamento. Per superare queste limitazioni, si fa riferimento alla metodologia proposta da Qu et al., adattandola e perfezionandola per il contesto specifico in esame. L'obiettivo è permettere ai modelli di linguaggio di affinare iterativamente le proprie risposte, migliorando così la distribuzione delle proposte in maniera continua.

Il primo passo consiste nel descrivere come vengono addestrati e utilizzati i modelli capaci di rivedere e affinare le proprie distribuzioni di proposte, basandosi in modo sequenziale sui tentativi precedenti di risposta. Questa fase di addestramento è cruciale per garantire che i modelli possano apprendere dai propri errori e migliorare progressivamente la qualità delle soluzioni offerte.


Successivamente, si esaminano le proprietà di scalabilità dei modelli durante l'inferenza, ovvero la capacità del modello di mantenere o migliorare le proprie prestazioni man mano che affronta problemi di crescente complessità. L'analisi di questa fase è essenziale per comprendere l'efficacia del modello nell'adattarsi a contesti più ampi e complessi, garantendo risposte sempre più accurate e pertinenti.

 

Scaling LLM: Ottimizzazione dell'addestramento e dell'uso dei modelli di revisione

Il processo di addestramento dei modelli di revisione è simile a quello utilizzato per i modelli standard, ma presenta alcune differenze sostanziali. In particolare, per addestrare questi modelli, è fondamentale disporre di traiettorie specifiche, ossia sequenze di risposte che iniziano con un errore e culminano in una risposta corretta. Questo tipo di traiettoria permette di eseguire un fine-tuning supervisionato, il cui scopo principale è quello di insegnare al modello a riconoscere e correggere gli errori commessi all'interno di un determinato contesto. In questo modo, il modello non tenta di ripartire da zero, ma apporta modifiche mirate alle risposte errate, migliorando progressivamente la sua capacità di generare risposte corrette nel contesto dato.

 

Nella generazione dei dati di revisione, un metodo proposto da Qu et al. ha mostrato buoni risultati nel creare più sequenze di risposte (multi-turn) in un contesto on-policy, ovvero in modo coerente con l'approccio di apprendimento. Tuttavia, questo metodo si è dimostrato poco pratico per l'infrastruttura impiegata nella ricerca a causa dell'alto costo computazionale. Per superare questa limitazione, è stato adottato un approccio alternativo: sono state generate 64 risposte simultaneamente utilizzando una temperatura più alta per favorire la diversità delle risposte e, da queste, sono state costruite le sequenze multi-turn necessarie. Ogni risposta corretta è stata abbinata a una serie di risposte errate prese dallo stesso gruppo, creando così un insieme di dati utile per un fine-tuning specifico. Nelle sequenze potevano essere incluse fino a quattro risposte errate, il cui numero esatto veniva determinato in modo casuale. La scelta delle risposte errate è stata fatta usando un criterio di distanza di edit tra caratteri, in modo da selezionare quelle più vicine, in termini di somiglianza, alla risposta corretta finale. Sebbene questo metodo non sia perfetto per determinare la correlazione tra le risposte, si è dimostrato adeguato ad addestrare efficacemente il modello di revisione, evitando associazioni casuali e non rilevanti.

 

Una volta completato l'addestramento del modello, durante il test è possibile generare una sequenza di revisioni. Anche se il modello è stato addestrato considerando al massimo quattro risposte precedenti, è possibile creare catene più lunghe utilizzando solo le quattro risposte riviste più recenti come contesto. All'aumentare della lunghezza di queste catene, si nota un miglioramento progressivo nella capacità del modello di selezionare la risposta corretta al primo tentativo (pass@1), dimostrando la capacità del modello di apprendere e migliorare sulla base delle revisioni delle risposte precedenti.

 

Durante l'inferenza, si verifica però un cambiamento nella distribuzione: mentre il modello è stato addestrato principalmente su sequenze contenenti solo risposte errate, durante il test può incontrare risposte corrette che vengono incluse nel contesto. Questo può portare il modello, inavvertitamente, a trasformare una risposta corretta in una errata nelle revisioni successive. È stato osservato che circa il 38% delle risposte corrette viene erroneamente trasformato in errato quando si utilizza un approccio più semplice (naïf). Per ridurre questo problema, è stato implementato un meccanismo di selezione basato sul voto di maggioranza o sulla valutazione tramite un verificatore, il quale sceglie la risposta più accurata tra quelle prodotte dal modello, migliorando così la probabilità di ottenere la risposta corretta.

 

Per verificare l'efficacia di questo approccio, è stato eseguito un confronto tra due modalità: il campionamento di N revisioni consecutive e il campionamento parallelo di N risposte alla stessa domanda. I risultati hanno dimostrato che, utilizzando sia il metodo del voto di maggioranza sia quello basato sul verificatore, il campionamento sequenziale delle revisioni fornisce prestazioni superiori rispetto al campionamento parallelo.

 

Scaling LLM: Risultati dell'analisi su test-time scaling e revisioni per migliori prestazioni

L'analisi dei risultati ottenuti dal test di scaling durante l'esecuzione ha rivelato che la proposta di risposte in modo sequenziale porta a prestazioni migliori rispetto a un approccio parallelo. Questo suggerisce che, nell'affrontare un problema, il modo in cui le risposte vengono generate può influenzare significativamente l'efficacia complessiva. È importante considerare che il campionamento sequenziale e quello parallelo possiedono caratteristiche distinte.

 

Il campionamento parallelo, ad esempio, può essere visto come un metodo di ricerca globale, che esplora una vasta gamma di strategie differenti per risolvere un problema. In questo caso, i diversi candidati potrebbero adottare approcci molto vari tra loro, permettendo di esplorare soluzioni molto distanti. In contrasto, il campionamento sequenziale tende a comportarsi come un processo di raffinamento locale, concentrandosi sul miglioramento di risposte che già si avvicinano alla soluzione desiderata.

 

Questi aspetti complementari indicano l'importanza di bilanciare i due approcci. La distribuzione del budget computazionale dovrebbe quindi essere attentamente calibrata, destinando una parte delle risorse al campionamento parallelo per esplorare soluzioni diverse e un'altra parte alle revisioni sequenziali per perfezionare le risposte promettenti.

 

È stato rilevato che esiste un equilibrio ottimale tra il campionamento sequenziale e quello parallelo, che dipende dalla difficoltà del compito da svolgere. Per identificare come distribuire al meglio le risorse tra questi due approcci, sono stati condotti numerosi test con diverse combinazioni. I risultati hanno confermato che, dato un budget fisso per la generazione, esiste una proporzione ideale tra campionamento sequenziale e parallelo che permette di ottenere la massima accuratezza. Questo equilibrio, però, non è fisso: varia a seconda della complessità del quesito. Le domande più semplici traggono maggiore vantaggio dalle revisioni sequenziali, mentre quelle più complesse richiedono un bilanciamento più attento tra le due modalità di computazione per ottenere i migliori risultati. Questa scoperta supporta l'idea che il campionamento sequenziale e quello parallelo siano due strumenti complementari che, se usati insieme, possono migliorare significativamente l'accuratezza dei risultati durante il test, con effetti variabili in base alla natura specifica del prompt.

 

Un aspetto importante riguarda anche la strategia ottimale per l'allocazione delle risorse computazionali. Poiché l'efficacia del campionamento sequenziale e parallelo varia con la difficoltà del compito, è possibile individuare la proporzione ideale tra queste modalità in base alla sfida specifica da affrontare. I risultati indicano chiaramente che adottare questa strategia di scalabilità computazionale permette di migliorare notevolmente le prestazioni rispetto all'utilizzo esclusivo del campionamento parallelo. Infatti, mentre il campionamento parallelo tende a stabilizzarsi oltre un certo livello di budget, la strategia di scalabilità ottimale continua a migliorare l'efficacia delle prestazioni.

 

L'analisi mostra quindi che, trovando il giusto equilibrio tra campionamento sequenziale e parallelo, si può ottenere un'efficienza che supera di gran lunga quella del solo campionamento parallelo, con un incremento di prestazioni fino a quattro volte superiore. In sintesi, affinare la distribuzione delle proposte attraverso revisioni mirate si rivela una strategia estremamente efficace per ottimizzare la computazione durante i test, tenendo conto sia del budget disponibile che della difficoltà specifica del compito da affrontare.

 

Scaling LLM: ottimizzazione del calcolo tra pre-addestramento e inferenza nei modelli

L'idea di bilanciare l'uso delle risorse di calcolo tra le fasi di pre-addestramento e inferenza di un modello è un concetto interessante che permette di ottimizzare le prestazioni complessive anche quando le risorse disponibili non sono elevate. In particolare, si considera come l'aumento del calcolo durante l'inferenza possa compensare una fase di pre-addestramento meno intensiva in termini di risorse. Questo approccio consente al modello di gestire distribuzioni più complesse, migliorando le sue prestazioni nonostante un pre-addestramento meno robusto.

 

L'analisi si concentra sul modo in cui le risorse di calcolo possono essere distribuite in modo più efficace tra le due fasi. La questione centrale riguarda la scelta strategica su come impiegare un budget di calcolo limitato: se sia più vantaggioso concentrarsi sull'aumento delle risorse durante la fase di pre-addestramento, oppure se sia più produttivo riservare una maggiore quantità di calcolo alla fase di inferenza, dove il modello viene effettivamente messo alla prova. La riflessione su questo bilanciamento è cruciale per ottimizzare le prestazioni del modello, massimizzando l'efficacia delle risorse a disposizione.

 

Quando si decide come distribuire le risorse di calcolo durante la fase di pre-addestramento di un modello, si affronta una scelta cruciale: è più opportuno investire nell'aumentare la quantità di dati utilizzati per l'addestramento o incrementare il numero di parametri del modello stesso? L'analisi di questa decisione si basa su un'ipotesi comune nel campo della scalabilità dei modelli, secondo cui i parametri vengono aumentati mantenendo invariata la quantità di dati di addestramento.

 

Per comprendere il legame tra le risorse di calcolo impiegate durante il pre-addestramento e quelle necessarie durante l'inferenza, si utilizzano approssimazioni matematiche. Queste approssimazioni suggeriscono che, aumentando il numero di parametri del modello, crescono in modo proporzionale sia le risorse richieste per il pre-addestramento, sia quelle necessarie per l'inferenza. Tuttavia, se si desidera ottenere un incremento delle prestazioni durante l'inferenza con un modello più piccolo, sarà necessario aumentare le risorse di calcolo impiegate in questa fase, in proporzione al rapporto tra il numero di token utilizzati per l'addestramento e quelli impiegati nell'inferenza.

 

Il valore di questo rapporto, indicato come R, varia a seconda del contesto in cui il modello viene utilizzato. Ad esempio, in ambienti produttivi su larga scala, potrebbe esserci un numero molto maggiore di token di inferenza rispetto a quelli utilizzati per l'addestramento, portando a un valore di R elevato. In altre situazioni, come nei sistemi di auto-miglioramento, il numero di token utilizzati per l'inferenza può essere inferiore rispetto a quelli utilizzati per l'addestramento, risultando in un valore di R basso.

 

I risultati degli esperimenti evidenziano che, in presenza di problemi particolarmente complessi o in situazioni in cui il numero di token di inferenza è elevato, può essere più efficiente investire risorse nel pre-addestramento. Al contrario, in situazioni dove le domande sono di difficoltà medio-bassa o dove le esigenze di inferenza sono limitate, può risultare più vantaggioso dedicare maggiori risorse durante l'inferenza.

 

In conclusione, non esiste una corrispondenza perfetta tra il calcolo impiegato nel pre-addestramento e quello utilizzato durante l'inferenza. In contesti con domande semplici o con bassi requisiti di inferenza, è possibile compensare una minore allocazione di risorse nel pre-addestramento con un maggiore impiego di calcolo durante l'inferenza. Tuttavia, per situazioni più complesse o con elevate esigenze di inferenza, investire risorse nel pre-addestramento risulta essere una strategia più efficace per migliorare le prestazioni complessive del modello.

 

Approcci futuri per migliorare la scalabilità del calcolo nei test con LLM

Nella ricerca è stata condotta un'analisi dettagliata sulle diverse tecniche impiegate per migliorare la ricerca in relazione a un verificatore e per ottimizzare la distribuzione delle proposte generate da un modello linguistico di grandi dimensioni (LLM) durante il processo di test nel ragionamento matematico. È emerso che l'efficacia di un approccio è fortemente influenzata dalla complessità del problema in relazione alle capacità del modello di base utilizzato. Questo ha portato allo sviluppo del concetto di "scalabilità ottimale del calcolo" durante il test, un approccio che prevede una strategia adattativa, orientata dal prompt, per massimizzare le prestazioni entro i limiti di calcolo disponibili. L'implementazione di questa strategia ha consentito di incrementare l'efficienza del calcolo durante la fase di test da 2 a 4 volte, dimostrando l'importanza di un adattamento dinamico delle risorse computazionali in base alla difficoltà dei problemi affrontati.

 

Il confronto tra i benefici derivanti dall'aggiunta di calcoli durante il test e quelli ottenuti durante la fase di pre-addestramento ha rivelato un aspetto interessante: l'impiego di calcoli durante il test, utilizzando metodi apparentemente semplici come revisioni e ricerche, può portare a risultati positivi in alcuni tipi di prompt. Questo approccio ha mostrato, per la prima volta, che tali metodi possono superare i vantaggi ottenuti investendo risorse computazionali nel pre-addestramento. Tuttavia, il lavoro presenta alcune limitazioni che potrebbero essere affrontate in ricerche future.

 

Uno degli ambiti da perfezionare riguarda la scalabilità del calcolo durante i test. La ricerca si è focalizzata principalmente su due meccanismi fondamentali: il verificatore e la distribuzione delle proposte attraverso revisioni. Nonostante la combinazione di verificatori e revisioni abbia mostrato risultati promettenti, non sono state esplorate altre tecniche, come l'uso degli alberi PRM in combinazione con le revisioni. Inoltre, tecniche come la critica e ulteriori revisioni non sono state approfondite. In futuro, sarà necessario investigare come migliorare ulteriormente la scalabilità del calcolo durante il test, esplorando una gamma più ampia di approcci. È stato anche notato che questi metodi offrono solo piccoli vantaggi su problemi più complessi, suggerendo la necessità di sviluppare nuove strategie per superare queste limitazioni.

 

Un altro aspetto rilevante riguarda la valutazione rapida della difficoltà delle domande. In questo studio, è stata adottata una nozione di difficoltà della domanda come statistica sufficiente per approssimare una strategia ottimale di scalabilità del calcolo durante il test. Sebbene questo metodo si sia dimostrato efficace, la stima della difficoltà delle domande richiede una quantità significativa di risorse computazionali. Futuri studi potrebbero esplorare alternative per stimare la difficoltà in modo più efficiente, come il pre-addestramento o il fine-tuning di modelli in grado di prevedere direttamente la difficoltà, o alternando dinamicamente la valutazione della difficoltà con il tentativo di risolvere la domanda stessa.

 

Infine, il lavoro si è concentrato esclusivamente sulla scalabilità del calcolo durante il test e su quanto questo possa essere compensato da un pre-addestramento aggiuntivo. Tuttavia, è possibile che, in futuro, i risultati ottenuti applicando calcoli durante il test possano essere integrati nel modello di base, permettendo un ciclo iterativo di auto-miglioramento applicato al linguaggio naturale. Per questo motivo, sarà importante che futuri studi estendano questi risultati e approfondiscano come i risultati del calcolo durante il test possano essere utilizzati per migliorare ulteriormente il modello di base.

 

Conclusione

L'ottimizzazione del calcolo durante la fase di test nei modelli di linguaggio di grandi dimensioni (LLM) offre una prospettiva innovativa che sfida l'approccio tradizionale basato sull'aumento dei parametri del modello. Questo cambiamento di paradigma, invece di puntare semplicemente sull'ampliamento della complessità del modello, promuove una gestione più intelligente e mirata delle risorse computazionali esistenti.

 

La riflessione strategica qui si concentra su come le imprese possano trarre vantaggio da un approccio simile nell'allocazione delle proprie risorse, non solo in ambito tecnologico, ma anche in altri contesti operativi. Tradizionalmente, per risolvere problemi complessi, si è spesso pensato che "più è meglio" – ovvero, più risorse, più personale, più investimenti. Tuttavia, questo studio suggerisce che potrebbe essere più efficace concentrare gli sforzi sull'ottimizzazione dell'uso delle risorse già disponibili, piuttosto che investire costantemente in nuovi strumenti o competenze.

 

Applicando questa logica al mondo aziendale, emerge che la vera sfida non è solo acquisire nuove risorse, ma saperle utilizzare in modo più efficiente. Per esempio, anziché ampliare un team di lavoro o aggiungere nuovi software, le imprese potrebbero focalizzarsi sull'ottimizzazione dei processi interni, migliorando le sinergie tra le diverse funzioni aziendali o implementando metodi di lavoro più efficaci. Ciò potrebbe comportare l'adozione di strategie di "scaling ottimale" che si adattino alle specifiche esigenze dell'organizzazione, migliorando la produttività senza un aumento esponenziale dei costi.

 

Inoltre, l'idea di bilanciare il pre-addestramento e l'inferenza nei modelli LLM è parallela alla necessità di trovare un equilibrio tra preparazione e azione nel contesto aziendale. In molti casi, le aziende investono pesantemente nella formazione e nello sviluppo delle competenze, ma potrebbero trarre benefici significativi dall'allocazione di risorse per ottimizzare l'esecuzione operativa – il "calcolo durante il test", se vogliamo mantenere la metafora.

 

Infine, la capacità di adattarsi dinamicamente alla complessità delle sfide – stimando la difficoltà dei problemi e allocando le risorse di conseguenza – è cruciale per il successo strategico. In un contesto in cui le risorse sono limitate, la priorità non dovrebbe essere semplicemente quella di fare di più, ma di fare meglio, utilizzando l'intelligenza e la flessibilità per massimizzare il ritorno sugli investimenti.

 

In sintesi, l'approccio ottimizzato al calcolo nei LLM non solo offre una nuova via per l'efficienza computazionale, ma rappresenta anche una lezione preziosa per le imprese: l'ottimizzazione strategica delle risorse disponibili può superare la mera espansione delle capacità, portando a risultati più sostenibili e significativi.

48 visualizzazioni0 commenti

Post recenti

Mostra tutti

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page