Valutazione dei sistemi RAG multimodali utilizzando Trulens
Con l’aumento dell’importanza delle architetture multimodali nella Generative AI (GenAI), le organizzazioni creano sempre più spesso soluzioni utilizzando modelli multimodali come GPT-4V e Gemini Pro Vision. Questi modelli offrono un vantaggio fondamentale: possono incorporare semanticamente e interpretare vari tipi di dati—testo, immagini e altro—rendendoli più versatili ed efficaci rispetto ai tradizionali modelli linguistici di grandi dimensioni (LLMs) in una gamma più ampia di applicazioni.
Tuttavia, con la crescita dell’interesse per i modelli multimodali, aumentano anche le sfide legate alla garanzia della loro affidabilità e accuratezza. Come gli LLM, i modelli multimodali sono soggetti ad "allucinazioni", in cui producono output errati o irrilevanti—in particolare quando viene loro richiesto di elaborare simultaneamente diversi tipi di dati di input. La Multimodal Retrieval Augmented Generation (RAG) affronta queste limitazioni arricchendo i modelli con informazioni contestuali rilevanti provenienti da fonti esterne.
A un Unstructured Data Meetup ospitato da Zilliz, Josh Reini, Developer Advocate presso TruEra (ora acquisita da Snowflake), ha condiviso approfondimenti sulle sfide e sulle soluzioni del lavoro con framework multimodali. Josh ha sottolineato come potremmo mitigare le allucinazioni dell’AI utilizzando strumenti open source come Trulens e come l’integrazione del database vettoriale Milvus possa migliorare le prestazioni dei sistemi RAG multimodali.
Josh Reini che parla al November SF Unstructured Data Meetup
In questo blog, riepilogheremo gli approfondimenti di Josh e discuteremo il ruolo critico che le valutazioni (o "Evals") svolgono nel migliorare i sistemi RAG multimodali, garantendo che questi sistemi forniscano risultati accurati e pertinenti quando gestiscono dati complessi. Puoi anche guardare l’intervento completo di Josh su YouTube per ulteriori approfondimenti.
Comprendere i modelli multimodali e il RAG multimodale
I modelli multimodali sono modelli di machine learning in grado di elaborare e integrare più tipi di dati o modalità, come testo, immagini, audio e video. A differenza dei modelli linguistici tradizionali, che si concentrano su un singolo tipo di input, i modelli multimodali combinano informazioni provenienti da varie fonti per creare output più accurati dal punto di vista contestuale. Questa versatilità li rende particolarmente utili in scenari in cui i dati provengono da formati diversi. Ad esempio, un modello multimodale potrebbe utilizzare un’immagine e una descrizione testuale per generare una risposta più precisa rispetto a un modello che si basa su un solo tipo di input.
Come gli LLM, i modelli multimodali sono ottimizzati per la generalizzazione, consentendo loro di rispondere a vari input. Tuttavia, questa ottimizzazione ha un costo. I modelli sono spesso penalizzati per la memorizzazione di dati specifici, creando una tensione tra flessibilità e accuratezza. Questo equilibrio diventa complicato quando l’attività implica il confronto incrociato di più modalità, come diagnosticare una malattia sulla base di sintomi testuali e immagini radiografiche.
Per dotare questi modelli general-purpose di memorie a lungo termine, possiamo trasferire conoscenze specifiche "memorizzate" a risorse esterne, come un vector store (ad es., Milvus). Questa tecnica è nota come Multimodal RAG.
I sistemi Traditional RAG si concentrano sul recupero di testo rilevante per migliorare il processo generativo degli LLMs, producendo risposte più accurate e personalizzate. Multimodal RAG va oltre il testo integrando ulteriori tipi di dati—immagini, audio, video e altro—nel processo di recupero e generazione utilizzando modelli multimodali e database vettoriali. Questo approccio consente ai sistemi Multimodal RAG di funzionare in modo più efficace in attività che richiedono una comprensione più profonda di input testuali e non testuali.
Ad esempio, Multimodal RAG può recuperare immagini o video rilevanti nei sistemi di visual question-answering per generare risposte più precise. Allo stesso modo, in attività come l'image captioning o i sistemi di dialogo multimodale, la capacità di combinare dati visivi e testuali garantisce che il sistema fornisca output più pertinenti al contesto e accurati.
Sfruttando i punti di forza complementari dei modelli multimodali e dei meccanismi di recupero avanzati, Multimodal RAG offre una soluzione potente per gestire dati complessi e multi-formato e generare risposte ricche e consapevoli del contesto in un'ampia gamma di applicazioni.
Come funziona Multimodal RAG?
Ora che abbiamo introdotto il concetto di Multimodal RAG, esploriamo come operano questi sistemi. Useremo come esempio un sistema di visual question-answering potenziato dal recupero per illustrare il processo:
Figura- Come funziona un sistema RAG multimodale
Elaborazione dell'input multimodale: Il sistema RAG riceve una query dell'utente insieme a un'immagine.
Embedding: Sia l'immagine sia la query testuale vengono trasformate in embedding vettoriali utilizzando un modello di embedding multimodale. Questi embedding consentono al sistema di analizzare e confrontare l'input tra diverse modalità (testo e immagine), rendendolo capace di comprendere le relazioni tra i due.
Recupero dal database vettoriale: Il sistema utilizza gli embedding delle immagini per interrogare un database vettoriale, come Milvus o la sua versione gestita, Zilliz Cloud, per recuperare immagini simili e le relative annotazioni o dati pertinenti. Questa fase di recupero arricchisce la conoscenza del modello fornendo contesto aggiuntivo da dati del mondo reale.
Completamento: I dati recuperati (immagini simili e le relative annotazioni) vengono combinati con la query di input originale. Il modello multimodale utilizza questo contesto arricchito per generare una risposta completa o un completamento che sfrutta sia l'input originale sia le informazioni recuperate.
Risposta: Infine, il sistema genera una risposta accurata integrando i dati esterni recuperati con l'input originale. Questo consente al modello di produrre una risposta alla query dell'utente più consapevole del contesto, pertinente e precisa.
Incorporando dati esterni tramite il recupero, i sistemi Multimodal RAG vanno oltre ciò che il modello conosce internamente, garantendo output più accurati e pertinenti al contesto.
La necessità di valutazioni sistematiche
Nonostante la potente combinazione di modelli multimodali e sistemi di recupero, rimangono delle sfide. Sebbene demo impressionanti possano mostrare il potenziale di Multimodal RAG, trasformare una demo in un'applicazione robusta e pronta per la produzione è molto più difficile.
La chiave per superare queste sfide è la valutazione sistematica. Queste valutazioni aiutano a identificare punti deboli, modalità di errore e aree di miglioramento nelle applicazioni multimodali, consentendo agli sviluppatori di perfezionarle e ottimizzarle nel tempo. Nel campo dell'AI, vediamo spesso due tipi di team:
Team che creano prototipi entusiasmanti che funzionano circa l'80% delle volte.
Team che riescono a distribuire con successo questi sistemi in produzione, un compito molto più complesso e impegnativo.
Per il secondo gruppo—quelli focalizzati sulla produzione—l'iterazione e la valutazione sistematiche sono essenziali, in particolare in ambiti come l'istruzione (tutor basati su LLM), l'assistenza clienti (riassumere trascrizioni) e i servizi finanziari (chatbot interni o rivolti ai clienti), dove affidabilità e accuratezza sono fondamentali.
È qui che gli strumenti di valutazione, spesso chiamati Evals, diventano indispensabili. Gli strumenti di valutazione consentono agli sviluppatori di monitorare le prestazioni, testare l'affidabilità e identificare aree di miglioramento mentre iterano verso una soluzione di livello produttivo. Tra gli strumenti di valutazione più diffusi figurano Trulens, Ragas, LangFuse, OpenAI Evals, DeepEval, Phoenix e LangSmith.
Nelle sezioni seguenti, useremo TruLens, uno strumento di valutazione open source, come caso di studio per dimostrare come le valutazioni sistematiche possano essere applicate ai sistemi RAG multimodali.
In che modo TruLens aiuta nella valutazione del RAG multimodale
Trulens è uno strumento open source per valutare modelli linguistici di grandi dimensioni (LLM) e applicazioni RAG multimodali. La sua forza risiede nella capacità di monitorare, testare ed eseguire il debug delle applicazioni, rendendolo particolarmente utile per identificare aree di miglioramento e garantire l'affidabilità dell'app.
Una volta che gli sviluppatori collegano la loro app a TruLens, possono registrare record e definire funzioni di valutazione che valutano sistematicamente le prestazioni del modello. Queste valutazioni sono cruciali per rilevare le allucinazioni, che possono portare a risposte inaccurate o irrilevanti, specialmente nei sistemi RAG multimodali complessi.
In un tipico sistema RAG, tre componenti principali devono essere valutati:
Figura- Tre pilastri del RAG (Triade RAG)
Query: L'utente invia una query, che potrebbe essere sotto forma di testo o di testo e immagini combinati.
Contesto: Il sistema recupera informazioni rilevanti, come immagini e testo, da un database vettoriale per fornire contesto al modello.
Risposta: L'LLM o il modello multimodale genera una risposta basata sul contesto recuperato e sulla query originale.
Per garantire che il modello rimanga accurato e affidabile, le valutazioni vengono eseguite a ogni passaggio per rilevare le allucinazioni e valutare quanto bene stia funzionando il sistema. Questo viene spesso chiamato Triade RAG, come mostrato nel diagramma di accompagnamento.
Esistono tre tipi critici di valutazioni per garantire che l'output del sistema sia affidabile:
Pertinenza del contesto: verifica quanto le informazioni recuperate (testo o immagini) siano allineate alla query originale. Il contesto recuperato è pertinente e utile per la query in questione?
Fondatezza: la fondatezza valuta se il contesto recuperato supporta la risposta generata. La risposta si basa sulle informazioni recuperate o sta generando dati non supportati o errati?
Pertinenza della risposta: misura l'utilità e l'accuratezza della risposta del modello. La risposta è significativa e pertinente alla domanda dell'utente?
Integrando TruLens, gli sviluppatori possono monitorare e migliorare continuamente le prestazioni dei loro sistemi RAG multimodali, assicurando che il modello rimanga accurato, basato su evidenze e contestualmente pertinente, riducendo al minimo le allucinazioni.
Per una guida passo passo su come implementare e valutare RAG usando Trulens, leggi questo tutorial: Evaluations for Retrieval Augmented Generation: TruLens + Milvus.
Esempio reale: valutare un sistema RAG di risposta a domande visive
Per comprenderlo meglio, consideriamo un esempio di sistema RAG di risposta a domande visive. In questo sistema, l’utente fornisce sia una query sia un’immagine. Il modello genera un embedding dall’immagine e cerca in un database vettoriale immagini simili, che vengono poi abbinate ad annotazioni per generare la risposta finale.
A ogni passaggio, dobbiamo valutare se le immagini recuperate sono pertinenti alla query originale, se la risposta dell’LLM è fondata sul contesto fornito e se la risposta finale è pertinente alla domanda originale. Se il sistema recupera immagini irrilevanti o genera diagnosi errate, le valutazioni ci aiuteranno a individuare la modalità di errore e a migliorare il modello.
Un team, X-ray Insight, ha creato un’app durante un hackathon che illustra queste valutazioni in azione. Hanno effettuato lo scraping di immagini radiografiche e annotazioni (diagnosi), trasformato le immagini in embedding di immagini, caricato questi embedding insieme ai metadati (le diagnosi) nel database vettoriale Milvus/Zilliz e utilizzato un’immagine fornita dall’utente (anch’essa trasformata in embedding) per recuperare casi simili. I metadati (ad es., diagnosi) associati a queste immagini sono stati utilizzati per generare una diagnosi finale tramite un modello multimodale.
Figura: come funziona il sistema X-ray Insight
Usando TruLens, il team di X-ray Insight è riuscito a valutare le prestazioni del proprio modello in più fasi:
Generazione degli embedding: pre-elaborazione dell’immagine, calcolo dell’embedding (un processo che richiede molto tempo) e garanzia della qualità dell’embedding.
Recupero dei casi: ricerca di casi pertinenti nel database vettoriale in base agli embedding calcolati.
Diagnosi finale: generazione di una diagnosi dalle note del paziente e confronto con i dati recuperati.
Una volta implementate queste valutazioni, TruLens consente al team di analizzare le caratteristiche condivise tra le diagnosi, identificare le modalità di errore e migliorare sulla base degli insight ottenuti.
Conclusione
In sintesi, distribuire modelli multimodali e sistemi RAG in produzione richiede più che costruire un prototipo interessante. L’iterazione sistematica attraverso valutazioni come la pertinenza del contesto, la fondatezza e la pertinenza della risposta è essenziale per garantire che questi modelli siano affidabili e accurati. Strumenti come TruLens forniscono un framework per tracciare, testare ed eseguire il debug di queste app, aiutando gli sviluppatori a perfezionare i propri modelli ed evitare allucinazioni.
Mentre continuiamo a spingere i confini di ciò che i modelli multimodali possono fare, le valutazioni rimarranno un pilastro del processo di sviluppo. Garantiranno che questi modelli generino output in modo fondato e pertinente.
Ulteriori risorse
Continua a leggere

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

Zilliz Cloud Launches in AWS Australia, Expanding Global Reach to Australia and Neighboring Markets
We're thrilled to announce that Zilliz Cloud is now available in the AWS Sydney, Australia region (ap-southeast-2).

Vector Databases vs. Hierarchical Databases
Use a vector database for AI-powered similarity search; use a hierarchical database for organizing data in parent-child relationships with efficient top-down access patterns.



