Introduzione alla valutazione e al monitoraggio delle applicazioni RAG
La valutazione e il monitoraggio sono componenti critici per comprendere se l'applicazione RAG sta eseguendo i requisiti di *qualità, costo e latenza dettati dal caso d'uso. Tecnicamente, la valutazione avviene durante lo sviluppo e il monitoraggio quando l'applicazione viene distribuita nell'ambiente di produzione, ma i componenti fondamentali sono simili.
Rag rispetto ai dati non strutturati è un sistema complesso con molti componenti che influisce sulla qualità dell'applicazione. La regolazione di qualsiasi singolo elemento può avere effetti a catena sugli altri. Ad esempio, le modifiche alla formattazione dei dati possono influenzare i blocchi recuperati e la capacità dell'LLM di generare risposte pertinenti. Pertanto, è fondamentale valutare ogni componente dell'applicazione in aggiunta all'applicazione nel suo complesso per perfezionarlo in modo iterativo in base a tali valutazioni.
Valutazione e monitoraggio: Machine Learning classico e intelligenza artificiale generativa
La valutazione e il monitoraggio delle applicazioni generative di intelligenza artificiale, tra cui RAG, differiscono dall'apprendimento automatico classico in diversi modi:
Argomento | ML classico | Intelligenza artificiale generativa |
---|---|---|
Metrica | Le metriche valutano gli input e gli output del componente, ad esempio deriva delle funzionalità, precisione, richiamo, latenza e così via. Poiché è presente un solo componente, le metriche complessive == metriche dei componenti. | Le metriche dei componenti valutano gli input e gli output di ogni componente, ad esempio precisione @ K, nDCG, latenza, tossicità e così via. Le metriche composte valutano il modo in cui interagiscono più componenti: fedeltà misura la conformità del generatore alla conoscenza da un retriever che richiede l'input della catena, l'output della catena e l'output del recuperatore interno. Le metriche complessive valutano l'input e l'output complessivi del sistema, ad esempio la correttezza e la latenza delle risposte. |
Valutazione | La risposta è deterministicamente "giusta" o "sbagliata". Le metriche deterministiche funzionano. | La risposta è "giusta" o "sbagliata", ma: • Ci sono molte risposte corrette (non deterministiche). • Alcune risposte giuste sono più giuste. È necessario: • Feedback umano per essere sicuri. • Metriche valutate dall'LLM per ridimensionare la valutazione. |
Componenti di valutazione e monitoraggio
Per valutare e monitorare in modo efficace la qualità, i costi e la latenza dell'applicazione RAG sono necessari diversi componenti:
- Set di valutazione: per valutare rigorosamente l'applicazione RAG, è necessario un set curato di query di valutazione (e idealmente output) rappresentativi dell'uso previsto dell'applicazione. Questi esempi di valutazione devono essere complessi, diversificati e aggiornati per riflettere i cambiamenti di utilizzo e requisiti.
- Definizioni delle metriche: non è possibile gestire ciò che non si misura. Per migliorare la qualità RAG, è essenziale definire quali sono i mezzi di qualità per il caso d'uso. A seconda dell'applicazione, le metriche importanti possono includere accuratezza della risposta, latenza, costo o valutazioni da parte degli stakeholder principali. Sono necessarie metriche che misurano ogni componente, il modo in cui i componenti interagiscono tra loro e il sistema complessivo.
- Giudici LLM: data la natura aperta delle risposte LLM, non è possibile leggere ogni singola risposta ogni volta che si valuta di determinare se l'output è corretto. L'utilizzo di un LLM aggiuntivo e diverso per esaminare i risultati può aiutare a scalare la valutazione e a calcolare metriche aggiuntive, come la fondatezza di una risposta rispetto a migliaia di token di contesto, che non sarebbe possibile valutare efficacemente su larga scala per i valutatori umani.
- Harness di valutazione: durante lo sviluppo, un'interfaccia di valutazione consente di eseguire rapidamente l'applicazione per ogni record nel set di valutazione e poi di eseguire ogni output tramite i giudici e i calcoli delle metriche LLM. Questo è particolarmente impegnativo perché questo passaggio "blocca" il ciclo di sviluppo interno, quindi la velocità è della massima importanza. Una buona valutazione consente di parallelizzare questo lavoro il più possibile, spesso avviando un'infrastruttura aggiuntiva, ad esempio una maggiore capacità LLM a tale scopo.
- Interfaccia utente rivolta agli stakeholder: gli sviluppatori potrebbero non essere esperti di dominio nel contenuto dell'applicazione in fase di sviluppo. Per raccogliere feedback da esperti umani che possono valutare la qualità dell'applicazione, è necessaria un'interfaccia che consente di interagire con l'applicazione e fornire feedback dettagliato.
- Registrazione della traccia di produzione: una volta in produzione, è necessario valutare una quantità significativamente più elevata di richieste/risposte e il modo in cui è stata generata ogni risposta. Ad esempio, è necessario sapere se la causa radice di una risposta di bassa qualità è dovuta alla fase di recupero o allucinazione. La registrazione di produzione deve tenere traccia degli input, degli output e dei passaggi intermedi, ad esempio il recupero dei documenti, per consentire il monitoraggio continuo e il rilevamento tempestivo e la diagnosi dei problemi che si verificano nell'ambiente di produzione.
Questi documenti illustrano la valutazione in modo molto più dettagliato in Valutare la qualità RAG.