Le cose si stanno muovendo alla velocità della luce nel mondo dell’Intelligenza Artificiale.
Uno sviluppatore di software di nome Georgi Gerganov ha creato uno strumento chiamato “llama.cpp” in grado di eseguire il nuovo modello di linguaggio AI di classe GPT-3 di Meta, LLaMA, localmente su un laptop Mac. Subito dopo, le persone hanno capito come eseguire LLaMA anche su Windows. Poi qualcuno lo ha mostrato in esecuzione su un telefono Pixel 6, e poi è arrivato un Raspberry Pi (anche se funziona molto lentamente).
Se continua così, potremmo conoscere un concorrente di ChatGPT tascabile prima che ce ne accorgiamo.
Ma facciamo un passo indietro, perché non ci siamo ancora arrivati. (Almeno non alla data in cui scriviamo).
Da quando ChatGPT è stato lanciato, alcune persone si sono lamentate dei limiti di questo modello AI, che impedisce di discutere argomenti che OpenAI ha ritenuto sensibili. Iniziò così il sogno, in alcuni ambienti, di un modello di linguaggio di grandi dimensioni (LLM) open source che chiunque potesse eseguire localmente senza censura e senza pagare le tariffe API a OpenAI.
Esistono soluzioni open source (come GPT-J), ma richiedono molta RAM GPU e spazio di archiviazione. Altre alternative open source non potevano vantare prestazioni di livello GPT-3 su hardware di livello consumer prontamente disponibile.
Inserisci LLaMA, un LLM disponibile in dimensioni di parametro che vanno da 7B a 65B (ovvero “B” come in “miliardi di parametri”, che sono numeri in virgola mobile memorizzati in matrici che rappresentano ciò che il modello “sa”). LLaMA ha fatto una rivelazione sconcertante: ha detto che i suoi modelli di dimensioni più piccole potrebbero eguagliare il modello GPT-3 di OpenAI (alla base di ChatGPT) nella qualità e nella velocità del suo output. C’era solo un problema: Meta ha rilasciato il codice LLaMA open source, ma ha trattenuto i “pesi” (la “conoscenza” addestrata memorizzata in una rete neurale) solo per ricercatori qualificati.
Le restrizioni di Meta su LLaMA non sono durate a lungo, perché il 2 marzo qualcuno ha fatto trapelare i pesi LLaMA su BitTorrent. Da allora, c’è stata un’esplosione di sviluppo attorno a LLaMA. Il ricercatore indipendente di intelligenza artificiale Simon Willison ha paragonato questa situazione al rilascio di Stable Diffusion, un modello di sintesi di immagini open source lanciato lo scorso agosto. Ecco cosa ha scritto in un post sul suo blog:
“Mi sembra che quel momento di diffusione stabile ad agosto abbia dato il via all’intera nuova ondata di interesse per l’IA generativa, che è stata poi spinta all’eccesso dal rilascio di ChatGPT alla fine di novembre.
Quel momento di diffusione stabile sta accadendo di nuovo proprio ora, per i modelli linguistici di grandi dimensioni, la tecnologia alla base dello stesso ChatGPT. Questa mattina ho eseguito per la prima volta un modello linguistico di classe GPT-3 sul mio laptop personale!
Le cose sull’intelligenza artificiale erano già strane. Sta per diventare tutto ancora più strano.”
In genere, l’esecuzione di GPT-3 richiede diverse GPU di classe datacenter A100 (inoltre, i pesi per GPT-3 non sono pubblici), ma LLaMA ha fatto scalpore perché poteva essere eseguito su una singola robusta GPU consumer. E ora, con ottimizzazioni che riducono le dimensioni del modello utilizzando una tecnica chiamata quantizzazione, LLaMA può essere eseguito su un Mac M1 o su una GPU consumer Nvidia inferiore (sebbene al momento “llama.cpp” funzioni solo su CPU, il che è impressionante e sorprendente allo stesso tempo).
Le cose si stanno muovendo così velocemente che a volte è difficile tenere il passo con gli ultimi sviluppi.
Ecco un elenco di importanti eventi relativi a LLaMA presentati da Willison in un commento di Hacker News:
- 24 febbraio 2023: Meta AI annuncia LLaMA.
- 2 marzo 2023: qualcuno fa trapelare i modelli LLaMA tramite BitTorrent.
- 10 marzo 2023: Georgi Gerganov crea llama.cpp, che può essere eseguito su un Mac M1.
- 11 marzo 2023: Artem Andreenko esegue LLaMA 7B (lentamente) su un Raspberry Pi 4, 4 GB di RAM, 10 sec/token.
- 12 marzo 2023: LLaMA 7B in esecuzione su NPX, uno strumento di esecuzione node.js.
- 13 marzo 2023: qualcuno esegue llama.cpp su un telefono Pixel 6, anch’esso molto lentamente.
- 13 marzo 2023: Stanford rilascia Alpaca 7B, una versione ottimizzata per le istruzioni di LLaMA 7B che “si comporta in modo simile a” text-davinci-003 “di OpenAI ma funziona su hardware molto meno potente.
C’è ancora la questione di quanto la quantizzazione influisca sulla qualità dell’output. Nei nostri test, LLaMA 7B ridotto alla quantizzazione a 4 bit è stato davvero impressionante per l’esecuzione su un MacBook Air, ma ancora non alla pari con quello che ci si potrebbe aspettare da ChatGPT. È del tutto possibile che migliori tecniche di suggerimento possano generare risultati migliori.
Inoltre, le ottimizzazioni e le messe a punto arrivano rapidamente quando tutti hanno le mani sul codice e sui pesi, anche se LLaMA è ancora affetto da alcuni termini di utilizzo piuttosto restrittivi. Il rilascio di Alpaca oggi da parte di Stanford dimostra che la messa a punto (formazione aggiuntiva con un obiettivo specifico in mente) può migliorare le prestazioni, ed è passato pochissimo tempo dal rilascio di LLaMA.
Al momento della stesura di questo articolo, l’esecuzione di LLaMA su un Mac rimane un esercizio abbastanza tecnico. Devi installare Python e Xcode e avere familiarità con la riga di comando. Willison ha buone istruzioni passo passo per chiunque voglia provarlo. Ma questo potrebbe presto cambiare man mano che gli sviluppatori continuano a codificare.
Quanto alle implicazioni dell’avere questa tecnologia a disposizione di tutti, nessuno lo sa ancora. Mentre alcuni si preoccupano dell’impatto dell’intelligenza artificiale come strumento per lo spam e la disinformazione, Willison afferma: “Non si può tornare indietro dall’averla intentata, quindi penso che la nostra priorità dovrebbe essere capire i modi più costruttivi possibili per usarlo”.
In questo momento, la nostra unica garanzia è che le cose cambieranno rapidamente.