Nell’ambito dell’intelligenza artificiale, la tensione tra modelli open source e closed source rappresenta un tema fondamentale per il futuro del settore. Le origini del movimento open source, radicate in una filosofia di condivisione e collaborazione, hanno risvegliato l’attenzione sulla necessità di creare strutture accessibili e trasparenti.
Ma l’utilizzo dei modelli open source non è privo di requisiti: questi richiedono un’ampia base di dati per poter essere addestrati in modo efficace. Ed è proprio qui che si gioca la sfida del futuro dell’IA: centralizzare le informazioni o puntare su modelli personali?
Open source vs Closed source: i modelli linguistici in gioco
Il successo dei sistemi di IA Generativa (GenAI) ha mostrato al mondo le potenzialità di questa tecnologia ed in particolare dei cosiddetti Large Language Model (LLM), sistemi in grado di generare testi di qualunque tipo e in qualunque stile.
I primi modelli di successo, ad esempio ChatGPT di OpenAI, ma anche Bard di Google o i sistemi “adiacenti” in grado di generare immagini a partire da una descrizione, come Dall-E o Midjourney, avevano in comune la caratteristica di essere modelli “chiusi”, ovvero sistemi di intelligenza artificiale la cui implementazione e codice sorgente non sono accessibili al pubblico. In altre parole, l’algoritmo sottostante e le informazioni dettagliate sulla sua progettazione e implementazione non possono essere esaminati modificati da persone al di fuori dell’azienda che le ha prodotte.
Ma la tecnologia alla base di questi sistemi, ad esempio le reti transformer, non sono un segreto e sono disponibili a tutti. Quel che mancava inizialmente era la capacità di realizzare modelli complessi, con miliardi di parametri “addestrabili”, soprattutto per i costi proibitivi relativi alle fasi di addestramento e di affinamento del modello.
Però mentre il mondo – o almeno gli addetti ai lavori – seguivano attentamente l’evoluzione della gara fra aziende leader per produrre modelli sempre più performanti: Chat GPT3, 3,5, 4, Google Bard, Grok e le successive implementazioni per il business, come Copilot per Office 365, una estesa comunità di appassionati aveva iniziato a lavorare a modelli sofisticati ma meno costosi, disponibili a chiunque volesse cimentarsi per migliorarli o anche solo utilizzarli per i propri scopi. A differenza dei modelli chiusi, resi accessibili attraverso una interfaccia web, i modelli aperti o open source possono essere scaricati sul proprio computer ed eseguiti localmente da chiunque, purché disponga di un computer di potenza adeguata.
Benché i modelli closed source abbiano diversi vantaggi, ad esempio la possibilità di essere utilizzati anche da chi dispone di sistemi con capacità elaborativa molto limitata, oppure la garanzia di un maggiore controllo sulla sicurezza degli output e una grande facilità d’uso, soffrono comunque di limitazioni significative. Ad esempio, la mancanza di accesso al codice sorgente limita la trasparenza dei contenuti e dei risultati. Inoltre solo l’azienda proprietaria del modello può eseguire personalizzazioni, limitando la possibilità di adattare il modello a esigenze specifiche. I modelli chiusi, infine, si prestano male alla ricerca e sviluppo, perché di solito un loro uso massiccio (accesso tramite API), o l’accesso ai modelli più avanzati (es. GPT 4) sono a pagamento.
I modelli open source, garantendo un accesso aperto al codice sorgente, incoraggiano la collaborazione di una vasta comunità di sviluppatori. Ciò favorisce la trasparenza, e permette di accelerare l’adozione di soluzioni innovative, facilitando il rapido adattamento del modello a vari contesti. Ha un’importanaza non trascurabile, infine, il fatto che i modelli open source sono disegnati per essere eseguiti sulla piattaforma dell’utente, evitando quindi che questo debba comunicare ad una entità esterna, all’interno delle domande rivolte all’AI, dati personali o riservati. Tuttavia è importante notare che tale apertura potrebbe anche comportare una maggiore esposizione a possibili problemi relativi alla sicurezza o stabilità degli output, oltre a favorire l’impiego illecito di questi tool.
Le origini del movimento open source nel campo dell’IA
Il motivo per cui solo recentemente si è iniziato a parlare di LLM open source è principalmente dovuto agli elevatissimi costi di addestramento e allineamento. Questa fase iniziale, la più onerosa dal punto di vista computazionale ed economico, consiste nell’addestramento di un modello inizializzato casualmente utilizzando un vasto corpus di testo proveniente da diverse fonti. Questa fase è però fondamentale perché le sperimentazioni hanno mostrato che pre-addestrando un modello di grandi dimensioni, ovvero con molti parametri, utilizzando un insieme esteso di testi, è possibile ottenere un modello di base in grado di affrontare compiti diversi (es. scrivere in rima, o tradurre) senza che sia stato esplicitamente programmato per questo.
Anche la fase successiva, detta di allineamento, presenta dei problemi di tempi e costi. L’allineamento si riferisce al processo di messa a punto di un LLM per soddisfare al meglio gli obiettivi dei progettisti. Ciò si ottiene principalmente attraverso due tecniche: il fine-tuning supervisionato (SFT) e/o l’apprendimento per rinforzo dal feedback umano (RLHF). Con la fase di allineamento è possibile mettere a punto un LLM in modo che si comporti in un certo modo. Le ricerche più recenti indicano che i modelli non apprendono nuove informazioni durante l’allineamento, ma “imparano” come formattare o presentare correttamente le conoscenze acquisite durante il processo di pre-addestramento.
Il primo passo per arrivare ai modelli LLM open source è stato dunque quello di trovare modi per rendere più efficienti e meno costose queste due fasi. La prima soluzione, abbastanza ovvia, consiste nell’adottare modelli più piccoli, ovvero con meno parametri da addestrare. Uno dei primi modelli open source, GPT-NeoX-20B, annunciato nel febbraio 2022, ha “solo” 20 miliardi di parametri (GPT-3, per comparazione, ne ha 175 miliardi), ciononostante mostra performance sorprendenti e paragonabili al ben più grande GPT-3. Basato sulla struttura transformer, ha sfruttato alcune modifiche atte a migliorare l’efficienza di addestramento. Il modello, rilasciato con codice e pesi sotto licenza Apache 2.0, è dotato di buona adattabilità.
Successivamente, Meta AI ha presentato gli OPT Language Models[1], che comprendono modelli da 125 milioni a 175 miliardi di parametri, pre-addestrati su un dataset composto da sorgenti quali Reddit, the Pile[2], e BooksCorpus[3]. Accompagnati da un repository di codice e documentazione dettagliata, gli OPT hanno rappresentato un importante contributo alla ricerca sull’IA, influenzando notevolmente la disponibilità di ulteriori modelli linguistici open source.
AI Open source: una tecnologia a portata di tutti?
In rete esistono molti siti informativi relativi a sistemi LLM open source, tra i quali HuggingFace[4] è fra quelli al momento più citati. Il sito offre un repository completo di modelli di AI generativa, assolutamente non limitata a sistemi che generano testo, e permette agli utenti di condividere modelli e set di dati di machine learning e presentare i risultati delle proprie sperimentazioni. Nella pagina “Models” del sito sono elencate decine di famiglie applicative (es: Feature extraction, text-to-image, image-to-text, video classification ecc.), ciascuna famiglia poi permette di accedere a decine – a volte centinaia – di modelli singoli oppure risorse per l’addestramento, che possono essere liberamente scaricate sul proprio computer per eseguire esperimenti in prima persona. Analogamente, nella sezione “dataset” si possono trovare contenuti catalogati in gran quantità: a titolo di esempio, la sezione “dataset” dei modelli “Text2textGeneration” elenca ben 665 datasets disponibili per l’addestramento!
Va sottolineato però che, almeno per ora, tali modelli non sono ancora alla portata di tutti: per la loro installazione è comunque necessaria una discreta esperienza sistemistica per poter installare i tool di base (es. linguaggi di programmazione), le librerie e tutte le altre dipendenze che mettono il proprio computer in grado di eseguire il modello prescelto. Inoltre anche le esigenze in termini di memoria, centrale e di massa, non sono alla portata di ogni curioso, almeno per i modelli più performanti. Per dare un’idea, il modello LLAMA 2 70B, il più grande della famiglia LLAMA 2 con 70 miliardi di parametri, richiede la disponibilità di GPU (Graphical Processing Unit), almeno 24 GB di VRAM (la RAM che si trova nelle schede grafiche) e uno spazio su disco di almeno 140 GB. Altri modelli però hanno requisiti più ridotti e possono girare, con buoni risultati, anche su computer di fascia media, ovviamente con prestazioni più limitate. La cosa interessante è che il movimento open source sta dedicando molte energie verso la realizzazione di modelli molto ridotti, che però mantengano prestazioni ragionevoli.
I principali modelli open source presenti sul mercato
Vediamo quali sono i modelli open source più interessanti:
LLaMA 2
Meta ha rilasciato LLaMA 2 in risposta al successo del primo modello rilasciato, LLaMA 1.
Addestrato con il 40% di dati in più rispetto al suo predecessore, si tratta in realtà di una famiglia di modelli con una gamma di parametri che vanno da 7 a 70 miliardi. LLaMA 2 è un grande passo avanti rispetto alla prima versione e offre prestazioni paragonabili a modelli come GPT-3.5.
LLaMA 2 ha utilizzato il costoso apprendimento per rinforzo dal feedback umano (RLHF) durante il processo di addestramento, che gli ha permesso di avere conversazioni migliori rispetto ad altri modelli. Meta ha anche sviluppato un modello LLaMA 2 specifico per le applicazioni chatbot, chiamato LLaMA-2-chat, anche questo rilasciato in modalità open source, seppur con qualche limitazione – ad esempio non ne è consentito un uso commerciale.
Stable diffusion
Stable Diffusion è un modello di deep learning text-to-image rilasciato nel 2022 E’ utilizzato principalmente per generare immagini dettagliate sulla base di prompt testuali, sebbene possa essere applicato anche ad altre attività come la modifica delle immagini, ad esempio aggiungendo o eliminando elementi in un’immagine, e la generazione di traduzioni da immagine a immagine guidate da un prompt testuale. Inizialmente sviluppato da ricercatori dell’Università Ludwig Maximilian di Monaco di Baviera, con il supporto di Stability AI, che ha messo a disposizione la piattaforma computazionale, utilizzando dati di addestramento provenienti da organizzazioni senza scopo di lucro.
Il suo codice e i pesi del modello sono stati resi open source, e questo software può essere eseguito sulla maggior parte dei computer personali, purché dotati di una GPU con almeno 4 GB di VRAM (requisito ampiamente superato da qualsiasi computer utilizzato, ad esempio, per videogiocare).
Vicuna
Vicuna è stato sviluppato da un team di varie istituzioni, tra cui UC Berkeley, CMU, Stanford e UC San Diego, e rilasciato nel marzo 2023. Basato sul modello LLaMA-13B, Vicuna è un chatbot open source che è statomesso a punto con 70.000 conversazioni condivise dagli utenti da ShareGPT.
ShareGPT è una trovata che permette di ridurre drasticamente i costi di allineamento, perché invece di usare i feedback umani, utilizza esempi di chat effettuate da ChatGPT – e liberamente condivise dagli utenti – come alternativa.
Sono disponibili 2 modelli base: Vicuna-13B e Vicuna-33B. La cosa più interessante di Vicuna è che la sua messa a punto è costata poche centinaia di euro, pur ottenendo prestazioni paragonabili a ChatGPT.
Anche Vicuna è disponibile solo tramite una licenza non commerciale ed è quindi destinato principalmente a scopi di ricerca.
Falcon
Il Technology Innovation Institute (TII) ha presentato i due modelli base di Falcon, il Falcon-7B e il Falcon-40B, nel marzo 2023. La qualità dei dati usati per l’addestramento è ciò che distingue i modelli Falcon dagli altri LLM, perché pur utilizzando set di dati open source disponibili anche altri modelli, il team di sviluppo li ha raffinati prima di utilizzarli aumentando così, indirettamente, anche la qualità dell’output.
Quando si parla di modelli open source, però, è importante sottolineare che è la differenza di prestazioni con i modelli closed-source come GPT-4 è ancora elevata.
L’importanza dei dati per l’addestramento dei modelli open source
Anche se l’accesso agli LLM open source è gratuito, le richieste computazionali per addestrarli sono comunque enormi, e la messa a punto di un modello per casi d’uso specifici, con grandi quantità di dati, può essere fuori portata per le organizzazioni più piccole o per gli individui, a causa dei costi eccessivi della necessaria infrastruttura computazionale. L’addestramento di un LLM open source è un’impresa costosa per vari motivi, tra cui i requisiti per l’archiviazione di grandi quantità di dati di addestramento, GPU ad alte prestazioni e grandi capacità di memoria.
In questo panorama in continua evoluzione va sottolineato come l’accesso a grandi volumi di dati di qualità svolge un ruolo cruciale nello sviluppo dei modelli open source. La disponibilità di dati provenienti da una vasta gamma di fonti, inclusi social media e altre reti chiuse, consente ai ricercatori e agli sviluppatori di affinare i loro modelli in modo più robusto e adattabile. L’accesso a dati eterogenei non solo arricchisce la comprensione del linguaggio naturale, ma contribuisce anche a migliorare la capacità di gestire una varietà di compiti specifici. In questo contesto, la direttiva open data costituisce un importante catalizzatore. Favorire la trasparenza e la condivisione di dati pubblici potrebbe può aprire nuovi orizzonti nella creazione di modelli avanzati e innovativi. La direttiva open data assume quindi un ruolo chiave nel promuovere la collaborazione e nell’accelerare lo sviluppo di soluzioni AI più sofisticate e accessibili.
Il futuro dell’intelligenza artificiale: modelli personali o centralizzati?
Al momento non sembra esserci un conflitto diretto tra i due modelli di sviluppo, come dimostra anche la disponibilità di modelli open source inizialmente messi a disposizione da società private, quali Open AI, Microsoft o Meta, ed è ragionevole ritenere che i modelli closed source continueranno a guidare lo sviluppo in termini di capacità e dimensioni.
L’innovazione proveniente dal mondo Open però sta mostrando la possibilità di avere piccoli modelli molto specializzati, adattabili ad esigenze specifiche, ideali per eseguire applicazioni di intelligenza artificiale.
NVIDIA, la società che produce schede grafiche basate su GPU (Graphical Processing Unit), particolarmente indicate proprio per applicazioni di intelligenza artificiale, ha recentemente rilasciato “Chat with RTX”, una “piccola” LLM in grado di girare sul PC di un utente, e fornire risposte relative a informazioni contenute nei file personali che risiedono sul PC o anche “nascoste” dentro contenuti video.
Un’altra possibilità è rappresentata da LLM specializzati. Mettere a punto un LLM open source per aree specifiche come l’assistenza sanitaria, il diritto o la finanza è un campo di ricerca ancora aperto, ma è probabile che vedremo presto emergere LLM progettati per queste aree, in grado fornire risposte con precisione elevata.
Conclusioni
Forse l’elemento più interessante che emerge sin qui dai modelli open source è proprio la possibilità di utilizzarli come modelli “personali”, localizzati sul proprio PC e, fra non molto, sul proprio telefono, dove mostreranno magari capacità inferiori a quelle dei grandi modelli “chiusi”, accessibili via Internet, ma sufficienti per i compiti di tutti i giorni. E’ probabile che chi riuscirà per primo a creare una IA personale ed effettivamente usabile, sarà il vero vincitore della sfida.
Note
[1] S. Zhang et al., “OPT: Open Pre-trained Transformer Language Models”. Disponibile su ArXiv https://arxiv.org/abs/2205.01068
[2] “The Pile” è un vasto corpus di testo utilizzato per l’addestramento di modelli di linguaggio, composto da una ampia raccolta di dati provenienti da fonti online come forum, blog, articoli e altro ancora. Ha una dimensione di 825GB (!)
[3] “BookCorpus” è un corpus di testo composto principalmente da estratti di libri, utilizzato per l’addestramento di modelli di linguaggio.
[4] https://huggingface.co/