Tecniche e sfide nella valutazione delle tue applicazioni GenAI usando LLM-as-a-judge
L’AI si sta evolvendo rapidamente, con i large language models (LLM) ormai adottati in vari settori e ambienti di produzione. Man mano che queste applicazioni basate su LLM diventano più diffuse, dobbiamo garantire che i loro output siano accurati, affidabili e imparziali. I metodi tradizionali di valutazione umana spesso risultano insufficienti, essendo troppo dispendiosi in termini di tempo e incoerenti per gestire la complessità e la scala degli LLM moderni.
Un approccio promettente a questa sfida consiste nell’utilizzare gli LLM come giudici per valutare i loro output. Sfruttando i loro vasti dati di addestramento e la comprensione contestuale, gli LLM possono fornire valutazioni automatizzate, scalabili e coerenti.
Ad aprile 2024, Sourabh Agrawal, co-fondatore di UpTrain AI, è intervenuto all’Unstructured Data Meetup organizzato da Zilliz sulle difficoltà reali nell’implementazione delle tecniche LLM-as-a-judge. Ha discusso le strategie chiave utilizzate sia nell’industria sia nel mondo accademico per rendere efficaci queste valutazioni e ha mostrato come UpTrain AI valuta le applicazioni GenAI.
In questo blog, riepilogheremo i punti chiave di Sourabh ed esploreremo gli aspetti pratici dell’impiego degli LLM per la valutazione. Se desideri un approfondimento, ti consigliamo di guardare il talk di Sourabh su YouTube.
Valutazione degli LLM - Perché è importante?
Gli LLM hanno trasformato il modo in cui generiamo contenuti e creiamo applicazioni. Tuttavia, nonostante la loro potenza, a volte possono produrre risposte allucinatorie a causa della loro conoscenza pre-addestrata limitata. Una tecnica popolare per mitigare questo problema è la Retrieval Augmented Generation (RAG), che potenzia gli LLM fornendo dati esterni come contesto tramite un vector database come Milvus e Zilliz Cloud (il Milvus gestito).
Sebbene la RAG affronti efficacemente alcune delle carenze degli LLM, distribuire queste applicazioni in ambienti di produzione per ottenere un valore aziendale tangibile rimane complesso. Richiede di incorporare più tecnologie nel workflow per vari scopi, aggiungendo complessità alle applicazioni e potenziali sfide nel generare le risposte più accurate e pertinenti. Pertanto, dobbiamo valutare gli output delle applicazioni basate su LLM e assicurarci che siano corretti, accurati e di alta qualità.
Quali metriche dovresti usare per valutare le tue app GenAI
Quando si valuta la performance degli LLM, è importante concentrarsi su metriche chiave che offrano insight preziosi sulle loro capacità. Queste metriche fungono da benchmark per misurare l’efficacia e guidare i miglioramenti. Durante il meetup, Sourabh Agrawal ha evidenziato quattro metriche principali per valutare la performance degli LLM e ha discusso le metodologie per valutarle.
Qualità della risposta: Una buona risposta dovrebbe rispondere direttamente alle domande dell’utente, essere concisa senza informazioni non necessarie e coprire tutti gli aspetti della domanda. Per valutare la qualità della risposta delle tue applicazioni LLM, dovresti verificare se l’output è pertinente al prompt, conciso e completo. Per approfondire, controlla se la tua applicazione LLM ha citazioni corrette o segue istruzioni personalizzate.
La consapevolezza del contesto è fondamentale per le applicazioni LLM che si basano su fonti di dati esterne, note anche come applicazioni di retrieval augmented generation (RAG). Per valutare le applicazioni RAG, dovresti verificare se le informazioni recuperate dal database vettoriale sono accurate, pertinenti e utilizzate in modo ottimale senza allucinazioni; e se l’LLM comprende e utilizza correttamente il contesto recuperato per generare risposte. Per approfondire questa metrica, puoi anche verificare se il modello di embedding all’interno della pipeline RAG è ben ottimizzato.
Qualità conversazionale: le applicazioni LLM dovrebbero mantenere coerenza e consistenza in tutte le interazioni nelle conversazioni multi-turno. Le valutazioni in questa categoria verificano se la query dell’utente viene risolta e se l’LLM conserva adeguatamente il contesto dei turni precedenti, risponde in modo logico e rimane in tema per tutta la conversazione, al fine di garantire un’esperienza di dialogo fluida e naturale. I metodi di valutazione avanzati valutano la coerenza in contenuti di lunga forma come articoli o conversazioni multi-turno. Ad esempio, Sourabh ha menzionato che l’LLM non dovrebbe confondere "football" con "soccer" se il contesto è il football americano.
Sicurezza: le valutazioni di sicurezza verificano se l’LLM è vulnerabile a jailbreak o prompt injection che potrebbero manipolarne il comportamento. Le valutazioni di sicurezza assicurano inoltre che gli output del modello siano appropriati e che il sistema non venga utilizzato in modo improprio.
Usare gli LLM come giudici per valutare le tue applicazioni GenAI
Oggi sono disponibili vari strumenti e tecniche di valutazione per analizzare gli output delle tue applicazioni GenAI, tra cui revisioni umane, metodologie LLM-as-a-judge, sistemi di scoring automatizzati e altro ancora. Sebbene le revisioni umane siano affidabili, spesso mancano di scalabilità e possono essere incoerenti a causa di bias soggettivi. D’altra parte, i sistemi di scoring automatizzati offrono coerenza, ma potrebbero non cogliere la comprensione sfumata richiesta per determinati tipi di contenuto.
L’approccio LLM-as-a-judge valuta sistematicamente la pertinenza, l’accuratezza e la qualità complessiva degli output della tua applicazione LLM utilizzando l’LLM stesso o un LLM separato come "giudice." Gli LLM possono fornire valutazioni automatizzate, scalabili e coerenti sfruttando i loro ampi dati di addestramento e la comprensione contestuale. Questa metodologia consente agli sviluppatori di standardizzare il processo di valutazione, identificare rapidamente le aree di miglioramento, ottimizzare i loro modelli e garantire prestazioni di alta qualità riducendo al minimo il bias umano.
Durante il meetup, Sourabh ha discusso due tecniche principali per implementare valutazioni LLM-as-a-judge, inclusi metodi basati su prompt e basati su tuning.
Valutazioni basate su prompt
Le valutazioni basate su prompt sono facili da avviare e in genere sfruttano API LLM closed-source. Questo approccio richiede di fornire al giudice LLM un prompt con criteri specifici per la valutazione della risposta. Di seguito sono riportati i quattro metodi principali per implementare valutazioni basate su prompt.
Valutazioni basate sul punteggio: nelle valutazioni basate sul punteggio, al giudice LLM viene richiesto di fornire un punteggio tra 1 e 10 per aspetti specifici di una risposta, come pertinenza o completezza. Sebbene sia facile da implementare, questo metodo può essere incoerente a causa dei bias intrinseci degli LLM.
Valutazioni basate sulla classificazione: le valutazioni basate sulla classificazione trasformano il punteggio in categorie buono, medio o scarso. Questo approccio riduce la variabilità e migliora l’affidabilità fornendo criteri chiari per ogni categoria.
Confronto a coppie: il confronto a coppie presenta al giudice LLM due risposte e gli chiede di scegliere la migliore. Questo metodo è utile per confronti diretti, ma può introdurre un bias di posizione, in cui l’ordine delle risposte influenza la valutazione.
Tecniche di ensemble: Le tecniche di ensemble utilizzano più LLM giudici o più metodi di valutazione per valutare le risposte. Aggregare i risultati provenienti da vari modelli può mitigare i bias individuali e migliorare l’accuratezza. Tecniche come il voto a maggioranza o il prompting chain-of-thought sono comuni nelle valutazioni di ensemble.
Valutazioni basate sul tuning
Le valutazioni basate sul tuning sfruttano LLM open-source, come quelli di HuggingFace, come giudice e li sottopongono a fine-tuning per compiti di valutazione specifici. Questo metodo consente un maggiore controllo e personalizzazione, rendendolo più conveniente e adatto a casi d’uso specifici. Effettuando il fine-tuning dei modelli affinché agiscano da valutatori, gli sviluppatori possono garantire che i modelli siano adatti ai requisiti unici delle loro applicazioni.
Sfide associate all’utilizzo degli LLM come giudice
Costruire valutazioni affidabili per applicazioni LLM è tanto impegnativo quanto sviluppare tali applicazioni. Sebbene sfruttare gli LLM come giudici per valutare gli output delle tue applicazioni offra scalabilità e coerenza, comporta anche sfide e complessità che richiedono una gestione attenta.
Bias nelle valutazioni degli LLM
Bias d’ordine: Gli LLM possono essere influenzati dall’ordine in cui le informazioni vengono presentate. Ad esempio, se una risposta viene mostrata in alto e un’altra in basso, il modello potrebbe favorire quella in alto. Questo bias può portare a valutazioni ingiuste.
Bias egocentrico: Gli LLM spesso tendono a favorire i propri output generati. Quando viene chiesto loro di giudicare le risposte, potrebbero valutare le proprie risposte più positivamente di quelle provenienti da altri modelli. Questo trattamento auto-preferenziale può distorcere i risultati e ridurre l’equità della valutazione.
Bias di lunghezza: Alcuni modelli preferiscono risposte più lunghe e dettagliate, mentre altri preferiscono risposte concise. Questa preferenza può influire sulla qualità percepita della risposta, indipendentemente dalla sua pertinenza o accuratezza.
Problemi di coerenza
Garantire che le valutazioni siano coerenti su più esecuzioni è una delle sfide principali. A causa della loro variabilità intrinseca, gli LLM potrebbero produrre punteggi diversi per la stessa risposta in esecuzioni diverse.
Mancanza di conoscenza specifica del dominio
Per fornire valutazioni accurate, gli LLM devono comprendere il dominio specifico che stanno valutando, inclusi terminologia, contesto e sfumature del settore. Senza questa conoscenza, le valutazioni potrebbero trascurare aspetti critici della risposta.
Le valutazioni degli LLM devono essere adattabili a contesti e user persona diversi. Una risposta appropriata in un contesto potrebbe non esserlo in un altro. Adattare le valutazioni per soddisfare i requisiti e le aspettative specifici di diversi gruppi di utenti è essenziale per valutazioni accurate.
Valutare risposte complesse
Per garantire una valutazione approfondita e accurata, è essenziale suddividere le risposte complesse in componenti più piccole e più gestibili. Questo approccio consente una valutazione dettagliata di ciascuna parte, migliorando il processo di valutazione complessivo. Tuttavia, aumenta anche la complessità della valutazione stessa.
Valutare conversazioni multi-turno introduce un ulteriore livello di difficoltà. L’LLM giudice deve conservare il contesto delle interazioni precedenti e mantenere la coerenza durante tutto il dialogo. Affrontare questa sfida richiede tecniche di valutazione sofisticate che gestiscano efficacemente la conservazione del contesto e garantiscano un flusso conversazionale fluido.
Preoccupazioni relative a sicurezza e protezione
Gli LLM possono essere vulnerabili a prompt injection e jailbreak, in cui input malevoli manipolano il comportamento del modello. Rilevare e mitigare queste minacce alla sicurezza è cruciale per valutazioni sicure e affidabili.
Costo delle valutazioni
Valutare gli output degli LLM può richiedere molte risorse. Bilanciare il costo delle valutazioni con la necessità di accuratezza è una sfida significativa.
Come affrontare queste limitazioni?
Poiché l'uso degli LLM come giudici per valutare le tue applicazioni LLM presenta dei limiti, come possiamo affrontarli? Sourabh ha condiviso le sue strategie durante l'Unstructured Data Meetup.
Valutazioni oggettive
Le valutazioni dovrebbero essere il più oggettive possibile. Questa strategia aiuta a ridurre i bias e fornisce una base coerente per giudicare gli output degli LLM. Gli sviluppatori possono creare una baseline standard che fornisca giudizi coerenti e affidabili stabilendo criteri di valutazione chiari e misurabili.
Verifica della concisione
Per valutare la concisione, suddividi le risposte in sotto-parti significative. Ogni parte dovrebbe essere controllata individualmente per vedere se risponde direttamente alla query dell'utente. Il punteggio finale viene quindi calcolato come il rapporto tra le parti rilevanti diviso per il totale delle parti, garantendo una valutazione approfondita e precisa.
Strategia di valutazione
Sourabh ha anche consigliato di utilizzare un sistema di valutazione con le opzioni "SÌ, NO, FORSE". Questo approccio fornisce una valutazione più chiara e sfumata rispetto a una semplice scelta binaria, affrontando i casi limite in cui le risposte non rientrano negli estremi.
Valutazioni convenienti
Per gestire i costi, sfrutta il più possibile gli LLM più economici. Gli sviluppatori possono mantenere l'efficienza dei costi senza compromettere la qualità della valutazione utilizzando modelli meno costosi per le valutazioni iniziali e riservando i modelli ad alto costo ai casi critici o ambigui.
Fine-tuning specifico per dominio
Il fine-tuning del tuo LLM giudice funziona meglio rispetto all'uso di un modello generale per domini specifici. Il fine-tuning dei modelli per campi particolari, come quello legale o medico, assicura che le valutazioni siano più accurate e pertinenti al contesto specifico.
Utilizzare le valutazioni per guidare il miglioramento: post-produzione
Le valutazioni degli LLM sono importanti per identificare casi di errore e punti ciechi nelle applicazioni LLM, specialmente una volta che sono in produzione. Sourabh ha fornito best practice per utilizzare le valutazioni al fine di guidare il miglioramento continuo post-produzione.
Esegui valutazioni chiave per monitorare le prestazioni, poiché i costi di valutazione possono aumentare.
Seleziona i casi di errore ed esegui su di essi un'analisi delle cause principali. Questo approccio ti aiuta a capire perché determinate risposte falliscono e cosa può essere migliorato.
Determina se il problema è legato al retrieval, all'utilizzo, alla citazione o a query utente poco chiare. Questa analisi dettagliata consente miglioramenti mirati, assicurando che le tue applicazioni LLM diventino più robuste e affidabili nel tempo.
Come usare UpTrain AI per valutare le tue applicazioni LLM
Alla fine, Sourabh ha presentato UpTrain AI, un framework open-source per valutare le applicazioni LLM. Usando pip, gli sviluppatori possono installare UpTrain e definire modelli di valutazione utilizzando chiavi API di OpenAI o Hugging Face.
Il processo di valutazione con UpTrain AI include la definizione di dataset con domande, contesto e risposte, e quindi l'esecuzione di valutazioni per accuratezza, completezza, concisione e qualità della conversazione. UpTrain fornisce punteggi e spiegazioni, suddividendo le risposte lunghe in sotto-parti e valutando ciascuna per una misura più oggettiva della concisione.
La dashboard di UpTrain registra tutti i dati, consentendo il confronto di modelli e prompt e il monitoraggio delle prestazioni. Aiuta a identificare i casi di errore e ad analizzare le cause principali per individuare problemi di retrieval, utilizzo o citazione.
L'interfaccia della dashboard di UpTrain
L'interfaccia della dashboard di UpTrain
Per saperne di più su UpTrain, puoi visitare il suo progetto GitHub. Puoi anche guardare il replay dell'intervento di Sourabh su YouTube e seguire l'approccio passo dopo passo che ha dimostrato durante l'Unstructured Data Meetup.
Conclusione
Sviluppare applicazioni LLM affidabili ed efficaci non è facile e comporta molte sfide, tra cui bias, coerenza e mancanza di conoscenze specifiche del dominio. Eseguire il fine-tuning del tuo LLM per compiti specifici o sfruttare un vector database come Milvus per fornire al tuo LLM conoscenza esterna sono metodi popolari per risolvere questi problemi.
Tuttavia, è anche essenziale impiegare tecniche e strumenti di valutazione efficaci per garantire che gli output degli LLM siano accurati e significativi e per perfezionare le applicazioni LLM in base ai risultati della valutazione. L’approccio LLM-as-a-judge è una tecnica popolare che può svolgere questo ruolo, offrendo scalabilità e coerenza. Strumenti come UpTrain AI e molti altri framework come TruLens svolgono anche un ruolo cruciale nel migliorare le valutazioni degli LLM, rendendo il processo più efficiente e affidabile.
Ulteriori letture
Consulta le seguenti risorse se vuoi approfondire le valutazioni degli LLM.
Il talk di Sourabh Agrawal su YouTube.
Valutazioni per Retrieval Augmented Generation: TruLens + Milvus
Esplorare la Retrieval Augmented Generation (RAG): Chunking, LLM e valutazioni
Il percorso verso la produzione: valutazioni e osservabilità delle applicazioni LLM
Come valutare le applicazioni di Retrieval Augmented Generation (RAG)
Benchmark delle prestazioni dei vector database: tecniche e approfondimenti
Continua a leggere
Stop Building AI Data Infra for the Wrong Stage
Learn how AI data infrastructure should evolve from prototype to enterprise scale, and when Vector Lakebase becomes the right architecture for AI apps.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.

The Great AI Agent Protocol Race: Function Calling vs. MCP vs. A2A
Compare Function Calling, MCP, and A2A protocols for AI agents. Learn which standard best fits your development needs and future-proof your applications.



