Evaluierung multimodaler RAG-Systeme mit Trulens
Da multimodale Architekturen in Generative AI (GenAI) immer wichtiger werden, entwickeln Organisationen zunehmend Lösungen mit multimodalen Modellen wie GPT-4V und Gemini Pro Vision. Diese Modelle bieten einen entscheidenden Vorteil: Sie können verschiedene Datentypen – Text, Bilder und mehr – semantisch einbetten und interpretieren, wodurch sie vielseitiger und effektiver sind als traditionelle große Sprachmodelle (LLMs) in einem breiteren Anwendungsspektrum.
Mit dem wachsenden Interesse an multimodalen Modellen nehmen jedoch auch die Herausforderungen zu, ihre Zuverlässigkeit und Genauigkeit sicherzustellen. Wie LLMs neigen multimodale Modelle zu „Halluzinationen“, bei denen sie falsche oder irrelevante Ausgaben erzeugen – insbesondere wenn sie gleichzeitig verschiedene Arten von Eingabedaten verarbeiten sollen. Multimodal Retrieval Augmented Generation (RAG) begegnet diesen Einschränkungen, indem Modelle mit relevanten Kontextinformationen aus externen Quellen angereichert werden.
Bei einem von Zilliz veranstalteten Unstructured Data Meetup teilte Josh Reini, Developer Advocate bei TruEra (inzwischen von Snowflake übernommen), Einblicke in die Herausforderungen und Lösungen bei der Arbeit mit multimodalen Frameworks. Josh betonte, wie wir KI-Halluzinationen mithilfe von Open-Source-Tools wie Trulens reduzieren können und wie die Integration der Vektordatenbank Milvus die Leistung multimodaler RAG-Systeme verbessern kann.
Josh Reini spricht beim SF Unstructured Data Meetup im November
In diesem Blog fassen wir Joshs Erkenntnisse zusammen und erörtern die entscheidende Rolle, die Evaluierungen (oder „Evals“) bei der Verbesserung multimodaler RAG-Systeme spielen, um sicherzustellen, dass diese Systeme bei der Verarbeitung komplexer Daten genaue und relevante Ergebnisse liefern. Weitere Einblicke erhalten Sie außerdem in Joshs vollständigem Vortrag auf YouTube.
Multimodale Modelle und MultiModal RAG verstehen
Multimodale Modelle sind Machine-Learning-Modelle, die mehrere Datentypen oder Modalitäten wie Text, Bilder, Audio und Video verarbeiten und integrieren können. Im Gegensatz zu traditionellen Sprachmodellen, die sich auf einen einzelnen Eingabetyp konzentrieren, kombinieren multimodale Modelle Informationen aus verschiedenen Quellen, um kontextuell genauere Ausgaben zu erzeugen. Diese Vielseitigkeit macht sie besonders nützlich in Szenarien, in denen Daten in unterschiedlichen Formaten vorliegen. Beispielsweise könnte ein multimodales Modell ein Bild und eine Textbeschreibung verwenden, um eine präzisere Antwort zu generieren als ein Modell, das sich nur auf einen Eingabetyp stützt.
Wie LLMs sind multimodale Modelle auf Generalisierung optimiert, sodass sie auf verschiedene Eingaben reagieren können. Diese Optimierung hat jedoch ihren Preis. Modelle werden häufig dafür bestraft, spezifische Daten auswendig zu lernen, was eine Spannung zwischen Flexibilität und Genauigkeit erzeugt. Dieser Balanceakt wird schwierig, wenn die Aufgabe das Querverweisen mehrerer Modalitäten umfasst, etwa die Diagnose einer Krankheit auf Grundlage textbasierter Symptome und Röntgenbilder.
Um diese Allzweckmodelle mit Langzeitgedächtnissen auszustatten, können wir spezifisches „auswendig gelerntes“ Wissen in externe Ressourcen auslagern, wie etwa einen Vektorspeicher (z. B. Milvus). Diese Technik ist als Multimodal RAG bekannt.
Traditionelle RAG-Systeme konzentrieren sich darauf, relevante Texte abzurufen, um den generativen Prozess von LLMs zu verbessern und genauere sowie personalisierte Antworten zu erzeugen. Multimodal RAG geht über Text hinaus, indem zusätzliche Datentypen—Bilder, Audio, Videos und mehr—mithilfe von multimodalen Modellen und Vektordatenbanken in den Abruf- und Generierungsprozess integriert werden. Dieser Ansatz ermöglicht es Multimodal-RAG-Systemen, bei Aufgaben effektiver zu arbeiten, die ein tieferes Verständnis von textuellen und nicht-textuellen Eingaben erfordern.
Beispielsweise kann Multimodal RAG in visuellen Frage-Antwort-Systemen relevante Bilder oder Videos abrufen, um präzisere Antworten zu generieren. Ebenso stellt bei Aufgaben wie der Bildbeschreibung oder multimodalen Dialogsystemen die Fähigkeit, visuelle und textuelle Daten zu kombinieren, sicher, dass das System kontextuell relevantere und genauere Ausgaben liefert.
Durch die Nutzung der komplementären Stärken multimodaler Modelle und fortschrittlicher Abrufmechanismen bietet Multimodal RAG eine leistungsstarke Lösung für den Umgang mit komplexen Daten in mehreren Formaten und für die Generierung reichhaltiger, kontextbewusster Antworten über ein breites Spektrum von Anwendungen hinweg.
Wie funktioniert Multimodal RAG?
Nachdem wir das Konzept von Multimodal RAG eingeführt haben, wollen wir untersuchen, wie diese Systeme funktionieren. Wir verwenden ein retrieval-augmentiertes visuelles Frage-Antwort-System als Beispiel, um den Prozess zu veranschaulichen:
Figure- Wie ein multimodales RAG-System funktioniert
Verarbeitung multimodaler Eingaben: Das RAG-System erhält eine Benutzeranfrage zusammen mit einem Bild.
Embedding: Sowohl das Bild als auch die Textanfrage werden mithilfe eines multimodalen Embedding-Modells in Vektor-Embeddings umgewandelt. Diese Embeddings ermöglichen es dem System, die Eingabe über verschiedene Modalitäten (Text und Bild) hinweg zu analysieren und zu vergleichen, wodurch es in der Lage ist, die Beziehungen zwischen beiden zu verstehen.
Abruf aus der Vektordatenbank: Das System verwendet Bild-Embeddings, um eine Vektordatenbank wie Milvus oder deren verwaltete Version, Zilliz Cloud, abzufragen und ähnliche Bilder sowie deren zugehörige Annotationen oder relevante Daten abzurufen. Dieser Abrufschritt bereichert das Wissen des Modells, indem zusätzlicher Kontext aus realen Daten bereitgestellt wird.
Completion: Die abgerufenen Daten (ähnliche Bilder und deren Annotationen) werden mit der ursprünglichen Eingabeanfrage kombiniert. Das multimodale Modell nutzt diesen angereicherten Kontext, um eine umfassende Antwort oder Completion zu generieren, die sowohl die ursprüngliche Eingabe als auch die abgerufenen Informationen nutzt.
Antwort: Schließlich generiert das System eine genaue Antwort, die die abgerufenen externen Daten mit der ursprünglichen Eingabe integriert. Dies ermöglicht es dem Modell, eine kontextbewusstere, relevantere und präzisere Antwort auf die Anfrage des Benutzers zu liefern.
Durch die Einbindung externer Daten mittels Abruf gehen Multimodal-RAG-Systeme über das hinaus, was das Modell intern weiß, und gewährleisten genauere sowie kontextuell relevantere Ausgaben.
Der Bedarf an systematischen Evaluationen
Trotz der leistungsstarken Kombination aus multimodalen Modellen und Abrufsystemen bleiben Herausforderungen bestehen. Während beeindruckende Demos das Potenzial von Multimodal RAG zeigen können, ist es deutlich schwieriger, aus einer Demo eine robuste, produktionsreife Anwendung zu machen.
Der Schlüssel zur Bewältigung dieser Herausforderungen ist systematische Evaluation. Diese Evaluationen helfen dabei, Schwachstellen, Fehlermodi und Verbesserungsbereiche in multimodalen Anwendungen zu identifizieren, sodass Entwickler sie im Laufe der Zeit verfeinern und optimieren können. Im KI-Bereich sehen wir häufig zwei Arten von Teams:
Teams, die spannende Prototypen entwickeln, die in etwa 80 % der Fälle funktionieren.
Teams, die diese Systeme erfolgreich in der Produktion einsetzen, was eine weitaus komplexere und anspruchsvollere Aufgabe ist.
Für die zweite Gruppe—also diejenigen, die sich auf die Produktion konzentrieren—sind systematische Iteration und Evaluation unerlässlich, insbesondere in Bereichen wie Bildung (LLM-basierte Tutoren), Kundensupport (Zusammenfassung von Transkripten) und Finanzdienstleistungen (interne oder kundenorientierte Chatbots), in denen Zuverlässigkeit und Genauigkeit entscheidend sind.
Hier werden Evaluationstools, oft Evals genannt, unverzichtbar. Evaluationstools ermöglichen es Entwicklern, die Leistung zu überwachen, die Zuverlässigkeit zu testen und Verbesserungsbereiche zu identifizieren, während sie iterativ auf eine produktionsreife Lösung hinarbeiten. Zu den beliebten Evaluationstools gehören Trulens, Ragas, LangFuse, OpenAI Evals, DeepEval, Phoenix und LangSmith.
In den folgenden Abschnitten verwenden wir TruLens, ein Open-Source-Evaluationstool, als Fallstudie, um zu demonstrieren, wie systematische Evaluationen auf multimodale RAG-Systeme angewendet werden können.
Wie TruLens bei der Evaluation multimodaler RAG-Systeme hilft
Trulens ist ein Open-Source-Tool zur Evaluation großer Sprachmodelle (LLMs) und multimodaler RAG-Anwendungen. Seine Stärke liegt in der Fähigkeit, Anwendungen zu überwachen, zu testen und zu debuggen, wodurch es besonders nützlich ist, um Verbesserungsbereiche zu identifizieren und die Zuverlässigkeit von Apps sicherzustellen.
Sobald Entwickler ihre App mit TruLens verbinden, können sie Datensätze protokollieren und Evaluationsfunktionen definieren, die die Leistung des Modells systematisch bewerten. Diese Evaluationen sind entscheidend für die Erkennung von Halluzinationen, die zu ungenauen oder irrelevanten Antworten führen können, insbesondere in komplexen multimodalen RAG-Systemen.
In einem typischen RAG-System müssen drei Kernkomponenten evaluiert werden:
Abbildung- Drei Säulen von RAG (RAG Triad)
Query: Der Nutzer sendet eine Anfrage, die in Form von Text oder einer Kombination aus Text und Bildern vorliegen kann.
Context: Das System ruft relevante Informationen, wie Bilder und Text, aus einer Vektordatenbank ab, um dem Modell Kontext bereitzustellen.
Response: Das LLM oder multimodale Modell generiert eine Antwort basierend auf dem abgerufenen Kontext und der ursprünglichen Anfrage.
Um sicherzustellen, dass das Modell genau und zuverlässig bleibt, werden bei jedem Schritt Evaluationen durchgeführt, um Halluzinationen zu erkennen und zu bewerten, wie gut das System funktioniert. Dies wird oft als RAG Triad bezeichnet, wie im begleitenden Diagramm gezeigt.
Es gibt drei kritische Arten von Evaluationen, um sicherzustellen, dass die Ausgabe des Systems vertrauenswürdig ist:
Context Relevance: Dies prüft, wie eng die abgerufenen Informationen (Text oder Bilder) mit der ursprünglichen Anfrage übereinstimmen. Ist der abgerufene Kontext für die jeweilige Anfrage relevant und nützlich?
Groundedness: Groundedness bewertet, ob der abgerufene Kontext die generierte Antwort unterstützt. Stützt sich die Antwort auf abgerufene Informationen, oder generiert sie nicht unterstützte oder falsche Daten?
Answer Relevance: Dies misst die Nützlichkeit und Genauigkeit der Antwort des Modells. Ist die Antwort aussagekräftig und relevant für die Frage des Nutzers?
Durch die Integration von TruLens können Entwickler die Leistung ihrer multimodalen RAG-Systeme kontinuierlich verfolgen und verbessern und so sicherstellen, dass das Modell genau, evidenzbasiert und kontextuell relevant bleibt, während Halluzinationen minimiert werden.
Eine Schritt-für-Schritt-Anleitung zur Implementierung und Evaluierung von RAG mit Trulens finden Sie in diesem Tutorial: Evaluierungen für Retrieval Augmented Generation: TruLens + Milvus.
Praxisbeispiel: Evaluierung eines visuellen Frage-Antwort-RAG-Systems
Um dies besser zu verstehen, betrachten wir ein Beispiel für ein visuelles Frage-Antwort-RAG-System. In diesem System stellt der Benutzer sowohl eine Anfrage als auch ein Bild bereit. Das Modell erzeugt ein Embedding aus dem Bild und durchsucht eine Vektordatenbank nach ähnlichen Bildern, die anschließend mit Annotationen kombiniert werden, um die endgültige Antwort zu generieren.
Bei jedem Schritt müssen wir bewerten, ob die abgerufenen Bilder für die ursprüngliche Anfrage relevant sind, ob die Antwort des LLM im bereitgestellten Kontext verankert ist und ob die endgültige Antwort für die ursprüngliche Frage relevant ist. Wenn das System irrelevante Bilder abruft oder falsche Diagnosen generiert, helfen uns die Evaluierungen dabei, den Fehlermodus zu lokalisieren und das Modell zu verbessern.
Ein Team, X-ray Insight, entwickelte während eines Hackathons eine App, die diese Evaluierungen in der Praxis veranschaulicht. Sie scrapten Röntgenbilder und Annotationen (Diagnosen), wandelten die Bilder in Bild-Embeddings um, luden diese Embeddings zusammen mit Metadaten (den Diagnosen) in die Milvus/Zilliz-Vektordatenbank und verwendeten ein vom Benutzer bereitgestelltes Bild (das ebenfalls in Embeddings umgewandelt wurde), um ähnliche Fälle abzurufen. Die mit diesen Bildern verknüpften Metadaten (z. B. Diagnosen) wurden verwendet, um über ein multimodales Modell eine endgültige Diagnose zu generieren.
Abbildung: Funktionsweise des X-ray Insight-Systems
Mit TruLens konnte das X-ray Insight-Team die Leistung seines Modells in mehreren Phasen bewerten:
Embedding-Erzeugung: Vorverarbeitung des Bildes, Berechnung des Embeddings (ein zeitintensiver Prozess) und Sicherstellung der Embedding-Qualität.
Fallabruf: Suche nach relevanten Fällen in der Vektordatenbank auf Grundlage der berechneten Embeddings.
Endgültige Diagnose: Generierung einer Diagnose aus Patientennotizen und Vergleich mit den abgerufenen Daten.
Sobald diese Evaluierungen eingerichtet sind, ermöglicht TruLens dem Team, gemeinsame Merkmale über Diagnosen hinweg zu analysieren, Fehlermodi zu identifizieren und sich auf Grundlage der gewonnenen Erkenntnisse zu verbessern.
Fazit
Zusammenfassend lässt sich sagen, dass der Einsatz multimodaler Modelle und RAG-Systeme in der Produktion mehr erfordert als den Bau eines coolen Prototyps. Systematische Iteration durch Evaluierungen wie Kontextrelevanz, Verankerung und Antwortrelevanz ist unerlässlich, um sicherzustellen, dass diese Modelle zuverlässig und genau sind. Tools wie TruLens bieten ein Framework zum Nachverfolgen, Testen und Debuggen dieser Apps und helfen Entwicklern, ihre Modelle zu verfeinern und Halluzinationen zu vermeiden.
Während wir weiterhin die Grenzen dessen verschieben, was multimodale Modelle leisten können, bleiben Evaluierungen ein Eckpfeiler im Entwicklungsprozess. Sie stellen sicher, dass diese Modelle Ausgaben auf eine fundierte und relevante Weise generieren.
Weitere Ressourcen
Weiterlesen

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.

Vector Databases vs. Document Databases
Use a vector database for similarity search and AI-powered applications; use a document database for flexible schema and JSON-like data storage.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.



