Il percorso verso la produzione: valutazioni e osservabilità delle applicazioni LLM
Poiché molti team di machine learning si preparano a distribuire modelli linguistici di grandi dimensioni (LLM)) in produzione, devono affrontare sfide significative, come gestire le allucinazioni e garantire un deployment responsabile. Prima di affrontare questi problemi, è fondamentale valutarli e identificarli in modo efficace.
Di recente, all’Unstructured Data Meetup, Hakan Tekgul, ML Solutions Architect presso Arize AI, ha condiviso strategie illuminanti per condurre valutazioni degli LLM rapide e accurate. Questi approcci mantengono elevati standard di qualità e affidabilità delle risposte e garantiscono la generazione di valore aziendale tangibile.
Guarda la replica dell’intervento di Hakan Tekgul
Se ti sei perso l’evento, non preoccuparti! Ecco un’analisi dettagliata della presentazione di Hakan.
Passare dalle demo GenAI alla produzione è impegnativo!
Costruire applicazioni GenAI potrebbe sembrare semplice all’inizio, soprattutto con strumenti intuitivi come LangChain e LlamaIndex che facilitano la creazione di applicazioni demo. Tuttavia, il passaggio a prodotti completi capaci di generare valore aziendale tangibile è impegnativo. Il punto cruciale sta nel garantire che queste applicazioni forniscano costantemente output affidabili e di alta qualità in un ambiente di produzione.
Com’è passare da una demo su Twitter a un prodotto reale
Illustriamo questa sfida con l’esempio di un chatbot per e-commerce. Gli utenti interagiscono con questo chatbot per pianificare le loro vacanze.
L’interfaccia del chatbot per e-commerce
Sebbene l’applicazione possa apparire semplice dal punto di vista dell’utente, i flussi di lavoro dietro le quinte sono complessi. Ecco i passaggi chiave di questo flusso di lavoro:
Avvio della chat: Gli utenti avviano la sessione interagendo con il chatbot.
Estrazione dei parametri: L’LLM estrae parametri strutturati dall’input dell’utente.
Ranking/Raccomandazione: Il modello genera un elenco di potenziali destinazioni di vacanza in base ai parametri estratti.
Ricerca e recupero tramite embedding: Il sistema perfeziona l’elenco eseguendo una ricerca vettoriale per ottenere informazioni più pertinenti.
Generazione della risposta: L’LLM genera una risposta personalizzata in base ai dati recuperati.
I passaggi chiave nel flusso di lavoro del chatbot e le potenziali strategie di troubleshooting
Ogni passaggio di questo flusso di lavoro può incontrare problemi specifici. Un troubleshooting efficace è essenziale per garantire un’esperienza utente fluida e prestazioni ottimali. Ad esempio, potresti dover:
Garantire il funzionamento fluido di strumenti come LangChain e LlamaIndex senza errori.
Creare e perfezionare i prompt per estrarre accuratamente i dati dall’input degli utenti.
Valutare e ottimizzare continuamente il sistema di raccomandazione.
Migliorare l’accuratezza e la pertinenza delle informazioni recuperate.
Eseguire il troubleshooting dell’intero sistema e di ciascun componente individualmente.
Utilizzare il feedback per perfezionare e migliorare continuamente il sistema.
L’osservabilità degli LLM viene in soccorso!
Per affrontare le sfide delineate in precedenza, è fondamentale sfruttare strumenti di valutazione per un’osservabilità degli LLM senza interruzioni. Cinque aspetti principali dell’osservabilità degli LLM richiedono attenzione per garantire la piena visibilità delle tue applicazioni. Conducendo abilmente queste valutazioni, i team possono ottenere un’osservazione olistica delle loro applicazioni, garantendo affidabilità e prestazioni ottimali.
| Cinque pilastri dell’osservabilità degli LLM | ||
| Pilastro | Descrizione | Problemi comuni |
| Valutazione | Valutazione sistematica degli output degli LLM utilizzando un LLM di valutazione separato | Qualità e allineamento dell’output |
| Span e tracce | Visibilità dettagliata nelle scomposizioni dei workflow | Identificazione di punti di errore specifici |
| Prompt Engineering | Perfezionamento iterativo dei template di prompt per risultati migliori | Miglioramento dell’accuratezza e della rilevanza delle risposte |
| Ricerca e recupero | Individuare e migliorare il contesto recuperato | Miglioramento dell’accuratezza del recupero |
| Fine-tuning | Riaddestramento degli LLM su dati specifici per prestazioni personalizzate | Allineamento con esigenze specifiche del business |
Nelle sezioni seguenti, esploreremo le categorie Valutazione degli LLM e Span e tracce degli LLM in maggiore dettaglio per evidenziarne l’importanza nell’ottimizzazione dell’osservabilità degli LLM.
Valutazioni degli LLM
Le valutazioni degli LLM (LLM Evals) si riferiscono alla valutazione sistematica degli output della tua applicazione GenAI utilizzando un LLM separato come "giudice". Valutazioni regolari garantiscono che i contenuti generati soddisfino gli standard di qualità e le aspettative degli utenti. Ad esempio, un servizio di suggerimenti per vacanze impiega un LLM di valutazione per esaminare regolarmente le raccomandazioni. Questo sistema di valutazione attiva un processo di revisione per aggiornare i dati di addestramento se le raccomandazioni diventano obsolete o irrilevanti.
Valutazioni del modello vs. valutazioni degli LLM
Prima di addentrarci nei dettagli, confrontiamo due concetti simili: valutazioni del modello e valutazioni degli LLM.
Valutazioni del modello aiutano a selezionare il modello fondazionale per la tua applicazione e ad assicurare che sia allineato ai casi d’uso generali.
Valutazioni degli LLM misurano le prestazioni di attività e componenti specifici all’interno della tua applicazione basata su LLM. Le valutazioni degli LLM includono valutazioni di recupero, allucinazione, frustrazione dell’utente, Q&A, riassunto e generazione di codice, come illustrato nell’immagine qui sotto.
Production LLM Evals- Task Performance Measurement | Arize
Come funzionano le valutazioni degli LLM
Valutare le prestazioni dei modelli linguistici di grandi dimensioni (LLM) utilizzando un LLM giudice può sembrare complesso, ma diventa molto più gestibile con gli strumenti e le metodologie giusti. La libreria Phoenix LLM Evals è uno strumento open-source progettato per facilitare valutazioni degli LLM rapide e semplici. Questa libreria integra un LLM giudice, template di valutazione e parametri del modello in un framework coeso.
Come funziona questo processo? I tuoi dati di input vengono inseriti nella libreria Phoenix insieme ai dati di output generati dalla tua applicazione LLM. Il Judge LLM all’interno della libreria utilizza quindi questi dati di input e output, insieme a un template di prompt, per valutare le prestazioni del tuo sistema su un’attività specifica.
LLM Evals- How They Work in General
Esaminiamo il processo di valutazione. Considera un'applicazione di Retrieval Augmented Generation (RAG) che recupera il contesto da un database vettoriale come Milvus e poi genera risposte in base alla domanda dell'utente e al contesto recuperato.
Quando si misura la performance in un'attività di retrieval RAG, i dati di input (la domanda dell'utente) e i dati di output (testo di riferimento) vengono inseriti nella libreria Phoenix. Il Judge LLM utilizza l'Eval Template per valutare quanto bene il testo di riferimento risponda alla domanda dell'utente. Ad esempio, se la domanda dell'utente è "Trova ricette tradizionali francesi" e il testo di riferimento fornisce una ricetta di zuppa di pane con cipolle caramellate, l'Eval Template confronterà questi due elementi per valutarne la rilevanza.
LLM Evals- Come funzionano in un caso d'uso RAG
Benchmarking dei risultati della valutazione LLM
Abbiamo discusso di come funziona il processo di valutazione LLM, ma come puoi essere sicuro che sarà efficace per il tuo caso d'uso specifico? La risposta sta nel benchmarking dei risultati della tua valutazione.
Di seguito sono riportati i passaggi principali che seguiamo per effettuare il benchmark dei risultati.
Innanzitutto, utilizziamo dataset pubblici che includono risposte etichettate da esseri umani. Questi dataset consistono in domande degli utenti e testi di riferimento, con annotazioni che ne indicano la rilevanza. Con questi dataset consolidati, stabiliamo una solida base di confronto.
Successivamente, confrontiamo la performance dei nostri prompt template con le risposte fornite dagli esseri umani in questi dataset pubblici. Questo passaggio ci consente di valutare quanto bene i nostri template identifichino risposte rilevanti, utilizzando il giudizio umano come benchmark.
Infine, calcoliamo i punteggi di precision e recall per quantificare la performance dei nostri prompt template. La precision misura l'accuratezza dei risultati rilevanti restituiti dal sistema RAG, mentre la recall misura la capacità del sistema di recuperare tutte le istanze rilevanti.
Questi punteggi di precision e recall indicano quanto efficacemente i nostri prompt template funzionino su un'ampia gamma di esempi etichettati da esseri umani. Questo processo di benchmarking garantisce che la valutazione e i prompt template siano affidabili e possano essere considerati attendibili per valutare la performance delle tue applicazioni LLM.
Dopo queste misurazioni, determina quale modello usare per il tuo Judge LLM. Attività diverse potrebbero richiedere modelli giudice diversi. Ad esempio, GPT-3.5-turbo-instruct potrebbe non funzionare bene in una valutazione della correttezza Q&A, ma ottenere ottimi risultati nella valutazione del retrieval. Potresti dover cambiare foundation model se stai valutando qualcos'altro. Ecco perché il benchmarking è cruciale.
Dopo queste misurazioni, il passaggio successivo consiste nel determinare quale modello usare per il tuo Judge LLM. Attività diverse potrebbero richiedere modelli giudice diversi. Ad esempio, GPT-3.5-turbo-instruct potrebbe non funzionare bene in una valutazione della correttezza Q&A, ma eccelle nelle valutazioni del retrieval. Potresti dover cambiare modelli fondazionali per valutare un aspetto diverso. Questa flessibilità è il motivo per cui il benchmarking è cruciale.
Span e Trace LLM
Ora abbiamo imparato come valutare le tue applicazioni LLM nel loro complesso. Ma come valuti l'interazione della tua applicazione componente per componente? Considera una catena completa di sistemi di retrieval costruiti su framework come LamaIndex o LangChain. Se una valutazione Q&A indica una risposta errata, sai solo che l'interazione è fallita, ma devi comunque determinare dove. È qui che entra in gioco il concetto di Span e Trace LLM.
Vari tipi di valutazioni degli Span possono aiutare a individuare il guasto. Ad esempio, puoi usare:
Valutazione della frustrazione dell'utente per controllare l'interazione con il chatbot
Valutazione della classificazione durante l'estrazione degli attributi
Valutazione del retrieval per valutare il componente di retrieval
Valutazione della classificazione per il processo di classificazione
Valutazioni sugli Span LLM
Se c'è un problema con la valutazione del recupero, questo influisce direttamente sulla correttezza del Q&A. Gli LLM Spans e Traces aiutano a visualizzare e diagnosticare questi problemi all'interno della tua applicazione.
Hakan ha anche condiviso una demo che mostra come funzionano gli LLM Spans e Traces. Guarda il replay del suo intervento su YouTube per vedere maggiori dettagli della demo.
Conclusione
Riflettendo sull'intervento di Hakan Tekgul, è chiaro che portare gli LLM in produzione non è affatto un'impresa semplice. Il percorso da una demo rifinita a un'applicazione affidabile e pronta per il business è irto di sfide che richiedono attenzione ai dettagli e un solido framework di osservabilità.
Hakan ha condiviso due principali strategie di valutazione degli LLM, la LLM Evaluation e gli LLM Spans and Traces, e ha spiegato come funzionano con esempi dettagliati. Queste strategie valutano sistematicamente le applicazioni LLM, garantendone l'affidabilità e l'efficacia nei casi d'uso reali.
Continua a leggere

Why We Built Vector Lakebase: Rethinking Unstructured Data Architecture for AI
Vector Lakebase: a unified, lake-native data foundation for AI workloads — and an answer to what happens after vector databases succeed.

Announcing VDBBench 1.0: Open-Source VectorDB Benchmarking with Your Real-World Production Workloads
Discover VDBBench 1.0, an open-source tool for benchmarking vector databases with real-world production data, streaming ingestion, and concurrent workloads.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.



