RAG e fine tuning

Copia URL

Sia la RAG sia il fine tuning sono tecniche pensate per migliorare i modelli linguistici di grandi dimensioni (LLM). La RAG realizza questo obiettivo senza modificare l'LLM alla base, mentre con il fine tuning è necessario adeguare i pesi e i parametri di un LLM. Spesso è possibile personalizzare un modello usando sia un'architettura RAG che il fine tuning.

Scopri Red Hat AI

Un Large Language Model (LLM), ovvero un modello linguistico di grandi dimensioni, è un tipo di intelligenza artificiale (IA) che utilizza tecniche di apprendimento automatico per comprendere e generare linguaggio umano. Oggi questi modelli di machine learning (ML) possono generare, riassumere, tradurre, riscrivere, classificare, categorizzare e analizzare testo, oltre a svolgere altre svariate funzioni. L'uso più comune di questi modelli a livello aziendale è la creazione di sistemi di domanda e risposta, come un chatbot.

I modelli fondativi degli LLM sono addestrati con conoscenze generiche per supportare una vasta gamma di scenari di utilizzo. Tuttavia, è possibile che non dispongano delle conoscenze specifiche del dominio appartenenti all'organizzazione. La RAG e il fine tuning sono due tecniche adottate per regolare e modificare l'LLM con dati personalizzati, in modo che produca l'output desiderato.

Ad esempio, ipotizziamo di voler creare un chatbot per comunicare con i clienti. In questo scenario, il chatbot rappresenta l'azienda, quindi vogliamo che interagisca come un dipendente con competenze e conoscenze approfondite. Deve saper analizzare e comprendere ogni dettaglio inerente all'azienda, come i prodotti commercializzati e le policy applicate. Analogamente alla formazione erogata a un neoassunto che riceve documentazione da studiare e indicazioni da seguire, per istruire un chatbot utilizziamo la RAG e il fine tuning per aumentare e approfondire le sue conoscenze di base. 

Risorse da Red Hat

La RAG integra i dati presenti all'interno di un modello linguistico di grandi dimensioni recuperando le informazioni da fonti di dati esterne selezionate, ad esempio repository di dati, raccolte di testi e documentazione preesistente. Strumenti come Docling possono agevolare questo processo di conversione. Dopo aver recuperato i dati, l'architettura RAG li elabora in un contesto LLM e genera una risposta basata su una commistione di più fonti.

La RAG è utile soprattutto per fornire al modello informazioni supplementari periodicamente aggiornate. Fornendo all'LLM una linea di comunicazione a fonti esterne prescelte, l'output sarà più accurato. Poiché è possibile progettare la RAG in modo che la fonte venga esplicitata, è facile tenere traccia di come viene formulato l'output, e questo crea maggiore trasparenza e fiducia.

Tornando allo scenario di esempio: se dovessimo realizzare un chatbot che risponde a domande come "Qual è la vostra politica sui resi?", potremmo usare un'architettura RAG. Si può connettere l'LLM a un documento che definisca con precisione la politica sui resi della propria azienda e istruire il chatbot a estrarre informazioni rilevanti. Si potrebbe perfino istruire il chatbot a citare la propria fonte e fornire un link per ulteriori letture. Se la documentazioni relativa alla politica sui resi dovesse cambiare, il modello RAG potrebbe estrarre le informazioni più recenti e fornirle all'utente.

Scopri di più sulla tecnologia RAG

 

Scenari di utilizzo per la RAG

La RAG è in grado di trovare e organizzare le informazioni in modo da agevolare l'interazione tra gli utenti e i dati. Con un'architettura RAG, i modelli possono estrarre insight e fornire a un LLM il contesto per sorgenti di dati sia on premise sia sul cloud. Ciò significa che i dati esterni, i documenti interni e anche i feed sui social media possono essere usati per rispondere a domande, fornire contesto e prendere decisioni informate.

Ad esempio, è possibile creare un'architettura RAG che, alle query ricevute, fornisca risposte specifiche relative a politiche aziendali, procedure e documentazione. In questo modo, si risparmia tempo che sarebbe altrimenti usato per cercare e interpretare i documenti manualmente.

Scopri gli utilizzi della RAG nella progettazione di software

Il fine tuning è paragonabile a un metodo impiegato per comunicare le proprie intenzioni all'LLM, affinché il modello possa personalizzare il proprio risultato in base ai tuoi obiettivi. Il fine tuning è un processo di addestramento ulteriore di un modello pre-addestrato con un numero più limitato di dati, affinché sia in grado di svolgere mansioni specifiche per un dominio in modo efficiente. Questi dati di addestramento ulteriori sono inseriti nell'architettura del modello.

LoRA e QLoRA sono entrambe tecniche di fine tuning efficienti in termini di parametri (PEFT) che consentono agli utenti di ottimizzare i costi e le risorse di elaborazione. 

Torniamo all'esempio del chatbot. Ipotizziamo di volere che il chatbot interagisca con dei pazienti, in un contesto medico. È importante che il modello comprenda la terminologia medica correlata a questo ambito. Utilizzando tecniche di fine tuning, ci si può assicurare che quando un paziente chiede al chatbot informazioni su "servizi RM", il sistema comprende che significa "servizi di risonanza magnetica" e indirizza il paziente verso le risorse corrette.

Scenari di utilizzo per il fine tuning

Il fine tuning è particolarmente utile per addestrare il modello a interpretare le informazioni a cui ha accesso. Ad esempio, si può addestrare un modello per comprendere le particolarità e la terminologia di un settore specifico, come acronimi e valori aziendali.

Il fine tuning è utile anche per le attività di classificazione di immagini. Ad esempio, nell'ambito dei referti di risonanze magnetiche, si può usare il fine tuning per addestrare il proprio modello di IA predittiva a identificare le anomalie.

Scopri gli scenari di utilizzo dell'IA predittiva

Il fine tuning può anche aiutare l'organizzazione ad adottare lo stile comunicativo più adeguato nelle interazioni con le persone, specialmente in un contesto di assistenza clienti. Consente di addestrare un chatbot per analizzare l'atteggiamento o le emozioni della persona con cui interagisce. Inoltre, puoi addestrare il modello di IA generativa per rispondere in un modo che risulti utile all'utente, nel rispetto dei valori aziendali.

Scopri gli scenari di utilizzo dell'IA generativa

Comprendere le differenze tra RAG e fine tuning può aiutare a scegliere in maniera strategica quali risorse e strumenti per l'IA adottare a seconda delle esigenze. Gli elementi di cui tenere conto possono includere:

Le competenze specifiche del team

Personalizzare un modello con RAG richiede competenze di programmazione e architetturali. Rispetto ai metodi di fine tuning tradizionali, la RAG offre delle soluzioni più accessibili e semplici per ricevere feedback, risolvere i problemi e correggere le applicazioni. Il fine tuning di un modello richiede esperienza con l'elaborazione del linguaggio naturale (Natural Language Processing, NLP), deep learning, configurazione di modelli, rielaborazione dei dati e valutazione. Nel complesso, può essere un procedimento più tecnico e richiedere più tempo.

La tipologia dei dati: statici o dinamici

Il fine tuning insegna al modello ad apprendere schemi comuni che non cambiano nel tempo: poiché si basano su istantanee statiche di set di dati di addestramento, le informazioni del modello possono diventare obsolete e può essere necessario ripetere l'addestramento. Al contrario, la RAG permette all'LLM di sfruttare informazioni specifiche in tempo reale, attingendo a una o più fonti attendibili. Questo significa che il modello estrae i dati più aggiornati per informare l'applicazione, generando un output più preciso e rilevante.

Il budget a disposizione

In genere, la RAG è considerata più efficiente dal punto di vista dei costi rispetto al fine tuning. Per implementare un'architettura RAG, devi creare sistemi di pipeline per connettere i dati al tuo LLM. Questo approccio consente di risparmiare sui costi perché utilizza i dati esistenti per informare il tuo LLM. Ciò contrasta con le notevoli risorse necessarie al fine tuning per eseguire l'etichettatura dei dati specializzata e l'intensa potenza di calcolo necessaria per l'addestramento ripetuto dei modelli.

Sebbene il fine tuning sia storicamente considerato l'opzione più costosa, sviluppi come vLLM stanno contribuendo a colmare il divario di budget. vLLM è un motore e un server di inferenza che migliora l'efficienza in termini di costi per l'erogazione di modelli ottimizzati. 

Scopri di più su vLLM

Red Hat® AI è progettato per un'inferenza rapida, flessibile ed efficiente tramite un server basato su vLLM. Collega in modo affidabile i modelli ai dati per unificare la personalizzazione e lo sviluppo di agenti specializzati su un'unica piattaforma. Realizzati su una base open source, i nostri prodotti offrono il pieno controllo dei flussi di lavoro dell'IA, dall'inizio alla fine, su qualsiasi scala. 

L'offerta Red Hat AI include Red Hat AI Inference, uno stack di inferenza che fornisce il controllo operativo necessario per l'esecuzione di qualsiasi modello su qualsiasi acceleratore nel cloud ibrido. Ottieni un'inferenza rapida, efficiente e conveniente in modo scalabile. 

Scopri Red Hat AI

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Introduzione ad AIOps

AIOps è un'intelligenza artificiale per le operazioni IT con un approccio specifico all'automazione delle operazioni IT che si avvale del machine learning e di altre tecniche di IA avanzate.

Cos'è il machine learning?

Il machine learning è una tecnica che permette di addestrare i computer a individuare schemi, eseguire analisi predittive e imparare dall'esperienza, senza alcuna programmazione esplicita.

Cos'è l'IA generativa?

L'IA generativa è un tipo di IA che crea nuovi contenuti sfruttando modelli di deep learning addestrati su grandi set di dati.

AI/ML: risorse consigliate