Se un tempo gli uomini più ricchi del mondo si sfidavano tra loro sfoggiando beni di lusso e residenze da sogno, negli ultimi mesi le competizioni si misurano “a colpi di cluster”.
Indice degli argomenti
L’Importanza del clustering e i suoi limiti
Il clustering è un algoritmo di apprendimento automatico non supervisionato che funziona insegnando al modello a identificare gli schemi da solo (quindi senza supervisione) da dati non etichettati (ossia non classificati). Ciò significa che viene fornito un input, ma non un output[1].
È passato poco più di un anno e mezzo da quando OpenAI ha addestrato la sua punta di diamante Gpt-4, ossia il suo modello linguistico di grandi dimensioni allora all’avanguardia, su una rete di circa venticinquemila unità di elaborazione grafica di Nvidia (altro colosso del settore). Ma tornando alle “sfide tra miliardari”, Elon Musk e Mark Zuckerberg, capi rispettivamente di X e Meta, si stanno sfidando “a colpi di chip”, con il patron di Tesla che dichiarato di voler acquistare duecentomila unità di elaborazione grafica e con il capo di Meta a ribattere di volerne acquistare ben trecentocinquantamila.
Perché la guerra a colpi di cluster non può essere infinita
Ma al di là di tutto, non si può pensare che questa gara a colpi di cluster di calcolo sempre più grandi, per modelli di Intelligenza Artificiale sempre più potenti, possa continuare all’infinito. Ogni chip in più aggiunge non solo potenza di elaborazione, ma anche l’onere organizzativo di mantenere sincronizzato l’intero cluster. Più chip ci saranno, più essi passeranno a fare la spola tra i dati anziché svolgere un “lavoro utile”. Aumentando semplicemente il numero di unità di elaborazione grafica si otterrà un rendimento decrescente. Gli esperti del settore sono quindi alla ricerca di modi più intelligenti e meno dispendiosi in termini di risorse per addestrare i futuri modelli di Intelligenza Artificiale. La soluzione potrebbe consistere nell’abbandonare del tutto gli enormi cluster di calcolo su misura (e i relativi costi iniziali) per distribuire invece il compito di addestramento tra molti data center più piccoli. Secondo alcuni esperti, questo potrebbe essere il primo passo verso un obiettivo ancora più ambizioso: addestrare i modelli di Intelligenza Artificiale senza bisogno di alcun hardware dedicato.
Il processo di backpropagation
L’addestramento di un moderno sistema di Intelligenza Artificiale comporta l’acquisizione di dati (per esempio la formulazione di frasi o la creazione di una struttura di una proteina) di cui sono state nascoste alcune sezioni. Il modello “tira a indovinare” cosa potrebbero contenere le sezioni nascoste. Se sbaglia, il modello viene modificato da un processo matematico chiamato “backpropagation” (traducibile in italiano con il più ostico “retropropagazione dell’errore”) in modo che, la volta successiva che proverà a fare la stessa previsione, si avvicinerà infinitamente di più alla risposta corretta[2].
Il checkpoint
I problemi, tuttavia, arrivano quando si vuole lavorare “in parallelo”, cioè con due o duecentomila unità di elaborazione grafica che lavorano contemporaneamente alla backpropagation. Dopo ogni fase, i chip condividono i dati relativi alle modifiche apportate. Se non lo facessero, non ci sarebbe una singola sessione di addestramento, ma soltanto duecentomila chip che addestrano altrettanti modelli in autonomia. Questa fase, chiamata “checkpointing”, può diventare rapidamente complicata. Il tempo necessario per il “checkpoint” cresce in modo proporzionale.
Verso una nuova era di addestramento AI: il metodo DiLoCo
Nel caso di grandi addestramenti dei modelli, spesso circa la metà del tempo può essere impiegata per il checkpoint. Tutto questo “tempo sprecato” ha fatto venire un’idea ad Arthur Douillard, ingegnere di Google DeepMind, ossia quella di fare meno checkpoint. Douillard congiuntamente ad alcuni colleghi ha pubblicato un metodo per portare avanti un “Distributed Low-Communication Training of Language Models”, abbreviato in “DiLoCo”. Invece di addestrare centomila unità di elaborazione grafica, che “parlano tutte tra loro a ogni passo”, DiLoCo descrive come distribuire l’addestramento su diverse “isole”, ognuna delle quali è un data center di grandi dimensioni[3]. All’interno di tali isole, il checkpoint continua normalmente, ma tra di esse il “carico” di comunicazione si riduce di cinquecento volte.
Ma ci sono dei compromessi. I modelli addestrati in questo modo sembrano faticare a raggiungere le stesse prestazioni di picco di quelli addestrati nei data center monolitici. Ma è interessante notare che questo impatto sembra esistere solo quando i modelli vengono valutati per gli stessi compiti per cui sono stati addestrati: prevedere i dati mancanti. Quando vengono sottoposti a previsioni che non sono mai state richieste loro prima, sembrano generalizzare meglio. Se si chiede loro di rispondere a una domanda di ragionamento in una forma non presente nei dati di addestramento, essi potrebbero addirittura surclassare i modelli addestrati tradizionalmente. Questo potrebbe voler dire che ogni isola di calcolo è un po’ più libera di andare nella propria direzione tra un checkpoint e l’altro, quando vengono riportate al loro compito. Come un insieme di studenti universitari che formano i propri gruppi di ricerca, il risultato finale è quindi un po’ meno concentrato sul compito da svolgere, ma con un’esperienza molto più ampia.
Prime Intellect e l’implementazione di DiLoCo
Prime Intellect, un laboratorio di intelligenza artificiale open-source, ha preso DiLoCo e l’ha fatto proprio[4]. Nel novembre scorso il suo team di sviluppo ha completato l’addestramento di “Intellect-1”, un modello linguistico di grandi dimensioni da ben dieci miliardi di parametri, paragonabile a Llama 2 di Meta e addestrato centralmente. Prime Intellect ha costruito “OpenDiLoCo” (una versione leggermente modificata dell’originale di Douillard) e lo ha messo al lavoro per addestrare un nuovo modello utilizzando trenta cluster di unità di elaborazione grafica in otto città di tre continenti. Nelle sue prove, le unità di elaborazione grafica hanno finito per lavorare attivamente per l’ottantatré percento del tempo, rispetto al cento per cento dello scenario di base, in cui tutte le unità di elaborazione grafica si trovavano nello stesso edificio. Quando l’addestramento è stato limitato ai data center statunitensi, hanno le unità di elaborazione grafica hanno lavorato attivamente per il novantasei percento del tempo. Invece di effettuare il checkpoint a ogni passo di formazione, l’approccio di Prime Intellect effettua il checkpoint solo ogni cinquecento passi. E invece di condividere tutte le informazioni su ogni modifica, elimina i tre quarti dei dati meno significativi.
Per i laboratori più avanzati, con data center monolitici già costruiti, non c’è ancora un motivo urgente per passare alla formazione distribuita. Ma, con il tempo, Douillard pensa che il suo approccio diventerà la norma. I vantaggi sono evidenti e gli svantaggi, almeno quelli illustrati dai piccoli addestramenti completati finora, sembrano essere piuttosto limitati.
Per un laboratorio open-source come Prime Intellect, l’approccio distribuito presenta altri vantaggi. I data center sufficientemente grandi per addestrare un modello da 10 miliardi di parametri sono pochi e lontani tra loro. Questa scarsità fa lievitare i prezzi per accedere ai loro calcoli, sempre che siano disponibili sul mercato aperto, invece di essere accaparrati dalle aziende che li hanno costruiti. Tuttavia, i cluster più piccoli sono facilmente disponibili. Ognuno dei trenta cluster utilizzati da Prime Intellect era costituito da un rack (struttura ospitante generalmente server) di appena otto unità di elaborazione grafica, con un massimo di quattordici cluster sempre online. Tuttavia, l’approccio non è certo libero: uno dei cluster da otto unità di elaborazione grafica che ha utilizzato per la sua formazione costa seicentomila dollari; la rete totale distribuita da Prime Intellect costerebbe ben diciotto milioni di dollari. Ma il suo lavoro è almeno un segno che l’addestramento di modelli di Intelligenza Artificiale “capaci” non deve necessariamente costare miliardi di dollari.
Il futuro dell’IA: decentralizzazione e innovazione
Il sogno degli sviluppatori che perseguono un’Intelligenza Artificiale veramente decentralizzata è quello di eliminare del tutto la necessità di chip di addestramento appositamente costruiti. Misurato in teraflops (capacità di eseguire miliardi di operazioni al secondo), un conteggio del numero di operazioni che un chip è in grado di eseguire in un secondo, uno dei chip più potenti di Nvidia ha una potenza pari a quella di circa trecento iPhone di fascia alta.
Ma nel mondo ci sono molti più iPhone che CPU. E se questi (e altri computer di consumo) potessero essere messi tutti al lavoro, sfornando allenamenti mentre i loro proprietari dormono? I compromessi sarebbero enormi. La facilità di lavorare con chip ad alte prestazioni consiste nel fatto che, anche se distribuiti in tutto il mondo, sono almeno lo stesso modello che opera alla stessa velocità. Questo andrebbe perso. Peggio ancora, non solo i progressi dell’addestramento dovrebbero essere aggregati e ridistribuiti a ogni passaggio di checkpoint, ma anche i dati dell’addestramento stesso, poiché il tipico hardware consumer non è in grado di immagazzinare i terabyte di dati che entrano in un modello linguistico di grandi dimensioni all’avanguardia. Sarebbero necessarie nuove scoperte informatiche.
I guadagni, tuttavia, potrebbero essere notevoli e l’approccio potrebbe portare a modelli migliori. Nello stesso modo in cui l’addestramento distribuito migliora la generalizzazione dei modelli, i modelli addestrati su insiemi di dati “sharded”, in cui solo porzioni dei dati di addestramento vengono fornite a ciascuna unità di elaborazione grafica, potrebbero avere prestazioni migliori quando si trovano di fronte a input inaspettati nel mondo reale. Tutto ciò lascerebbe ai nostri cari miliardari in premessa la necessità di competere su qualcos’altro. Chissà, magari lo spazio cosmico.[5]
Note
[1] Cos’è il clustering? IBM. https://www.ibm.com/it-it/topics/clustering
[2] Backpropagation: Come apprende una rete neurale? Medium. https://cannydatascience.medium.com/backpropagation-come-apprende-una-rete-neurale-91c0c900fbc
[3] DiLoCo: Distributed Low-Communication Training of Language Models. Arxiv. https://arxiv.org/abs/2311.08105
[4] OpenDiLoCo: An Open-Source Framework for Globally Distributed Low-Communication Training. Prime Intellect. https://www.primeintellect.ai/blog/opendiloco
[5] Training AI models might not need enormous data centres. The Economist. https://www.economist.com/science-and-technology/2025/01/08/training-ai-models-might-not-need-enormous-data-centres