RAG, fine-tuning e prompt engineering a confronto

7 febbraio 2025

Tempo di lettura

Autori

Ivan Belcic

Staff writer

Cole Stryker

Editorial Lead, AI Models

Gather

RAG, fine-tuning e prompt engineering a confronto

Il prompt engineering, il fine-tuning e la retrieval-augmented generation (RAG) sono tre metodi di ottimizzazione che le aziende possono utilizzare per ottenere più valore dai modelli linguistici di grandi dimensioni(LLM). Tutti e tre ottimizzano il comportamento del modello, tuttavia la scelta dipende dal caso d'uso di destinazione e dalle risorse disponibili.

I modelli di AI generativa sono addestrati su enormi pool di dati, molti dei quali sono raccolti da Internet. Gli sviluppatori di intelligenza artificiale non hanno solitamente accesso a dati di nicchia, come i dati proprietari e interni di un'azienda. Quando le organizzazioni vogliono applicare modelli linguistici di grandi dimensioni (LLM) per esigenze specifiche, devono modificare il modo in cui funziona il modello AI per produrre gli output e il comportamento desiderati.

Prompt engineering, RAG e fine-tuning contribuiscono a ottimizzare gli output di un LLM per i casi d'uso desiderati. Grazie a queste tecniche, i data scientist possono ottenere migliori prestazioni a valle, una maggiore precisione specifica del dominio e output in grado di soddisfare i requisiti di formattazione, lingua o normative pertinenti.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Qual è la differenza tra RAG, fine-tuning e prompt engineering?

La differenza tra prompt engineering, RAG e fine-tuning riguarda quattro aree principali:

  • Approach

  • Obiettivi

  • Requisiti di risorse 

  • Applicazioni

Approach

Il prompt engineering ottimizza gli input per indirizzare un modello verso output migliori. Gli LLM di precisione li addestrano con set di dati specifici del dominio per aumentare le prestazioni nelle attività a valle. La RAG collega un LLM a un database e automatizza il recupero delle informazioni per aumentare i prompt con dati pertinenti per una maggiore precisione.

Obiettivi

RAG, prompt engineering e fine-tuning offrono lo stesso risultato generale: migliorare le prestazioni di un modello per aumentare al massimo il valore per l'azienda che lo utilizza. In modo più specifico, il prompt engineering dovrebbe portare a un modello in grado di fornire all'utente i risultati desiderati. La RAG mira a guidare un modello verso la produzione di output più pertinenti e accurati. 

Nel frattempo, un modello sottoposto a fine-tuning viene riaddestrato su una serie mirata di dati esterni per migliorare le prestazioni in casi d'uso specifici. I tre metodi non si escludono a vicenda e sono spesso abbinati per ottenere risultati ottimali. 

Requisiti di risorse

Il prompt engineering è la tecnica di ottimizzazione meno dispendiosa in termini di tempo e risorse. Il prompt engineering di base può essere eseguito manualmente senza alcun investimento in risorse di calcolo aggiuntive.

La RAG richiede competenze di data science per organizzare i set di dati aziendali e costruire le pipeline di dati che collegano i LLM a queste fonti di dati. Il fine-tuning è probabilmente la tecnica più impegnativa, perché i processi di preparazione dei dati e di addestramento sono molto intensivi a livello di calcolo e di tempo.

Applicazioni

Il prompt engineering è la tecnica più flessibile e brilla nelle situazioni aperte, con una tipologia potenzialmente diversificata di output, come quando si chiede a un LLM di generare contenuti da zero. Il successo nella generazione di immagini, video e testi dipende dalla qualità dei prompt.

Il fine-tuning consente di perfezionare un modello per un lavoro altamente specifico, ovvero quando i data scientist necessitano di un modello che faccia una cosa molto bene. La RAG è la soluzione ideale quando le informazioni accurate, pertinenti e aggiornate sono fondamentali, come ad esempio nei customer service chatbot.

AI Academy

Diventa un esperto di AI

Acquisisci le conoscenze necessarie per dare priorità agli investimenti nell'AI alla base della crescita aziendale. Inizia oggi stesso con la nostra AI Academy gratuita e guida il futuro dell'AI nella tua organizzazione.

Perché prompt engineering, RAG e fine-tuning sono importanti?

Il prompt engineering offre una serie di metodi per fornire ai modelli istruzioni esplicite su come comportarsi. Con direttive chiare, il comportamento del modello può essere definito con maggiore precisione senza dovere investire in sistemi di recupero o addestramento che richiedano molte risorse.

La RAG collega, in tempo reale, un LLM a dati proprietari che altrimenti sarebbero inaccessibili. Con l'aggiunta del contesto dei dati interni, i modelli RAG possono fornire risposte più accurate di quanto sarebbero altrimenti in grado di fare senza di essi.

Quando applica il suo addestramento con dati specifici del dominio, un modello sottoposto a fine-tuning in genere supera il modello di base corrispondente, come nel caso della famiglia GPT. Grazie al maggiore accesso alle conoscenze esterne, un LLM sottoposto a fine-tuning ha una migliore comprensione del dominio specifico e della sua terminologia.

Che cos'è il prompt engineering?

Il prompt engineering è il processo di creazione di prompt efficaci che guidano un modello verso gli output desiderati senza ampliarne la knowledge base. Il processo di prompt engineering non altera in modo significativo i parametri di un modello pre-addestrato.

L'obiettivo del prompt engineering è quello di creare prompt che facciano sì che gli output di un modello soddisfino i requisiti specifici del caso d'uso. Un addestramento più approfondito e un maggiore accesso ai dati non possono compensare prompt di cattiva qualità.

Come funziona il prompt engineering?

Il prompt engineering funziona modificando la struttura e il contenuto dei prompt di input in base agli output del modello precedente. A ogni iterazione, il prompt engineer apprende come il modello risponde agli input precedenti, quindi utilizza quei risultati per informare il prompt successivo. L'obiettivo è quello di modificare il comportamento del modello attraverso istruzioni chiare.

Un valido prompt engineering si basa su prompt che indicano a un modello di elaborazione del linguaggio naturale (NLP) esattamente cosa fare. Il processo di prompt engineering prevede la sperimentazione del contenuto, della struttura e del linguaggio del prompt per scoprire il formato ottimale che porta all'output richiesto dal modello.

Paragoniamo un modello di machine learning a un cuoco amatoriale che vuole preparare un'ottima cena. Il prompt engineering sarebbe analogo a un amico o un parente più esperti che lo aiutano a pianificare l'approccio alla cena. Grazie agli efficaci consigli su cosa preparare e come, l'aspirante cuoco ha maggiori probabilità di realizzare qualcosa di squisito.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Che cos'è la retrieval augmented generation (RAG)?

La RAG è un framework di architettura dei dati che collega un LLM ad altri dati, come i dati proprietari di un'organizzazione, spesso memorizzati in data lakehouse. I sistemi RAG aggiungono dati rilevanti ai prompt LLM in modo che l'LLM possa generare risposte più accurate.

Come funziona la RAG?

La retrieval-augmented generation funziona individuando i dati pertinenti alla query dell'utente, quindi utilizzandoli per creare prompt più informativi. Un meccanismo di recupero delle informazioni viene aggiunto per aumentare i prompt per l'LLM e aiutarlo a generare risposte più pertinenti.

I modelli RAG generano risposte attraverso un processo suddiviso in quattro passaggi:

  1. Query: un utente invia una query che avvia il sistema RAG.

  1. Recupero delle informazioni: algoritmi complessi o API setacciano le knowledge base interne ed esterne alla ricerca di informazioni pertinenti. 

  1. Integrazione: i dati recuperati vengono abbinati alla query dell'utente e forniti al modello RAG per la risposta. Fino a questo punto, l'LLM non ha elaborato la query.

  1. Risposta: unendo i dati recuperati con il proprio addestramento e le conoscenze memorizzate, l'LLM genera una risposta contestualmente ricca e accurata.

Nella ricerca tra i documenti, i sistemi RAG utilizzano la ricerca semantica. I database vettoriali organizzano i dati per somiglianza, consentendo di effettuare ricerche per significato piuttosto che per parola chiave. Le tecniche di ricerca semantica consentono agli algoritmi RAG di raggiungere le parole chiave precedenti all'intento di una query e di restituire i dati più pertinenti.

I sistemi RAG richiedono una vasta costruzione e manutenzione dell'architettura dei dati. I data engineer devono creare le pipeline di dati necessarie per collegare i data lakehouse della loro organizzazione all'LLM e utilizzare la RAG. I sistemi RAG richiedono anche un prompt engineering preciso per individuare i dati giusti e assicurarsi che l'LLM sappia cosa farne.

Pensiamo ancora a un modello di gen AI come a un cuoco amatoriale. Conosce i concetti di base della cucina, ma non dispone delle informazioni più recenti e della conoscenza esperta di uno chef addestrato in una particolare cucina. La RAG equivale a dare a un cuoco amatoriale un libro di ricette di quella specifica cucina. Combinando la sua conoscenza generale con le ricette del libro, il nostro cuoco potrà creare facilmente i suoi piatti preferiti di quella cucina.

Che cos'è la messa a punto?

La messa a punto è il processo di riqualificazione di un modello preaddestrato su un set di dati più piccolo e mirato per fornirgli conoscenze specifiche del dominio. Il modello regola quindi i suoi parametri, le linee guida che ne regolano il comportamento, e i suoi incorporamenti per adattarsi meglio al set di dati specifico.

Come funziona la messa a punto?

La messa a punto funziona esponendo un modello a un set di dati di esempi etichettati. Il modello migliora l'addestramento iniziale aggiornando i pesi del modello in base ai nuovi dati. La messa a punto è un metodo di apprendimento supervisionato, il che significa che i dati utilizzati nell'addestramento sono organizzati ed etichettati. Al contrario, la maggior parte dei modelli base è addestrata con un apprendimento non supervisionato, il che significa che i dati non sono etichettati e il modello deve categorizzarli in modo indipendente.

Ancora una volta, immaginando un modello di AI generativa come un cuoco amatoriale, il fine-tuning sarebbe un corso di una cucina specifica. Prima di seguirlo, il nostro cuoco ha una conoscenza generale delle basi della cucina. Tuttavia, dopo avere seguito il corso e avere acquisito conoscenze specifiche, sarà molto più bravo nella preparazione di quel tipo di piatti.

Confronto fra messa a punto completa e messa a punto efficiente dei parametri

Il fine-tuning dei modelli può essere completo, aggiornando tutti i parametri, oppure aggiornando solo i parametri più rilevanti. Quest'ultimo processo è noto come parameter-efficient fine-tuning (PEFT) ed è un modo efficiente dal punto di vista dei costi per rendere i modelli più efficaci in un determinato dominio.

Il fine-tuning di un modello richiede un'elaborazione intensiva e GPU più potenti eseguite in tandem, per non parlare della memoria necessaria per l'LLM stesso. Il processo PEFT consente agli utenti di LLM di riqualificare i propri modelli su configurazioni hardware più semplici, restituendo aggiornamenti delle prestazioni comparabili nel caso d'uso previsto del modello, come il supporto clienti o l'analisi del sentiment. La messa a punto eccelle soprattutto nell'aiutare i modelli a superare i bias, cioè il divario tra le previsioni del modello e i risultati effettivi nel mondo reale. 

Confronto fra messa a punto e pre-addestramento continuo

Il pre-addestramento avviene all'inizio del processo di addestramento. I pesi o i parametri del modello vengono inizializzati in modo casuale e il modello inizia l'addestramento sul suo set di dati iniziale. Il pre-addestramento continuo presenta un modello addestrato a un nuovo set di dati non etichettati, in una procedura nota come "apprendimento per trasferimento". Il modello pre-addestrato "trasferisce" quanto ha appreso finora a nuove informazioni esterne.

La messa a punto, invece, utilizza dati etichettati per affinare le prestazioni di un modello in un caso d'uso selezionato. È particolarmente adatta per nell'affinare le competenze di un modello in attività specifiche, mentre il pre-addestramento continuo può approfondire le competenze di dominio di un modello.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Servizi AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live