Ciao a tutti, sono Vincenzo Lomonaco, ricercatore all’Università di Pisa.
Nella puntata di oggi parliamo di una serie di metodologie piuttosto utili e di gran moda nel panorama dell’intelligenza artificiale moderna.
Parliamo di Parameter Efficient Fine Tuning Algorithms, ossia di algoritmi allo stato dell’arte per personalizzare modelli fondazionali molto grandi su casi d’uso specifici.
È possibile farlo per il nostro caso aziendale specifico? Quali sono le tecniche principali allo stato dell’arte per farlo in modo efficace ed efficiente? Scopriamolo insieme in questa puntata di Le Voci dell’AI.
Negli ultimi anni si è sviluppata una tendenza nel mondo dell’AI nella creazione di modelli fondazionali multimodali di grandi, grandissimi dimensioni, capaci di gestire diversi tipi di dati testo, immagini, audio e risolvere una vasta gamma di compiti.
Questi modelli sfruttano la potenza dei modelli e degli algoritmi generativi che possono apprendere e generalizzare da pochi dati di esempio grazie alla loro struttura avanzata e alla vasta quantità di dati su cui sono stati originariamente addestrati.
Questo approccio consente di affrontare molteplici problemi con un unico modello, migliorando l’efficacia e l’efficienza riducendo la necessità di grandi dataset specifici per ogni contesto, per ogni compito, rivoluzionando il campo dell’intelligenza artificiale.
Tuttavia, non è sempre possibile utilizzare un modello fondazionale direttamente su dati specifici privati per risolvere compiti particolari senza incappare in possibili fallimenti catastrofici o significativi cali di prestazioni.
Quello che si fa oggi è operare con delle tecniche di Transfer Learning o trasferimento della conoscenza.
Il Transfer Learning è una tecnica nell’ambito dell’apprendimento automatico, del machine learning, che consente di trasferire conoscenze acquisite da un modello addestrato su un compito particolare a un modello destinato a un compito diverso ma correlato.
Invece di iniziare l’addestramento da zero, quindi, si parte da un modello già addestrato su grandi moli di dati, spesso il nostro modello fondazionale, per esempio, adattandolo a nuovi problemi o compiti specifici, con meno dati e risorse computazionali a disposizione.
Questo approccio migliora l’efficienza, riduce i requisiti di calcolo e dati e spesso porta a migliori prestazioni e di migliore efficacia, specialmente quando i dati per il nuovo compito, per il task di riferimento che vorremmo risolvere sono limitati.
Inoltre, è ampiamente utilizzato in vari campi, tra cui il riconoscimento di immagini e il processamento del linguaggio naturale.
Quindi, in termini pratici, se per esempio volessimo creare un assistente virtuale capace di rispondere a domande specifiche, su prodotti e servizi offerti dalla nostra azienda, avremo due approcci distinti da perseguire.
Uno è utilizzare un modello RAG, ossia di retrieval generation, che abbiamo visto in una puntata precedente di Le Voci dell’AI, oppure nell’effettuare un perfezionamento o un fine tuning del modello fondazionale tramite transfer learning.
L’approccio mediante Retrieval Augmented Generation – Rag – combina le capacità di recupero di informazioni e generazione di testo per migliorare le risposte in compiti di elaborazione del linguaggio naturale.
Funziona principalmente in due fasi: il recupero e la generazione. Nella fase di recupero un modello di ricerca identifica documenti pertinenti a una vasta base di dati, utilizzando query derivate dall’input della funzione, il suo bisogno informativo.
Questi documenti vengono poi passati a un modello generativo come contesto, un modello, ad esempio come GPT-3, che li utilizza per formulare una risposta coerente e informata sulla base di questo contesto.
RAG quindi unisce la precisione del recupero di informazioni con la fluidità della generazione di testo, nel linguaggio naturale dei Large Language Model, migliorando l’accuratezza e la rilevanza delle risposte fornite.
Il problema dell’approccio mediante RAG è che questi modelli fondazionali hanno una dimensione limitata in termini di numero di elementi di input che possono essere considerati simultaneamente.
Quindi, banalmente, se per generare una risposta corretta dobbiamo considerare dettagli contenuti in un numero molto elevato di paragrafi e quindi di documenti, allora la risposta mediante questi sistemi risulterà probabilmente solo parziale o errata.
Ecco, in generale sarebbe dunque più opportuno effettuare un raffinamento, un fine tuning del modello fondazionale sui documenti dati in nostro possesso al fine di memorizzare queste informazione all’interno dei parametri del modello stesso, piuttosto che fornirli ogni volta come input e contesto rispetto ad una domanda esposta.
Tuttavia, il processo di fine tuning risulta spesso piuttosto dispendioso in termini computazionali.
Stiamo parlando di eseguire un processo di ottimizzazione iterativo per cambiare e raffinare i milioni o spesso miliardi di parametri che costituiscono il modello originale per addestrarlo.
Il Parameter Efficient Fine Tuning è una tecnica di adattamento di modelli di apprendimento automatico che mira a ottimizzare solo una piccola parte dei parametri di un modello anziché l’intera o l’intero ammontare.
Questo approccio riduce significativamente i requisiti computazionali e di memoria richiesti, mantenendo al contempo prestazioni molto elevate, Utilizzando metodi come l’aggiunta di nuovi livelli di adattamento più specifici, tipo gli adapters o l’aggiornamento di parametri specifici e particolarmente importanti all’interno del modello addestrato, la nuova soluzione di AI può essere personalizzata per nuovi task compiti con meno dati e risorse.
Questa tecnica è quindi particolarmente utile per applicazioni su larga scala e dispositivi con capacità limitate, rendendo l’addestramento più efficiente e accessibile anche a organizzazioni che non hanno le risorse computazionali adeguati per soluzioni allo stato dell’arte.
LoRA, Low-Rank Adaptation [of Large Language Models] è una strategia di Parameter Efficient Fine Tuning, forse oggi l’approccio principale, dove invece di aggiornare l’intera matrice dei pesi del modello, vengono aggiunte matrici a basso rango, dimensioni molto più ridotte che catturano le modifiche necessarie.
Queste matrici a basso rango, quando sommate al modello originale, consentono di rappresentare in modo efficace le nuove informazioni apprese senza alterare i parametri originali del modello di base.
Questo processo comporta una significativa riduzione del numero di parametri da aggiornare, rendendo il fine tuning più efficiente e meno costoso dal punto di vista computazionale.
In questa immagine vediamo rappresentato il funzionamento dell’algoritmo.
Nello specifico, in blu vediamo rappresentata la matrice dei pesi che rappresenta il modello fondazionale addestrato.
In particolare, tale modello è capace di produrre un output in blu in funzione di un input in giallo, la x in basso.
Durante la fase di fine tuning, in cui si introducono due nuove matrici di pesi a più bassa dimensionalità che verranno ottimizzate al fine di produrre in funzione dell’input x un output che per differenza debba essere sommato all’output in blu, al fine di cambiare il comportamento predittivo del modello originale per personalizzare la soluzione di AI e renderla più efficace sul compito specifico che vorremmo risolvere, relativo per esempio al nostro caso di studio aziendale.
Per esempio, la conoscenza di documenti aziendali su cui vorremmo venissero fornite delle risposte più coerenti nella fase di predizione o di inferenza.
Come vediamo sulla destra, cioè quando utilizziamo il modello personalizzato, sarà possibile fondere queste nuove matrici di pesi a bassa dimensionalità e utilizzare il modello normalmente, come faremmo con l’originale, ma a valle di un processo di addestramento molto meno dispendioso che ne ha aggiornato le performance.
Per concludere, in questa puntata abbiamo visto come sia possibile pensare a delle soluzioni di personalizzazione di modelli enormi di intelligenza artificiale attraverso un processo molto efficiente di transfer learning o trasferimento della conoscenza per assolverecompiti più specifici di nostro interesse.
A differenza dei modelli di Retrieval Augmented Generation, non siamo limitati dal numero di documenti che siamo in grado di analizzare contestualmente e allora rappresenta una delle tecniche più in voga al momento.
E sicuramente lo stato dell’arte, soprattutto per Large Language Models.
Nel futuro vedremo l’emergere di tecniche via via più sofisticate per l’adattamento di modelli di AI pre-addestrati con l’aggiornamento di pochi parametri, e la necessità di un numero di dati sempre inferiore.
Ciao! Alla prossima puntata di Le Voci dell’AI!