Vai al paragrafo

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 le soluzioni per l'IA di Red Hat

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. Similmente 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. 

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 determinati testi e documentazione preesistente. 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.

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 a identificare le anomalie.

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 per rispondere in un modo che risulti utile all'utente, nel rispetto dei valori aziendali.

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

Tradizionalmente, il fine tuning è una tecnica di deep learning che richiede molti dati e risorse di elaborazione. Per informare un modello con il fine tuning, è sempre stato necessario etichettare i dati ed eseguire addestramento su hardware costosi, di alto livello. Inoltre, le prestazioni del modello di fine tuning dipendono dalla qualità dei dati e ottenere dati di alta qualità può essere dispendioso, in termini economici.

Al contrario, la RAG tende a essere più conveniente rispetto al fine tuning. Per impostare una RAG, si costruiscono sistemi pipeline per collegare i dati all'LLM. Questa connessione diretta riduce i costi delle risorse utilizzando dati esistenti per informare l'LLM, anziché impiegare tempo, energia e risorse per generare nuovi dati. 

Le soluzioni open source di Red Hat e l'ecosistema di partner per le soluzioni di IA possono aiutare a implementare RAG e fine tuning nei processi di Large Language Model Operations (LLMOps).

Impara a utilizzare il fine tuning grazie all'Instructlab

Creato da Red Hat e IBM, InstructLab è un progetto di community open source che contribuisce allo sviluppo degli LLM usati nelle applicazioni di IA generativa (gen AI). Fornisce un framework che utilizza dati sintetici per rendere più accessibile il fine tuning.

How InstructLab's synthetic data enhances LLMs (blog)

Crea un modello fondativo con Red Hat Enterprise Linux AI

Se la tua azienda è pronta per realizzare applicazioni con gen AI, adottare una piattaforma di modello fondativo come Red Hat® Enterprise Linux® AI ti permetterà di affrontare gli scenari di utilizzo con i tuoi dati, più rapidamente.

Red Hat Enterprise Linux AI coniuga la famiglia Granite di LLM con licenza open source con gli strumenti di allineamento dei modelli InstructLab, tutto in un singolo ambiente server. Questo significa che per gli esperti del dominio, che non hanno un background in data science, sarà più semplice eseguire il fine tuning e contribuire a un modello IA che sia scalabile sul cloud ibrido.

Red Hat Enterprise Linux AI è inoltre supportato dai vantaggi di una sottoscrizione Red Hat, che include la distribuzione di prodotti enterprise, il supporto dei prodotti sempre disponibile, il supporto esteso al ciclo di vita del modello e tutele legali con il programma Open Source Assurance.

Ottieni applicazioni scalabili con Red Hat OpenShift AI

Dopo aver addestrato il modello con Red Hat Enterprise Linux AI, è possibile adattarlo per la produzione attraverso Red Hat OpenShift® AI.

Red Hat OpenShift AI è una piattaforma per le operazioni di machine learning (MLOps) flessibile e scalabile, dotata di strumenti per creare, distribuire e gestire le applicazioni basate sull'intelligenza artificiale. Fornisce l'infrastruttura relativa al carico di lavoro alla base, come un LLM per creare integrazioni, il meccanismo di recupero necessario per produrre output e accedere a un database di vettori. 

Analisi della soluzione

Applicazioni IA con Red Hat e NVIDIA AI Enterprise

Crea un'applicazione RAG

Red Hat OpenShift AI è una piattaforma per creare progetti di data science e distribuire applicazioni abilitate all'IA. Puoi integrare tutti gli strumenti che ti servono per supportare la tecnologia retrieval augmented generation (RAG), un metodo per ottenere le risposte dell'IA dai tuoi documenti di riferimento. Quando connetti OpenShift AI con NVIDIA AI Enterprise, puoi fare alcune prove con gli LLM (Large Language Model) per trovare il modello ideale per la tua applicazione.

Sviluppa una pipeline per i documenti

Se vuoi usare la tecnologia RAG, per prima cosa devi inserire i tuoi documenti in un database vettore. Nella nostra app di esempio, integriamo una serie di documenti di prodotto in un database Redis. Visto che questi documenti vengono modificati spesso, possiamo creare una pipeline da eseguire periodicamente per tale processo in modo da disporre sempre della versione più recente.

Sfoglia il catalogo degli LLM

NVIDIA AI Enterprise ti offre l'accesso a un catalogo di diversi modelli LLM, così potrai fare diverse prove e scegliere quello che offre risultati migliori. I modelli sono ospitati nel catalogo delle API di NVIDIA. Una volta che hai impostato un token API, puoi eseguire il deployment di un modello utilizzando la piattaforma di distribuzione dei modelli NVIDIA NIM direttamente da OpenShift AI.

Scegli il modello giusto

Mentre fai alcune prove con i diversi modelli LLM, i tuoi utenti possono valutare ogni risposta generata. Puoi configurare una dashboard di monitoraggio Grafana per confrontare le valutazioni, oltre che i tempi di risposta e di latenza di ogni modello. Potrai quindi sfruttare questi dati per scegliere il miglior modello LLM da usare nel tuo ambiente di produzione.

Icona di download del PDF

Un diagramma dell'architettura illustra un'applicazione realizzata con Red Hat OpenShift AI e NVIDIA AI Enterprise. I componenti includono OpenShift GitOps per la connessione a GitHub e la gestione delle interazioni DevOps, Grafana per il monitoraggio, OpenShift AI per i progetti di data science, Redis come database vettore e Quay come registro delle immagini. Tutti questi componenti interagiscono con il frontend e il backend dell'app. Tali componenti sono sviluppati a partire da Red Hat OpenShift AI con un'integrazione con ai.nvidia.com.
Nuovo prodotto

InstructLab

InstructLab è un progetto open source che ha la finalità di migliorare i modelli linguistici di grandi dimensioni (LLM).

Approfondisci

Articolo

Cos'è l'IA generativa?

L'IA generativa crea nuovi contenuti usando i modelli di deep learning il cui training è stato eseguito su set di dati enormi.

Articolo

Cos'è il machine learning?

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

Articolo

Cosa sono i modelli di base?

Un modello di base è una particolare tipologia di modello di machine learning (ML) che viene addestrato per eseguire una specifica gamma di attività. 

Maggiori informazioni su AI/ML

Prodotti

Ora disponibile

Una piattaforma per modelli fondativi concepita per sviluppare, testare ed eseguire, in modo semplice, i modelli linguistici di grandi dimensioni (LLM) della famiglia Granite per applicazioni aziendali.

Il portfolio di soluzioni incentrate sull'IA è una gamma di strumenti che permettono di addestrare, ottimizzare, impiegare, monitorare e gestire iniziative e modelli di AI/ML su Red Hat OpenShift.

Una piattaforma applicativa di livello enterprise che grazie a servizi verificati consente la distribuzione delle app su un'ampia gamma di infrastrutture. 

Red Hat Ansible Lightspeed with IBM watsonx Code Assistant è un servizio di IA generativa progettato da e per gli sviluppatori, gli operatori e gli autori dell'automazione Ansible. 

Risorse

ebook

Considerazioni essenziali per la creazione di un ambiente di AI/ML pronto per il passaggio in produzione

Resoconto analitico

The Total Economic Impact™ Of Red Hat Hybrid Cloud Platform For MLOps

Webinar

Getting the most out of AI with open source and Kubernetes