Foundation Models: cosa sono e come funzionano
Partiamo dalle basi, e partiamo dai foundation models: cosa sono, e perché vengono ampiamente utilizzati?
Definizione
Modelli di base, o foundation models: nell’ambito dell’intelligenza artificiale, questo concetto si riferisce ad un modello pre-addestrato che può essere adattato, attraverso dei parametri, a diversi compiti.
Si tratta quindi di un modello generico o generalista che permette, tramite fine-tuning, di compiere diversi tipi di operazioni: ad esempio, un modello che sia in grado di eseguire attività di natural language processing e di computer vision, è un modello di base con skill multimodali.
Il vantaggio nell’utilizzo di questi modelli sta nel fatto che questi sono stati già addestrati su una vasta mole di dati non etichettati e che hanno grandi capacità in termini di parametrizzazione: questo vuol dire che possono essere utilizzati per più compiti e adattati al caso d’uso specifico.
Infatti, creare e addestrare nuovi sistemi richiede una mole di tempo e risorse incredibile: per ogni modello, è necessario assicurarsi che sia disponibile un dataset adeguato, di qualità e che sia specifico per il task che dovrà svolgere. Se questo dataset non esiste, magari ci sarà bisogno di avere un team dedicato che sia in grado di costruirlo e di renderlo fruibile per l’addestramento.
Per questa ragione, nell’ultimo periodo molte big del settore hanno lavorato su modelli che utilizzano dati non etichettati per poter rendere il più generico possibile il modello e utilizzarlo su diversi task, seguendo delle tecniche che lo rendano adattabile.
Come funziona
Esistono moltissimi modelli di base disponibili, dove il processo con cui sono stati costruiti è sempre lo stesso: c’è una prima fase di addestramento, che avviene su un dataset molto grande per cercare di estrarre pattern generali e features a partire dai dati a disposizione. Questo tipo di attività può richiedere settimane o anche mesi, oltre a risorse computazionali ingenti.
Una volta che il modello di base è stato pre-addestrato, può essere customizzato per un task specifico, attraverso un lavoro di fine-tuning, così che il modello possa apprendere a partire da un dataset più piccolo di informazioni che si concentra su un dominio di interesse.
Si parla infatti di fine-tuning quando si utilizza un modello a cui viene aggiunto un ulteriore dataset che consiste in una serie di esempi di prompt e risposte, così da poter addestrare nuovamente il modello su questi dati. In questo modo, il modello si base sarà in grado di fornire delle risposte specifiche al dominio di interesse.
A questo punto, è possibile utilizzare il modello di base per eseguire delle attività specifiche al caso d’uso: Questo avviene immettendo nuovi dati nel modello, che poi andrà a generare una previsione o genericamente un output basato su quanto appreso durante le fasi precedenti.
Esempi
Oggi sono disponibili diversi modelli di base popolari, tra cui:
- GPT-3 (Generative Pre-trained Transformer 3) di OpenAI, un modello linguistico che utilizza tecniche di deep learning per generare testi in linguaggio naturale, con una capacità che comprende fino a 175 miliardi di parametri.
- BERT (Bidirectional Encoder Representations from Transformers) di Google: un modello linguistico pre-addestrato che utilizza un’architettura basata su trasformatori bidirezionali per comprendere il contesto delle parole in una frase, con una capacità fino a 340 milioni di parametri.
- RoBERTa (Robustly Optimized BERT Pretraining Approach) di Facebook: una versione raffinata di BERT che utilizza tecniche di pre-addestramento migliorate e set di dati più grandi, con una capacità fino a 355 milioni di parametri.
- XLNet di Google e Carnegie Mellon University, ossia un modello linguistico che utilizza un approccio basato sulle permutazioni per catturare le dipendenze complessive e locali in una frase, con una capacità fino a 340 milioni di parametri.
- T5 (Text-to-Text Transfer Transformer) di Google, un modello linguistico che utilizza un formato particolare per eseguire una serie di compiti che riguardano il linguaggio naturale, con una capacità fino a 11 miliardi di parametri.
Se hai dubbi su come funzioni un transformer, dai un’occhiata a questo post.
Questi modelli sono stati ampiamente utilizzati in varie attività di elaborazione del linguaggio naturale, come la traduzione linguistica, l’analisi del sentiment, la risposta alle domande e la sintesi del testo.