Introduzione
La crisi di riproducibilità nell’intelligenza artificiale è da tempo una spina nel fianco di ricercatori, ingegneri e aziende che si affidano ai grandi modelli linguistici. Quando chiedi due volte la stessa cosa a ChatGPT, raramente ricevi risposte identiche: un fenomeno che mina il rigore scientifico e l’affidabilità pratica. Recentemente, Mira Murati, ex CTO di OpenAI, ha fondato il Thinking Machines Lab con una missione audace: risolvere uno dei problemi più fondamentali dell’IA, ovvero la non-determinazione nell’inferenza degli LLM. Attraverso il loro blog di ricerca, Connectionism, hanno pubblicato lavori rivoluzionari sulla sconfitta della non-determinazione, rivelando non solo le cause di questa incoerenza, ma anche soluzioni pratiche che potrebbero trasformare il modo in cui costruiamo e ci fidiamo dei sistemi IA. Questo articolo analizza le loro scoperte, spiega i meccanismi tecnici dietro la variabilità degli LLM ed esplora le implicazioni per il futuro dell’affidabilità dell’IA.
Comprendere la Non-Determinazione: Il Problema Centrale
La non-determinazione nei grandi modelli linguistici è un concetto apparentemente semplice ma con profonde implicazioni. Se fornisci lo stesso identico prompt a un LLM più volte, otterrai risposte diverse: a volte lievemente, a volte drasticamente differenti. Questa incoerenza viola uno dei principi fondamentali del metodo scientifico: la riproducibilità. La riproducibilità è considerata la base del progresso scientifico, ma resta straordinariamente difficile da ottenere con i moderni LLM. Il problema non è solo un fastidio; rappresenta una vulnerabilità critica nel deployment dei sistemi IA in settori dove coerenza e affidabilità sono essenziali. Che tu stia usando un LLM per supporto alla diagnosi medica, analisi di documenti legali, previsione finanziaria o ricerca scientifica, l’incapacità di riprodurre i risultati genera una serie di problemi a catena che influenzano fiducia, validazione e conformità normativa.
La manifestazione della non-determinazione è evidente e frustrante. Esegui lo stesso prompt dieci volte su un LLM e potresti ottenere dieci risposte diverse. Anche cercando di eliminare la casualità impostando il parametro “temperature” a zero—che teoricamente dovrebbe produrre output deterministici—il modello genera comunque risultati diversi. Questa persistenza della variabilità anche in condizioni che dovrebbero essere deterministiche ha sconcertato i ricercatori per anni. La visione convenzionale suggeriva che questo fosse semplicemente il funzionamento dei modelli linguistici, una caratteristica intrinseca della tecnologia. Tuttavia, la ricerca di Thinking Machines mostra che questa assunzione era incompleta. Le vere cause della non-determinazione sono molto più specifiche e, cosa importante, affrontabili tramite interventi tecnici mirati.
Perché la Riproducibilità Conta: Il Caso Aziendale e Scientifico
L’importanza di sconfiggere la non-determinazione va ben oltre la curiosità accademica. In termini pratici, la riproducibilità è essenziale per costruire sistemi IA affidabili che le organizzazioni possano implementare in produzione con fiducia. Quando un LLM produce output incoerenti, diventa quasi impossibile effettuare debug in modo efficace. Se un modello genera una risposta errata o dannosa, gli ingegneri non possono riprodurre il problema in modo affidabile per capire cosa sia andato storto. Questo rende estremamente difficile identificare se il problema deriva dal modello, dalla progettazione del prompt, dai dati o da altri fattori. Il debug diventa un gioco d’azzardo anziché un processo sistematico di eliminazione.
Oltre al debug, la riproducibilità è fondamentale per auditing e verifica. Autorità di regolamentazione, responsabili della conformità e team di sicurezza devono comprendere come i sistemi IA prendano decisioni. Quando gli output non sono deterministici, l’audit diventa un incubo. Non puoi ricondurre con certezza un output specifico alle sue cause. Questo è particolarmente problematico in settori regolamentati come sanità, finanza e diritto, dove spiegabilità e auditabilità sono requisiti legali. Inoltre, il benchmarking diventa inaffidabile quando input e output sono non-deterministici. Se stai confrontando due modelli o due versioni dello stesso modello, hai bisogno di risultati stabili e riproducibili per fare confronti significativi. La non-determinazione introduce rumore nei benchmark, rendendo difficile capire se le differenze di performance siano reali o dovute al caso.
Dal punto di vista della fiducia dell’utente, la riproducibilità è altrettanto importante. Gli utenti vogliono sapere che, quando pongono una domanda a un sistema IA, otterranno una risposta coerente e affidabile. Se la stessa domanda produce risposte molto diverse, gli utenti perdono fiducia nel sistema. Questo è particolarmente vero per applicazioni dove gli utenti si affidano all’IA per supporto decisionale o recupero informazioni. Inoltre, la riproducibilità consente una migliore progettazione e ottimizzazione dei prompt. Se non puoi riprodurre i risultati, non puoi migliorare sistematicamente i tuoi prompt o capire quali variazioni funzionino meglio.
Le Radici Tecniche della Non-Determinazione: Aritmetica in Virgola Mobile ed Esecuzione Concorrente
L’ipotesi comune sulle cause della non-determinazione negli LLM si concentra su due fattori tecnici: la non-associatività dell’aritmetica in virgola mobile e l’esecuzione concorrente su GPU. Comprendere questi concetti richiede di addentrarsi nelle basi matematiche e computazionali del funzionamento delle reti neurali. I numeri in virgola mobile sono lo standard con cui i computer rappresentano i numeri decimali—valori come 5,23 o 3,14159. Tuttavia, i computer non possono memorizzare precisione infinita. A un certo punto il numero viene arrotondato per essere inserito in una quantità fissa di memoria. Questo arrotondamento introduce un piccolo errore che, eseguendo milioni o miliardi di operazioni, può accumularsi e propagarsi.
La non-associatività è particolarmente importante. In matematica pura, l’addizione è associativa: (a + b) + c equivale a a + (b + c). Tuttavia, nell’aritmetica in virgola mobile, ciò non vale sempre a causa degli arrotondamenti. A seconda dell’ordine in cui sommi i numeri, puoi ottenere risultati leggermente diversi. Questo può sembrare banale, ma nel contesto di calcoli di reti neurali che coinvolgono miliardi di parametri e operazioni, queste piccole differenze possono propagarsi e influenzare quale token il modello seleziona come prossimo output.
Il secondo fattore è l’esecuzione concorrente su GPU. Le GPU sono progettate per eseguire molti calcoli simultaneamente. Quando assegni a una GPU un’operazione matematica, questa non viene eseguita in sequenza; il lavoro viene distribuito su migliaia di core che lavorano in parallelo. Il problema è che spesso non sai quale core finirà per primo. Questo ordine non-deterministico di completamento può influenzare il risultato finale, specialmente quando le operazioni dipendono l’una dall’altra o i risultati vengono aggregati. Alcuni hardware specializzati, come i chip di aziende come Groq, affrontano questo problema usando architetture completamente simmetriche in cui si sa esattamente quanto tempo impiega ciascuna operazione. Tuttavia, la maggior parte delle GPU non ha questa proprietà.
Il Vero Colpevole: La Variabilità della Dimensione del Batch
Sebbene le ipotesi sull’aritmetica in virgola mobile e l’esecuzione concorrente abbiano elementi di verità, la ricerca di Thinking Machines rivela che non raccontano tutta la storia. Il vero colpevole della non-determinazione negli LLM è la variabilità della dimensione del batch. Per comprenderlo, immagina un sistema di car pooling. Quando invii un prompt a un LLM, la tua richiesta non viene processata da sola. Invece, viene raggruppata con altre richieste in un batch—un car pooling di query. Quando il sistema è molto utilizzato, il batch è grande e contiene molte richieste. Quando il sistema è poco utilizzato, il batch è piccolo. Questa dimensione non è fissa, ma cambia dinamicamente in base al carico di sistema.
L’intuizione chiave è che la dimensione del batch influenza l’ordine in cui vengono eseguite le piccole operazioni matematiche all’interno della rete neurale. Batch di dimensioni diverse possono causare l’esecuzione delle stesse operazioni matematiche in ordini diversi. Sebbene le operazioni siano identiche, l’ordine conta a causa della non-associatività in virgola mobile. Un ordine leggermente diverso porta a risultati intermedi leggermente diversi, che possono propagarsi nella rete e cambiare quale token il modello seleziona come output successivo. Poiché gli LLM generano un token alla volta, e ogni token dipende da tutti i precedenti, una singola differenza all’inizio della generazione può portare a output completamente diversi alla fine.
Si tratta di un’intuizione sottile ma profonda. Significa che la non-determinazione non è intrinseca all’architettura del modello o alla natura delle reti neurali, ma è una conseguenza di come viene implementato il batching durante l’inferenza. La dimensione del batch è una variabile che cambia in base alle condizioni del sistema, e questa variabilità si traduce direttamente in variabilità dell’output. Questa scoperta è importante perché suggerisce che il problema è risolvibile attraverso una progettazione attenta della pipeline di inferenza.
La Soluzione: Kernel Invarianti al Batch ed Elaborazione Deterministica
La soluzione di Thinking Machines alla non-determinazione prevede tre correzioni tecniche coordinate, denominate collettivamente kernel invarianti al batch. La prima correzione assicura che, indipendentemente dalla dimensione del batch, le operazioni computazionali vengano pesate e normalizzate in modo coerente. Usando un’analogia con un ristorante, immagina di preparare delle ciotole di cibo: è necessario che ogni ciotola venga pesata allo stesso modo, sia che la cucina sia affollata sia che sia vuota. Ciò significa implementare kernel computazionali che mantengano normalizzazione e pesatura costanti indipendentemente dal numero di richieste nel batch. Il compromesso è che potresti perdere un po’ di velocità—il sistema potrebbe processare le richieste leggermente più lentamente per garantire coerenza. Tuttavia, la coerenza ottenuta vale molto di più della modesta perdita di performance.
La seconda correzione riguarda il mantenimento identico del passaggio di mixing su tutte le dimensioni di batch. Nei calcoli delle reti neurali, ci sono operazioni di mixing in cui diversi componenti vengono combinati. Queste operazioni devono essere svolte esattamente nello stesso modo, indipendentemente dalla dimensione del batch. Questo richiede un’implementazione accurata dei kernel computazionali per assicurarsi che l’ordine e il metodo di mixing restino costanti. Anche qui, potrebbe esserci un piccolo overhead computazionale, ma il beneficio di output deterministici giustifica il costo.
La terza correzione riguarda il meccanismo di attenzione, centrale nei modelli linguistici basati su transformer. Il meccanismo di attenzione consente al modello di “guardare indietro” a quanto già prodotto e pesare diversamente le varie parti del testo. Quando il testo viene processato in blocchi di dimensioni diverse, l’ordine delle operazioni nel meccanismo di attenzione può variare. La soluzione è usare sempre la stessa dimensione di blocco, garantendo che il meccanismo di attenzione processi le informazioni nello stesso ordine. Questa coerenza nell’elaborazione dell’attenzione è cruciale per output deterministici.
Validazione e Risultati: Prova di Concetto
La vera prova di ogni affermazione scientifica è la validazione empirica. Thinking Machines ha testato la propria soluzione usando Qwen 2.5B, un grande modello linguistico, conducendo un esperimento rigoroso. Hanno generato 1.000 completamenti a temperatura zero (il livello minimo di casualità) usando lo stesso prompt: “Parlami di Richard Feynman.” Ogni completamento ha generato 1.000 token. Prima dell’implementazione dei kernel invarianti al batch, i risultati erano deludenti ma rivelatori: su 1.000 completamenti, hanno generato 80 risposte uniche, con la risposta più comune comparsa solo 78 volte. Questo baseline dimostrava la gravità del problema della non-determinazione: anche a temperatura zero, il modello produceva 80 output diversi.
Dopo aver attivato i kernel invarianti al batch, i risultati sono stati eclatanti: tutti i 1.000 completamenti erano identici. È stata raggiunta la determinazione perfetta. Non si trattava di un miglioramento marginale o di una soluzione parziale, ma di un’eliminazione totale della non-determinazione. Ogni singola esecuzione produceva esattamente lo stesso output. Questa validazione è cruciale perché dimostra che il problema è davvero risolvibile e che la soluzione proposta funziona. L’esperimento è stato condotto con un modello linguistico reale di scala produttiva, non con una versione semplificata o giocattolo, il che rende i risultati ancora più significativi.
Implicazioni per Fiducia, Debug e Audit dell’IA
Il raggiungimento di output deterministici negli LLM ha ampie implicazioni per il modo in cui costruiamo, implementiamo e ci fidiamo dei sistemi IA. Anzitutto, il determinismo consente un debug affidabile. Quando un modello produce un output errato o inatteso, gli ingegneri possono ora riprodurre il problema in modo coerente. Questo trasforma il debug da un frustrante gioco d’azzardo a un processo sistematico. Gli ingegneri possono tracciare esattamente il percorso computazionale che ha portato all’output problematico, identificare dove si è verificato l’errore e implementare correzioni con la certezza di aver davvero risolto il problema.
In secondo luogo, il determinismo migliora enormemente l’auditabilità. Autorità di regolamentazione, responsabili della conformità e team di sicurezza possono ora auditare i sistemi IA con molta più fiducia. Quando puoi riprodurre gli output in modo coerente, puoi tracciare esattamente i fattori che hanno influenzato una decisione. Questo è particolarmente importante in settori regolamentati come sanità, finanza e diritto, dove la spiegabilità è un requisito legale. Gli auditor possono verificare che il modello si comporti come previsto e che non produca output distorti o dannosi dovuti a casualità non-deterministica.
In terzo luogo, il benchmarking diventa molto più affidabile. Quando si confrontano due modelli o due versioni dello stesso modello, i ricercatori possono essere certi che le differenze di performance siano reali e non artefatti del caso. Questo consente valutazioni scientifiche più rigorose dei sistemi IA e decisioni più informate su quali modelli implementare. Inoltre, il determinismo permette una migliore progettazione e ottimizzazione dei prompt: i ricercatori possono testare sistematicamente vari prompt e misurarne gli effetti sapendo che i risultati sono riproducibili.
Applicazione FlowHunt: Automatizzare Flussi di Lavoro IA Affidabili
Per le organizzazioni che usano FlowHunt per automatizzare i flussi di lavoro IA, le implicazioni degli LLM deterministici sono significative. FlowHunt permette agli utenti di costruire flussi di lavoro IA complessi e multi-step che integrano modelli linguistici con altri strumenti e processi. Quando gli LLM sono non-deterministici, questi flussi di lavoro diventano inaffidabili: lo stesso input può produrre output diversi, portando a risultati a valle incoerenti. Con gli LLM deterministici, gli utenti FlowHunt possono costruire flussi di lavoro con molta più fiducia nella loro affidabilità e coerenza.
Le capacità di automazione di FlowHunt sono particolarmente preziose se combinate con LLM deterministici. Gli utenti possono creare flussi di lavoro che dipendono da specifici output degli LLM, sapendo che tali output saranno coerenti e riproducibili. Questo consente automazioni più sofisticate, una migliore gestione degli errori e integrazioni più affidabili con altri sistemi. Ad esempio, un flusso di lavoro che estrae informazioni da documenti tramite un LLM può essere certo che lo stesso documento produrrà sempre le stesse informazioni estratte. Questa coerenza è fondamentale per costruire automazioni IA affidabili e di livello produttivo.
Considerazioni Avanzate: Quando il Determinismo Non è Desiderato
Sebbene gli output deterministici siano generalmente auspicabili, ci sono casi d’uso importanti in cui la non-determinazione è invece vantaggiosa. La scrittura creativa è l’esempio più evidente. Se usi un LLM per generare contenuti creativi—storie, poesie, testi pubblicitari—probabilmente vuoi variabilità. Vuoi che il modello generi output creativi diversi ogni volta, non sempre lo stesso. In questi casi, gli utenti vorranno disabilitare la modalità deterministica e permettere al modello di produrre output variabili.
Analogamente, nelle applicazioni di brainstorming o generazione di idee, la variabilità può essere preziosa. Se usi un LLM per generare molteplici idee o prospettive su un argomento, desideri output diversi, non lo stesso ripetuto. La soluzione è rendere il determinismo opzionale: gli utenti possono attivarlo quando serve riproducibilità e disattivarlo quando desiderano variabilità. Questa flessibilità è importante per garantire che gli LLM deterministici non limitino inutilmente i casi d’uso dove la variabilità è un vantaggio.
L’Impatto Più Ampio su Sviluppo e Deployment dell’IA
Il lavoro di Thinking Machines nello sconfiggere la non-determinazione rappresenta un passo avanti significativo verso sistemi IA più affidabili, fidati e pronti per la produzione. Questa ricerca affronta un problema fondamentale che ha afflitto l’industria IA sin dall’emergere dei grandi modelli linguistici. Risolvendo questo problema, Thinking Machines abilita una nuova generazione di applicazioni IA che possono essere adottate con maggiore fiducia in settori regolamentati e applicazioni mission-critical.
Le implicazioni vanno oltre i soli LLM. Le tecniche sviluppate per ottenere inferenza deterministica negli LLM potrebbero potenzialmente essere applicate anche ad altri tipi di reti neurali e sistemi IA. I principi dei kernel invarianti al batch e dell’ordinamento computazionale costante sono principi generali che potrebbero migliorare l’affidabilità dell’IA in generale. Con l’integrazione crescente dell’IA nelle infrastrutture critiche e nei processi decisionali, l’importanza di riproducibilità e determinismo è destinata ad aumentare.
Inoltre, questo lavoro sottolinea l’importanza della ricerca fondamentale nell’IA. Mentre gran parte dell’industria IA si concentra sullo scaling dei modelli e sull’aggiunta di nuove funzionalità, ricerche come questa affrontano questioni fondanti che consentono un deployment migliore e una maggiore fiducia nei sistemi IA. Il fatto che un’ex CTO di OpenAI dedichi i suoi sforzi a risolvere questo problema ne evidenzia l’importanza e suggerisce che l’industria IA sta iniziando a riconoscere che affidabilità e riproducibilità sono importanti quanto la capacità grezza.
Conclusione
Il Thinking Machines Lab di Mira Murati ha identificato e risolto un problema cruciale nell’inferenza dei grandi modelli linguistici: la non-determinazione. Riconoscendo che la variabilità della dimensione del batch, più che l’aritmetica in virgola mobile o la concorrenza delle GPU, è la causa principale degli output non-deterministici, e sviluppando kernel invarianti al batch per affrontare la questione, hanno dimostrato che l’inferenza deterministica negli LLM è raggiungibile. La loro validazione sperimentale con Qwen 2.5B ha mostrato che la determinazione perfetta è possibile: tutti i 1.000 completamenti del test erano identici dopo l’implementazione della soluzione. Questa svolta ha profonde implicazioni per la fiducia nell’IA, il debug, l’audit e il deployment di sistemi IA in settori regolamentati. Con l’aumentare dell’affidamento sugli LLM per applicazioni critiche, la capacità di produrre output riproducibili e deterministici diventerà un requisito fondamentale per sistemi IA di livello produttivo.