Scoprite tutto ciò che il RAG Cookbook ha da offrire per comprendere meglio le attuali soluzioni RAG.

Le soluzioni RAG (Retrieval-Augmented Generation) sollevano numerose domande, rendendo l'adozione di una strategia di valutazione chiara e coerente essenziale in tutte le fasi del loro sviluppo. Questo è cruciale non solo per garantire un passaggio di successo in produzione, ma anche per assicurare che gli sforzi di ottimizzazione e diagnosi dei problemi siano efficaci e riproducibili. Troppo spesso, infatti, si assiste a valutazioni empiriche condotte durante i progetti pilota che non sempre sono replicabili, compromettendo la capacità di migliorare le prestazioni di una soluzione RAG in fase di sviluppo o di diagnosticare correttamente un problema di produzione.

Per affrontare queste sfide, le attività di valutazione devono essere non solo riproducibili, ma anche rapide da eseguire. I pipeline RAG devono essere valutati in modo sistematico e coerente, considerando attentamente sia la parte di recupero delle informazioni (retrieval) sia la parte di generazione del testo. È indispensabile comprendere le performance delle soluzioni RAG durante le diverse fasi del ciclo di vita della soluzione, in particolare durante:

  • lo sviluppo iniziale;
  • i test pre-produzione;
  • il monitoraggio post-implementazione;
  • le iterazioni di miglioramento continuo.

Tuttavia, gli sforzi necessari per sviluppare un motore di valutazione robusto non devono essere sottostimati, soprattutto quando si tratta di creare un set di dati di riferimento (la cosiddetta "verità di base" o "ground truth") che contenga risposte e contesti di riferimento accurati. La costruzione di questi dataset richiede tempo, risorse e competenze specifiche, ma è un investimento fondamentale per la validità delle valutazioni.

In questo documento, approfondiremo diverse approcci e indicatori di valutazione. Metteremo in luce anche vari asset riutilizzabili che possono facilitare notevolmente il processo di valutazione di queste complesse soluzioni.

Il LLM come giudice (LLMaaj)

Nell'ultimo anno, la tecnica del LLM come giudice (LLMaaj - LLM-as-a-Judge) è emersa come un indicatore di primo piano per affrontare la sfida della creazione di un motore di valutazione basato su riferimenti. È stato dimostrato che questa tecnica produce una correlazione corretta e significativa con il giudizio umano, rendendola uno strumento prezioso per valutare aspetti che le metriche tradizionali non riescono a cogliere. Ecco diverse proprietà che non possono essere quantificate dagli indicatori e dai benchmark esistenti, ma che possono essere efficacemente valutate da LLMaaj:

  • Coerenza fattuale: la capacità di una risposta di allinearsi con i fatti presentati nel contesto di recupero.
  • Stile linguistico: la qualità della prosa, il tono e la conformità a standard stilistici specifici.
  • Conciseness: la brevità e la densità informativa della risposta, senza sacrificare la completezza.
  • Coerenza: la logicità e la fluidità complessiva della risposta, garantendo che le diverse parti siano ben connesse.
  • Sfumatura e profondità: la capacità di cogliere dettagli complessi e fornire una comprensione approfondita oltre la superficie.

Ad esempio, quando si utilizza un modello di valutazione per giudicare l'output di altri modelli, il prompt di valutazione deve essere attentamente costruito. Deve contenere una descrizione chiara degli attributi da valutare e della scala di valutazione, e deve essere interpolato per includere la risposta da esaminare. In questo contesto, il modello può essere istruito a valutare lo stile linguistico della risposta e a restituire una classificazione specifica (ad esempio, "formale", "informale", "tecnico").

Oppure, per un altro esempio, si può pensare a un approccio di apprendimento "few-shot" per una valutazione guidata da LLM in compiti di NER (riconoscimento delle entità nominate). Qui, il LLM riceve alcuni esempi di input-output per apprendere il modello di riconoscimento delle entità e poi applica questa conoscenza per valutare l'accuratezza e la completezza dell'output di un altro sistema NER.

Complessità dei sistemi RAG e strumenti di valutazione

La complessità dei sistemi RAG è fortemente influenzata dalla natura enigmatica dei grandi modelli linguistici (LLM), così come dai componenti complessi e interconnessi all'interno del pipeline RAG. Mentre la tecnologia continua a progredire a un ritmo senza precedenti, la valutazione di un sistema così articolato diventa un compito sempre più arduo. Per affrontare questa sfida, una miriade di strumenti di riferimento e di valutazione sono stati sviluppati specificamente per i sistemi RAG. Queste risorse servono a fornire un approccio standardizzato e sistematico alla valutazione delle prestazioni e dell'efficacia di questi sistemi.

Ad esempio, come indicato da studi recenti (adattato da "Evaluation of Retrieval-Augmented Generation: A Survey"), esiste un'ampia gamma di metodi e strumenti di valutazione RAG, ognuno con i propri punti di forza e le proprie applicazioni. Anche se non esaustiva, una tale panoramica offre una chiara visione del panorama attuale della valutazione RAG, evidenziando la diversità degli approcci disponibili per misurare l'efficacia di questi sistemi complessi.

Sfide nella parte di recupero (retrieval)

Nel contesto della parte di recupero dei sistemi RAG, si presentano diverse sfide significative. Queste sorgono principalmente a causa della natura estesa e dinamica dei repository di conoscenza prospettici, delle faccette temporali dei dati e dell'eterogeneità delle fonti di informazione. La capacità di navigare in un mare di dati in continua evoluzione, spesso con informazioni che cambiano nel tempo e provenienti da fonti disparate, richiede un approccio di recupero estremamente sofisticato.

Considerando queste sfide, diventa evidente che le misure di valutazione convenzionali, come il richiamo (recall) e la precisione (precision), sono spesso inadeguate e mal equipaggiate per fornire una valutazione completa e sfumata. È quindi necessario disporre di indicatori più contestuali e articolati, capaci di cogliere efficacemente la complessità e le sottigliezze del processo di recupero, andando oltre la semplice presenza o assenza di elementi pertinenti.

Sfide nella parte di generazione

Per quanto riguarda la parte di generazione, è cruciale considerare la relazione complessa e spesso simbiotica tra la precisione del processo di recupero e la qualità dell'output generato. Un recupero impreciso o incompleto può portare a risposte generate che sono fuorvianti, incomplete o addirittura allucinanti. Ciò richiede lo sviluppo e l'implementazione di indicatori di valutazione globale che possano fornire una valutazione sfumata delle prestazioni del sistema nel suo complesso, considerando come l'accuratezza del contesto recuperato influenzi direttamente la coerenza, la pertinenza e la correttezza della generazione.

Di conseguenza, la valutazione del sistema RAG nel suo insieme richiede un esame approfondito dell'impatto della parte di recupero sul processo di generazione, nonché una valutazione dell'efficacia complessiva del sistema nel raggiungimento dei suoi scopi e obiettivi dichiarati. Questo significa andare oltre la valutazione separata dei due componenti per analizzare la loro interazione e il risultato finale.

La Triade RAG

La Triade RAG è un quadro di valutazione progettato per misurare l'affidabilità e l'accuratezza contestuale delle risposte dei grandi modelli linguistici (LLM). Comprende tre valutazioni interconnesse che lavorano insieme per fornire una visione completa della qualità di una risposta:

  • Pertinenza del contesto: valuta se il contesto recuperato è effettivamente utile e pertinente per rispondere alla domanda dell'utente.
  • Groundedness (ancoraggio): verifica se la risposta del LLM è completamente supportata e basata sulle informazioni fornite nel contesto recuperato, aiutando a identificare le "allucinazioni".
  • Pertinenza della risposta: misura quanto bene la risposta generata dal LLM soddisfa la richiesta originale dell'utente, considerando sia il contenuto che lo scopo.

Queste valutazioni mirano a identificare le allucinazioni nelle risposte del LLM verificando la pertinenza del contesto, la fedeltà della risposta al contesto e l'allineamento delle risposte con le richieste degli utenti. Questo approccio sistematico fornisce un metodo robusto per garantire la qualità e l'affidabilità delle soluzioni RAG.

Indicatori di valutazione RAG

L' valutazione RAG può essere realizzata utilizzando indicatori automatici basati su riferimenti o indicatori senza riferimenti. Esiste, ad esempio, una classifica su HuggingFace che permette di confrontare i LLM open source tra loro in base a diverse metriche e criteri.

Gli indicatori di recupero discussi di seguito sono basati su riferimenti, il che significa che ogni blocco di testo deve essere identificato in modo univoco (contexts_id) e che ogni domanda possiede identificativi unici dei contesti di verità di base (ground truth). Per il RAG, è particolarmente pertinente utilizzare indicatori di valutazione che tengano conto dell'ordine dei risultati, in modo simile a quelli utilizzati per i sistemi di raccomandazione, poiché l'ordine in cui le informazioni vengono presentate può influenzare significativamente l'esperienza dell'utente e l'efficacia del sistema.

Mean Reciprocal Rank (MRR)

Il MRR (Mean Reciprocal Rank) è un indicatore ampiamente utilizzato, anche in contesti come Unitxt, che misura la posizione del primo documento pertinente nei risultati di ricerca. Viene calcolato come la media dei reciproci dei ranghi del primo elemento pertinente per un insieme di query. Un MRR elevato, che si avvicina a 1, indica che i risultati pertinenti appaiono in cima alla lista, riflettendo una qualità di ricerca elevata e una buona capacità del sistema di presentare subito le informazioni più rilevanti. Viceversa, un MRR basso significa una performance di ricerca minore, con le risposte pertinenti posizionate più in basso nei risultati.

  • Vantaggi: L'enfasi è posta sull'importanza del primo risultato pertinente, che è spesso critico negli scenari di ricerca, dove gli utenti desiderano trovare rapidamente l'informazione desiderata.
  • Svantaggi: Un limite di questo metodo è che non penalizza il recupero per l'attribuzione di un rango basso ad altre verità di base; non è quindi adatto per valutare l'integralità dell'intera lista di risultati recuperati, poiché si concentra unicamente sul primo elemento pertinente e ignora la rilevanza degli altri.

Normalized Discounted Cumulative Gain (NDCG@k)

Il NDCG@k (Normalized Discounted Cumulative Gain at k) è un indicatore di qualità del ranking che valuta la qualità dell'ordine di una lista di elementi rispetto a un ranking ideale, dove tutti gli elementi pertinenti sarebbero posizionati in testa alla lista. Questo indicatore non solo considera la pertinenza di ciascun documento, ma anche la sua posizione nella lista, assegnando un peso maggiore ai documenti pertinenti che appaiono più in alto.

Il NDCG@k si calcola dividendo il DCG@k (Discounted Cumulative Gain at k) per l'IDCG@k ideale (Ideal Discounted Cumulative Gain at k), il quale corrisponde al punteggio di una lista di elementi perfettamente classificati fino alla posizione k. Il DCG misura la pertinenza totale degli elementi in una lista, scontando la pertinenza degli elementi in posizioni più basse. Il valore del NDCG@k varia da 0 a 1, dove 1 indica un ranking perfetto.

  • Vantaggi: Tiene conto della posizione degli elementi pertinenti, il che fornisce una visione più globale della qualità del ranking; può essere aggiustato per diversi livelli di ranking (ad esempio, NDCG@1, NDCG@5, NDCG@10), permettendo di valutare la performance a diverse profondità dei risultati.
  • Svantaggi: È più complesso da calcolare e interpretare rispetto a misure più semplici come l'MRR; richiede un ranking ideale per la comparazione, che non è sempre disponibile o facile da definire in tutti i contesti applicativi.

Mean Average Precision (MAP)

La MAP (Mean Average Precision) è un indicatore che valuta il ranking di ogni documento correttamente recuperato in una lista di risultati, calcolando la media delle precisioni medie per ciascuna query nell'insieme di test. La precisione media per una singola query è la media delle precisioni a ogni punto in cui un documento pertinente viene recuperato. È particolarmente utile quando il sistema deve tenere conto dell'ordine dei risultati e la capacità di estrarre più documenti pertinenti in una sola volta è cruciale.

  • Vantaggi: Questo metodo tiene conto sia della precisione che del richiamo (recall), consentendo una valutazione equilibrata delle performance di recupero. È particolarmente adatto per compiti che richiedono il recupero di più documenti pertinenti e il loro corretto posizionamento all'interno della lista dei risultati.
  • Svantaggio: