Dalla Gig di Google alla Rivoluzione dell'IA: Conversazione con Noam Shazeer e Jeff Dean

L’Alba dell’Evoluzione dell’IA: Un Viaggio di 25 Anni da PageRank all’AGI

Due luminari dell’odissea tecnologica di Google, Jeff Dean, l’attuale Chief Scientist, e Noam Shazeer, una figura chiave dietro il modello Transformer che si è recentemente riunito al gruppo, hanno partecipato di recente a un dialogo illuminante. Ospitata dal rinomato podcaster Dwarkesh Patel, la loro conversazione ha offerto uno sguardo all’evoluzione dell’IA, che spazia dai giorni fondamentali di MapReduce all’era trasformativa delle architetture Transformer e MoE.

Questi veterani esperti, con un’esperienza combinata di decenni in Google, non solo hanno assistito, ma hanno anche attivamente plasmato le tecnologie che definiscono Internet e l’intelligenza artificiale. Ironicamente, Shazeer ha confessato che la sua motivazione iniziale per entrare in Google era una ricerca finanziaria a breve termine, un piano che è stato drasticamente capovolto dai suoi successivi contributi al settore.

Lo Stato Attuale e la Traiettoria Futura del Calcolo dell’IA

In uno scambio tentacolare di due ore, Dean e Shazeer hanno svelato approfondimenti sullo stato attuale del calcolo dell’IA, rivelando che:

  • La scala delle operazioni ha trasceso i singoli data center; l’addestramento di Gemini ora si estende su più data center in diverse aree metropolitane, operando in modo asincrono.
  • C’è un ampio margine di crescita nello scaling del calcolo dell’inferenza, poiché interagire con l’IA rimane significativamente più conveniente della lettura tradizionale.
  • Le future architetture di modelli sono concepite per superare la flessibilità di MoE, consentendo lo sviluppo indipendente di vari componenti del modello da parte di team diversi.

Approfondimenti dalle Trincee: Bug Bounties e Architetture Future

La conversazione ha anche suscitato interesse sui social media, con utenti che hanno evidenziato concetti intriganti, come:

  • Il potenziale di memorizzare vasti modelli MoE in memoria.
  • Gli inaspettati vantaggi dei bug nel codice, che, man mano che la scala aumenta, possono inavvertitamente portare a scoperte rivoluzionarie.

Dean ha sfidato l’idea che il calcolo dell’IA sia proibitivamente costoso. Confrontando il costo di interagire con un libro rispetto all’interazione con un’IA sullo stesso libro, ha illustrato un punto convincente:

I modelli linguistici più avanzati operano a un costo incredibilmente basso di circa $10^{-18}$ per operazione, traducendosi in un milione di token elaborati per un singolo dollaro. Al contrario, l’acquisto di un libro tascabile offre solo 10.000 token per dollaro.

Questa netta differenza - un vantaggio di costo cento volte superiore per l’interazione con l’IA - sottolinea il potenziale inesplorato per migliorare l’intelligenza dell’IA attraverso un maggiore calcolo dell’inferenza.

Da una prospettiva infrastrutturale, la crescente importanza del calcolo in fase di inferenza potrebbe rimodellare la pianificazione dei data center. Ciò potrebbe richiedere hardware specificamente progettato per le attività di inferenza, che ricorda le TPU di prima generazione di Google, inizialmente progettate per l’inferenza e successivamente adattate per l’addestramento.

Calcolo Distribuito e Asincrono: Un Nuovo Paradigma

La crescente enfasi sull’inferenza suggerisce che la comunicazione continua tra i data center potrebbe diventare non necessaria, portando potenzialmente a un modello computazionale più distribuito e asincrono.

Gemini 1.5 ha già intrapreso questo percorso, sfruttando le risorse computazionali in diverse grandi città. Reti ad alta velocità sincronizzano i calcoli da diversi data center, raggiungendo scale di addestramento senza precedenti. Per i modelli di grandi dimensioni, in cui ogni fase di addestramento può richiedere diversi secondi, anche una latenza di rete di 50 millisecondi ha un impatto minimo.

Nel regno dell’inferenza, la sensibilità alla latenza diventa una considerazione critica. Mentre le risposte immediate richiedono prestazioni ottimizzate a bassa latenza, le attività non urgenti, come l’analisi contestuale complessa, possono tollerare tempi di elaborazione più lunghi.

Un sistema più adattabile ed efficiente potrebbe gestire in modo asincrono più attività, migliorando le prestazioni complessive e riducendo al minimo i tempi di attesa degli utenti. Inoltre, i progressi algoritmici, come l’impiego di modelli di bozza più piccoli, possono alleviare i colli di bottiglia nel processo di inferenza. Questo approccio prevede che modelli più piccoli generino potenziali token, che vengono poi verificati da modelli più grandi, accelerando significativamente il processo di inferenza attraverso la parallelizzazione.

Shazeer ha aggiunto che durante l’addestramento asincrono, ogni replica del modello opera in modo indipendente, inviando aggiornamenti del gradiente a un sistema centrale per l’applicazione asincrona. Nonostante le implicazioni teoriche di piccole fluttuazioni dei parametri, questo metodo si è dimostrato notevolmente efficace.

Al contrario, l’addestramento sincrono offre stabilità e riproducibilità, una preferenza per molti ricercatori. Per garantire la replicabilità nell’addestramento, Dean ha evidenziato la pratica di registrare le operazioni, in particolare gli aggiornamenti del gradiente e la sincronizzazione dei batch di dati. Riproducendo questi registri, anche l’addestramento asincrono può produrre risultati riproducibili, rendendo il debug più gestibile e mitigando le incongruenze causate da fattori ambientali.

Il Ruolo Serendipitoso dei Bug

Ampliando questo concetto, Shazeer ha introdotto una prospettiva intrigante:

Mentre l’addestramento dei modelli incontra vari bug, l’inerente tolleranza al rumore di questi modelli consente l’auto-regolazione, portando a risultati imprevisti. Alcuni bug producono persino effetti positivi, presentando opportunità di miglioramento man mano che la scala amplifica le anomalie sperimentali.

Quando è stato interrogato sulle pratiche di debug, Shazeer ha descritto il loro approccio di condurre numerosi esperimenti su piccola scala per una rapida convalida. Questo metodo semplifica la base di codice e riduce i cicli degli esperimenti a ore invece che a settimane, facilitando un feedback e aggiustamenti rapidi.

Dean ha convenuto, osservando che molti esperimenti con risultati inizialmente sfavorevoli potrebbero successivamente fornire approfondimenti cruciali. Tuttavia, i ricercatori devono affrontare la sfida della complessità del codice; sebbene siano necessari miglioramenti incrementali, introducono anche sfide di prestazioni e manutenzione, richiedendo un equilibrio tra pulizia del sistema e innovazione.

La Struttura Organica dei Modelli Futuri

Dean e Shazeer prevedono un cambiamento significativo nei modelli di IA da strutture monolitiche ad architetture modulari.

Modelli come Gemini 1.5 Pro utilizzano già un’architettura Mixture of Experts (MoE), attivando diversi componenti in base all’attività. Ad esempio, i problemi matematici coinvolgono la sezione competente in matematica, mentre l’elaborazione delle immagini attiva il modulo specializzato corrispondente.

Tuttavia, le attuali strutture dei modelli rimangono alquanto rigide, con moduli esperti di dimensioni uniformi e privi di flessibilità. Dean ha proposto una visione più lungimirante: i modelli futuri dovrebbero adottare una struttura organica, consentendo a team diversi di sviluppare o migliorare in modo indipendente parti distinte del modello.

Ad esempio, un team specializzato in lingue del sud-est asiatico potrebbe perfezionare il modulo pertinente, mentre un altro si concentra sul miglioramento della comprensione del codice. Questo approccio modulare non solo aumenta l’efficienza dello sviluppo, ma consente anche a team globali di contribuire all’avanzamento del modello.

Tecnicamente, i modelli possono ottimizzare continuamente i singoli moduli attraverso la distillazione. Ciò comporta la condensazione di moduli di grandi dimensioni e ad alte prestazioni in versioni più piccole ed efficienti, che continuano quindi ad apprendere nuove conoscenze.

Un router può selezionare la versione del modulo appropriata in base alla complessità dell’attività, bilanciando prestazioni ed efficienza, un concetto centrale per l’architettura Pathway di Google.

Questa nuova architettura richiede un’infrastruttura robusta, inclusi potenti cluster TPU e un’ampia memoria ad alta larghezza di banda (HBM). Sebbene ogni chiamata possa utilizzare solo una frazione dei parametri del modello, l’intero sistema deve mantenere il modello completo in memoria per servire richieste simultanee.

I modelli attuali possono scomporre un’attività in 10 sotto-attività con un tasso di successo dell’80%. I modelli futuri potrebbero potenzialmente suddividere un’attività in 100 o 1.000 sotto-attività, raggiungendo tassi di successo del 90% o superiori.

Il Momento “Holy Shit”: Riconoscimento Accurato dei Gatti

Guardando indietro, il 2007 ha segnato una pietra miliare significativa per i modelli linguistici di grandi dimensioni (LLM).

A quel tempo, Google ha addestrato un modello N-gram utilizzando 2 trilioni di token per la traduzione automatica. Tuttavia, l’affidamento sull’archiviazione su disco per i dati N-gram ha comportato un’elevata latenza a causa dell’esteso I/O del disco (ad esempio, 100.000 ricerche/parola), impiegando 12 ore per tradurre una singola frase.

Per risolvere questo problema, hanno ideato diverse strategie, tra cui la compressione della memoria, l’architettura distribuita e l’ottimizzazione dell’API di elaborazione batch:

  • Compressione della memoria: Caricamento completo dei dati N-gram in memoria per evitare l’I/O del disco.
  • Architettura distribuita: Distribuzione dei dati su più macchine (ad esempio, 200) per query parallele.
  • Ottimizzazione dell’API di elaborazione batch: Riduzione del sovraccarico per richiesta per migliorare la produttività.

Durante questo periodo, la potenza di calcolo ha iniziato a seguire la legge di Moore, portando a una crescita esponenziale.

“Dalla fine del 2008, grazie alla legge di Moore, le reti neurali hanno davvero iniziato a funzionare.”

Quando gli è stato chiesto di un momento “Holy shit” - un momento di incredulità che un particolare sforzo di ricerca abbia effettivamente funzionato - Jeff ha raccontato il progetto di un team di Google all’inizio in cui hanno addestrato un modello per apprendere funzionalità di alto livello (come il riconoscimento di gatti e pedoni) dai fotogrammi di video di YouTube. Attraverso l’addestramento distribuito (2.000 macchine, 16.000 core), hanno ottenuto l’apprendimento non supervisionato su larga scala.

Dopo il pre-addestramento non supervisionato, le prestazioni del modello nelle attività supervisionate (ImageNet) sono migliorate del 60%, dimostrando il potenziale dell’addestramento su larga scala e dell’apprendimento non supervisionato.

Affrontando se Google rimane principalmente un’azienda di recupero di informazioni, Jeff ha sottolineato:

“L’IA soddisfa la missione originale di Google.”

In sostanza, l’IA non solo recupera informazioni, ma comprende e genera anche contenuti complessi, con un vasto potenziale futuro. Per quanto riguarda la direzione futura di Google, “Non lo so”.

Tuttavia, si può prevedere l’integrazione di Google e di alcuni codici open source nel contesto di ogni sviluppatore. In altre parole, consentendo ai modelli di gestire più token, la ricerca all’interno della ricerca migliorerà ulteriormente le capacità e l’utilità del modello.

Questo concetto è già in fase di sperimentazione internamente in Google.

“In realtà, abbiamo già condotto un ulteriore addestramento sul modello Gemini per gli sviluppatori interni sulla nostra base di codice interna.”

Più precisamente, Google ha raggiunto internamente l’obiettivo di far scrivere il 25% del suo codice dall’IA.

I Momenti Più Felici in Google

È interessante notare che il duo ha anche condiviso esperienze più intriganti legate a Google.

Per Noam nel 1999, entrare a far parte di una grande azienda come Google inizialmente non era attraente, poiché sentiva che le sue capacità avrebbero potuto essere sottoutilizzate. Tuttavia, dopo aver visto il grafico dell’indice del volume di ricerca giornaliero di Google, ha rapidamente cambiato idea:

“Queste persone sono destinate al successo e sembra che abbiano molti problemi interessanti da risolvere.”

Si è unito con una specifica intenzione “piccola”:

“Guadagnare un po’ di soldi e poi perseguire felicemente i miei interessi di ricerca sull’IA.”

Dopo essere entrato in Google, ha incontrato il suo mentore, Jeff (ai nuovi dipendenti sono stati assegnati dei mentori), e hanno collaborato a diversi progetti.

A questo punto, Jeff è intervenuto con il suo apprezzamento per Google:

“Mi piace l’ampio mandato di Google per la visione RM (Responsive e Multimodale), anche se è una direzione, possiamo fare molti piccoli progetti.”

Ciò ha anche fornito a Noam la libertà che ha portato la persona che inizialmente aveva pianificato di “mordi e fuggi” a rimanere a lungo termine.

Nel frattempo, quando l’argomento si è spostato su Jeff, è stata rivisitata la sua tesi di laurea sull’backpropagation parallela.

Questo articolo di 8 pagine è diventato la migliore tesi di laurea del 1990 ed è conservato nella biblioteca dell’Università del Minnesota. In esso, Jeff ha esplorato due metodi per l’addestramento parallelo di reti neurali basati sulla backpropagation:

  • Approccio con partizione di pattern: Rappresentazione dell’intera rete neurale su ogni processore e divisione dei pattern di input tra i processori disponibili.
  • Approccio con partizione di rete (approccio a pipeline): Distribuzione dei neuroni della rete neurale tra i processori disponibili, formando un anello di comunicazione. Le caratteristiche passano attraverso questa pipeline, elaborate dai neuroni su ciascun processore.

Ha testato questi metodi con reti neurali di diverse dimensioni e vari dati di input. I risultati hanno mostrato che per l’approccio con partizione di pattern, reti più grandi e più pattern di input hanno prodotto una migliore accelerazione.

In particolare, l’articolo rivela come appariva una rete neurale “grande” nel 1990:

“Una rete neurale a 3 strati con 10, 21 e 10 neuroni per strato era considerata molto grande.”

Jeff ha ricordato di aver utilizzato fino a 32 processori per i suoi test.

(A quel tempo, probabilmente non poteva immaginare che 12 anni dopo, lui, insieme ad Andrew Ng, Quoc Le e altri, avrebbe utilizzato 16.000 core CPU per identificare i gatti da dati massicci.)

Tuttavia, Jeff ha ammesso che affinché questi risultati di ricerca fossero veramente efficaci, “avevamo bisogno di circa un milione di volte più potenza di calcolo.”

Successivamente, hanno discusso i potenziali rischi dell’IA, in particolare il problema del ciclo di feedback quando l’IA diventa estremamente potente. In altre parole, l’IA potrebbe entrare in un ciclo di accelerazione incontrollabile (cioè “esplosione di intelligenza”) scrivendo codice o migliorando i suoi algoritmi.

Ciò potrebbe portare l’IA a superare rapidamente il controllo umano, creando persino versioni dannose. Come ha detto l’ospite, immagina “un milione di migliori programmatori come Jeff, che alla fine si trasformano in un milione di Jeff malvagi”.

(Netizen): “Nuovo incubo sbloccato, haha!”

Infine, riflettendo sui loro momenti più felici in Google, entrambi hanno condiviso i loro ricordi.

Per Jeff, i momenti più gioiosi nei primi anni di Google sono stati testimoniare la crescita esplosiva del traffico di ricerca di Google.

“Costruire qualcosa che 2 miliardi di persone ora usano è incredibile.”

Recentemente, è stato entusiasta di costruire cose con il team Gemini che le persone non avrebbero creduto possibili nemmeno cinque anni fa, e prevede che l’impatto del modello si espanderà ulteriormente.

Noam ha fatto eco a esperienze simili e a un senso di missione, menzionando persino affettuosamente le “aree micro-cucina” di Google.

Questo è uno spazio speciale con circa 50 tavoli, che offre caffè e snack, dove le persone possono chattare liberamente e scambiarsi idee.

A questa menzione, anche Jeff si è animato (doge).