RAG

Retrieval-Augmented Generation (RAG): Eine umfassende Erklärung

Retrieval-Augmented Generation (RAG) ist eine innovative Technologie, die die Fähigkeiten von Large Language Models deutlich erweitert und sie leistungsfähiger und flexibler macht. Dies bedeutet, dass das System nicht nur aus dem gelernten Wissen schöpft, sondern auch gezielt nach aktuellen Informationen aus verschiedenen Quellen suchen kann. Dadurch kann es Antworten generieren, die auf den neuesten Stand sind, spezifischer auf die Anfrage eingehen und eine höhere Genauigkeit bieten.

Ein traditionelles LLM ist darauf trainiert, aus einer statischen Menge an Trainingsdaten Antworten zu generieren, was zu Problemen wie eingeschränkter Aktualität und falschen Informationen (sogenannten "Halluzinationen") führen kann. RAG adressiert diese Schwächen, indem es den Abruf aktueller und kontextbezogener Informationen aus externen Wissensquellen ermöglicht. So können RAG-Systeme aktuelle Dokumente, neue wissenschaftliche Studien oder tagesaktuelle Daten in ihre Antworten einbeziehen, was die Qualität der generierten Inhalte erheblich verbessert.

In diesem Blog-Artikel möchten wir tief in die Funktionsweise von RAG eintauchen und die technischen Details und Vorteile dieses Ansatzes näher beleuchten. Wir werden zunächst die Herausforderungen traditioneller LLMs erläutern und zeigen, wie RAG diese überwinden kann. Anschließend diskutieren wir die spezifischen Phasen des RAG-Frameworks – von der Vorbereitung der Daten bis hin zur eigentlichen Generierung. Zudem werden wir einen genauen Blick auf die zugrundeliegenden Technologien werfen und auf reale Anwendungsfälle eingehen, um zu verdeutlichen, wie RAG die Leistung von KI-gestützten Systemen in der Praxis verbessern kann.

Motivation für die Kombination von Retrieval- und Generierungsansätzen in LLMs

Klassische LLMs, wie GPT-3 und GPT-4, sind beeindruckende Werkzeuge, die Texte in einer natürlichen Sprache generieren können. Allerdings haben sie eine große Einschränkung: Sie basieren nur auf den Informationen, die ihnen während des Trainings zur Verfügung standen, und können keine neuen Daten abrufen, die nach diesem Zeitpunkt verfügbar sind.  Das bedeutet, dass ihre Antworten oft unvollständig oder sogar fehlerhaft sind, besonders bei Themen, die sich schnell ändern oder sehr aktuell sind. GPT-4o bietet hier einen entscheidenden Vorteil und ermöglicht das Suchen nach Informationen im Internet. Ein großes Problem hierbei ist allerdings weiterhin, dass die gesuchten Daten nicht selber definiert werden können. Zum Beispiel fehlen hier Dokumente aus dem eigenen Unternehmen und weitere Kurratirte Inhalte. Retrieval-Augmented Generation (RAG) löst dieses Problem, indem eine zusätzliche Komponente eingebaut wird, die gezielt nach aktuellen Informationen sucht und diese in den Generierungsprozess einbezieht. So werden die Antworten nicht nur vollständiger, sondern auch relevanter und kontextbezogener.

RAG ist ein Ansatz, bei dem externe Informationen dynamisch in den Textgenerierungsprozess eingebunden werden. Ein Sprachmodell, das ursprünglich nur mit einer statischen Menge an Trainingsdaten ausgestattet ist, wird durch ein Retrieval-Modul ergänzt. Dieses Modul ermöglicht es, in Echtzeit Informationen aus externen Quellen abzurufen, die für die gestellte Frage relevant sind. Dadurch wird sichergestellt, dass die generierten Antworten nicht nur sprachlich flüssig, sondern auch inhaltlich korrekt und auf dem neuesten Stand sind. Besonders für Unternehmen ist dies von großem Interesse, da sie auf aktuelle Informationen zugreifen können, um ihre Geschäftsprozesse zu optimieren, bessere Kundenantworten zu liefern und fundierte Entscheidungen zu treffen. Dies erhöht die Effizienz und Wettbewerbsfähigkeit erheblich.

Herausforderungen traditioneller LLMs

Ein großes Problem traditioneller LLMs sind sogenannte "Halluzinationen". Dabei handelt es sich um Fälle, in denen das Modell Informationen generiert, die zwar plausibel klingen, aber schlichtweg falsch sind. Diese Halluzinationen entstehen, weil LLMs darauf trainiert sind, aus der ihnen bekannten Wahrscheinlichkeitsverteilung heraus die wahrscheinlichsten Wortfolgen zu generieren, unabhängig davon, ob die generierten Informationen faktisch korrekt sind.

Dieses Problem bleibt sogar bei GPT-4o bestehen, welches in der Lage ist, aktuelle Informationen aus dem Netz abzurufen. Dennoch kann auch GPT-4o nicht sicherstellen, dass die abgerufenen Daten immer korrekt sind, was weiterhin zu Halluzinationen führen kann. Das Abrufen von aktuellen Daten reduziert zwar die Wahrscheinlichkeit, falsche Informationen zu generieren, aber das Modell hat keine eingebaute Verifizierungsinstanz, die die Richtigkeit der Informationen sicherstellt. Dadurch kommt es vor, dass GPT-4o scheinbar relevante Informationen aus unsicheren oder nicht verifizierten Quellen bezieht, die dann als plausible, aber falsche Aussagen in den generierten Text einfließen.

Besonders kritisch wird dies in Szenarien, in denen präzise und verifizierte Informationen erforderlich sind, wie beispielsweise im Kontext des Unternehmens. Hier zeigt sich der Bedarf an zusätzlichen Mechanismen, wie sie RAG bietet, um die Qualität und Zuverlässigkeit der abgerufenen Informationen zu erhöhen. Ein weiteres Problem ist die fehlende Aktualität der Trainingsdaten. Ein LLM, das 2022 trainiert wurde, kann keine Informationen aus dem Jahr 2023 oder später bieten. Dadurch entsteht eine signifikante Lücke, wenn es um sich schnell verändernde Themen geht, wie zum Beispiel neue wissenschaftliche Erkenntnisse, tagesaktuelle Nachrichten oder technologische Fortschritte.

Zielsetzung und Beitrag von RAG

Die zentrale Zielsetzung von RAG ist es, die Einschränkungen herkömmlicher LLMs zu überwinden, indem eine dynamische Integration von externen und kontextbezogenen Informationen ermöglicht wird. Dies bedeutet, dass ein LLM nicht nur auf das im Trainingsdatensatz gespeicherte Wissen zugreift, sondern aktuelle Informationen aus externen Quellen abruft, die dann in den Generierungsprozess einfließen. So kann die Genauigkeit und die Relevanz der Antworten erheblich gesteigert werden.

Das RAG-Framework besteht im Wesentlichen aus vier Hauptphasen: Pre-Retrieval, Retrieval, Post-Retrieval und Generierung. Jede dieser Phasen ist entscheidend für den Erfolg des gesamten Prozesses und spielt eine wichtige Rolle, um die besten Informationen zu finden, zu filtern und in den generierten Text einzubauen.

The Survey of Retrieval-Augmented Text Generation in LargeLanguage Models - YIZHENG HUANG and JIMMY X. HUANG, York University, Canada

Pre-Retrieval

In dieser Phase wird die Grundlage für die effektive Suche nach Informationen gelegt. Dies umfasst die Organisation und Indexierung von Daten, was bedeutet, dass die Informationen so strukturiert werden, dass sie leichter durchsucht werden können. Dazu gehören Prozesse wie die Tokenisierung, bei der der Text in einzelne Wörter oder Phrasen unterteilt wird, sowie die Normalisierung, bei der ähnliche Wörter vereinheitlicht werden, um die Suche zu vereinfachen. Ein weiterer wichtiger Schritt ist die Verwendung von Embeddings. Embeddings sind mathematische Repräsentationen von Wörtern, Phrasen oder sogar ganzen Dokumenten in einem Vektorraum. Diese Vektoren ermöglichen es, semantische Ähnlichkeiten zwischen verschiedenen Begriffen darzustellen, was für die nachfolgende Suche von großem Vorteil ist.

Eine spezielle Technik, die hierbei zum Einsatz kommt, ist die Vectorsuche. Im Gegensatz zur traditionellen Stichwortsuche verwendet die Vectorsuche diese Embeddings, um den semantischen Inhalt der Anfrage mit den vorhandenen Daten zu vergleichen. Das bedeutet, dass nicht nur exakte Schlüsselwörter gefunden werden, sondern auch kontextuell ähnliche Begriffe.

Zum Beispiel, wenn jemand nach 'Katzennahrung' sucht, wird die Vectorsuche auch Begriffe wie 'Katzenfutter', 'Tiernahrung für Katzen' oder 'Futter für Haustiere' als relevant identifizieren, selbst wenn diese Begriffe nicht wörtlich in der Anfrage vorkommen. Dadurch verbessert sich das Suchergebnis erheblich, da semantisch verwandte Inhalte leichter identifiziert werden können, auch wenn die spezifischen Wörter nicht exakt übereinstimmen. Das Ziel dieser Phase ist es, die Daten so aufzubereiten, dass spätere Suchen schnell und effizient ablaufen können und dass relevante Informationen, die möglicherweise nicht exakt mit der Anfrage übereinstimmen, dennoch gefunden werden.

Retrieval

In der Retrieval-Phase wird die Suche nach den relevanten Informationen durchgeführt, um die bestmöglichen Daten zu einer Anfrage abzurufen. Hierbei kommen unterschiedliche Strategien zum Einsatz, die das Ergebnis präziser und relevanter machen.

Eine einfache Retrieval-Strategie sucht direkt nach einer Reihe von Dokumenten, die am besten zur Anfrage passen. Iterative Methoden hingegen verbessern die Suche schrittweise, indem sie die Ergebnisse früherer Durchläufe nutzen, um die Relevanz zu erhöhen. Adaptive Retrieval-Methoden reagieren dynamisch auf Veränderungen in der Anfrage oder den Suchergebnissen, um die Suche anzupassen und bessere Resultate zu erzielen.

Moderne Retrieval-Modelle kombinieren oft traditionelle Suchalgorithmen mit semantischen Methoden, die auf den Inhalt und die Bedeutung einer Anfrage eingehen. Während traditionelle Algorithmen rein auf Schlüsselwörtern basieren, können semantische Modelle auch den Kontext und die Bedeutung besser erfassen. Dies ermöglicht es, nicht nur exakte Schlüsselwörter zu finden, sondern auch ähnliche und kontextuell relevante Begriffe zu identifizieren.

Zum Beispiel: Wenn jemand nach 'Katzennahrung' sucht, kann ein semantisches Modell zusätzlich Begriffe wie 'Katzenfutter', 'Tiernahrung für Katzen' oder 'Futter für Haustiere' als relevant erkennen. Diese semantische Suche stellt sicher, dass auch inhaltlich verwandte Informationen gefunden werden, selbst wenn die spezifischen Begriffe nicht genau übereinstimmen. Dadurch wird die Relevanz und Nützlichkeit der abgerufenen Informationen erheblich gesteigert.

Post-Retrieval

In der Post-Retrieval-Phase werden die zuvor gefundenen Informationen weiterverarbeitet, um ihre Qualität sicherzustellen und die besten Ergebnisse auszuwählen. Zuerst werden die abgerufenen Dokumente erneut bewertet und in ihrer Relevanz neu geordnet, was als Re-Ranking bezeichnet wird. Dieser Schritt hilft dabei, die relevantesten Dokumente an die Spitze der Liste zu setzen.

Danach folgt eine Filterung, bei der irrelevante oder qualitativ minderwertige Dokumente aussortiert werden. Das Ziel ist es, sicherzustellen, dass nur die präzisesten und nützlichsten Informationen in die nächste Phase, die Generierung, einfließen.

Zum Beispiel: Wenn jemand nach 'Katzennahrung' sucht, könnten bei der ersten Suche viele verschiedene Ergebnisse auftauchen – von Blogposts bis zu wissenschaftlichen Artikeln. In der Post-Retrieval-Phase werden die Dokumente neu bewertet und nur die hochwertigsten und relevantesten Informationen, wie etwa Studien über die beste Ernährung für Katzen, weiterverwendet, um die Qualität der generierten Antwort zu maximieren.

Generierung

In der Generierungsphase werden die abgerufenen Informationen genutzt, um eine präzise und verständliche Antwort zu erstellen. Dabei kombiniert das Sprachmodell die ursprüngliche Anfrage mit den relevanten Daten aus der Retrieval-Phase. Ziel ist es, eine Antwort zu formulieren, die sowohl sprachlich als auch inhaltlich hochwertig ist.

Die abgerufenen Informationen werden mit der ursprünglichen Frage kombiniert, um sicherzustellen, dass die Antwort sowohl relevant als auch umfassend ist. Das Sprachmodell stellt dabei eine Verbindung zwischen den neuen Informationen und dem Kontext der Anfrage her, sodass die Antwort kohärent und klar ist.

Es gibt verschiedene Methoden, um die Qualität der generierten Antwort zu erhöhen. Eine Möglichkeit ist die Verwendung von Feedback-Schleifen, in denen das Modell seine eigene Antwort überprüft und verfeinert. Eine weitere Methode sind Ensemble-Ansätze, bei denen mehrere Modelle gemeinsam eine Antwort generieren, um eine höhere Genauigkeit zu erreichen.

Zum Beispiel: Wenn jemand nach 'Katzennahrung' fragt, verwendet das Sprachmodell die abgerufenen Informationen über 'Katzenfutter', 'Tiernahrung für Katzen' und spezifische Ernährungsbedürfnisse, um eine detaillierte und hilfreiche Antwort zu formulieren. Durch die Kombination der Anfrage mit umfassenden, aktuellen Informationen stellt das Modell sicher, dass die Antwort den Bedürfnissen des Nutzers gerecht wird und eine hohe Qualität aufweist.

Technologien zur Implementierung von RAG

Es gibt verschiedene Technologien, die bei der Implementierung von RAG zum Einsatz kommen. Frameworks wie LangChain und LlamaIndex bieten modulare Komponenten, die eine einfache und flexible Implementierung ermöglichen.

LangChain: LangChain ist ein vielseitiges Framework, das die Integration verschiedener Module für Retrieval und Generierung unterstützt. Es ermöglicht die einfache Anpassung und Erweiterung der bestehenden Modelle, sodass Unternehmen gezielt auf spezifische Informationsquellen zugreifen können. Durch seine modulare Struktur können Entwickler problemlos verschiedene Funktionen hinzufügen, um den gesamten Prozess der Datengewinnung und Antwortgenerierung zu optimieren.

LlamaIndex: LlamaIndex bietet speziell optimierte Datenstrukturen, die den Retrieval-Prozess effizienter gestalten. Es hilft dabei, die abgerufenen Informationen besser zu organisieren und stellt sicher, dass nur die relevantesten Daten weiterverarbeitet werden. Durch die leistungsstarken Datenstrukturen von LlamaIndex kann die Suche schneller durchgeführt werden, was die Gesamtleistung des RAG-Systems erheblich verbessert. LlamaIndex ist besonders nützlich, wenn große Datenmengen in kurzer Zeit durchsucht werden müssen, da es die effiziente Verwaltung der Daten ermöglicht.

Durch die Nutzung vorhandener Toolkits können RAG-Implementierungen an verschiedene Anwendungsfälle angepasst werden. Diese Modularität ermöglicht es, den Einsatz von RAG flexibel zu gestalten und die Leistungsfähigkeit in unterschiedlichen Szenarien zu maximieren.

Bewertungskriterien für RAG-Systeme

Um die Effektivität eines RAG-Systems zu bewerten, sind verschiedene Kriterien relevant. Dazu gehören Kontextrelevanz, Antworttreue (wie genau die Antwort die Realität wiedergibt), Robustheit gegenüber Störungen und die Nutzerzufriedenheit.

Es gibt mehrere Evaluierungsframeworks, die speziell entwickelt wurden, um die Leistungsfähigkeit von RAG-Systemen standardisiert zu bewerten. Zu den bekanntesten gehören RAGAS, ARES und eRAG. Diese Frameworks nutzen standardisierte Metriken, um die Qualität und Effizienz der abgerufenen Informationen und der generierten Antworten zu messen. RAGAS zum Beispiel legt großen Wert auf die Kombination aus Retrieval- und Generierungsqualität und bewertet, wie gut die beiden Komponenten zusammenarbeiten, um hochwertige Antworten zu liefern. ARES konzentriert sich stärker auf die Robustheit des Systems, besonders in Szenarien mit unvollständigen oder widersprüchlichen Informationen, während eRAG die Konsistenz und Effizienz der Informationsverarbeitung analysiert.

Die Bewertung eines RAG-Systems erfolgt anhand verschiedener Metriken, die sowohl den Retrieval- als auch den Generierungsprozess messen. Zu den gängigen Retrieval-Metriken gehören Precision (Genauigkeit der abgerufenen relevanten Dokumente) und Recall (Vollständigkeit der relevanten Dokumente, die abgerufen wurden). Weitere Metriken wie Mean Average Precision (MAP) und Normalized Discounted Cumulative Gain (NDCG) bewerten, wie gut die wichtigsten und relevantesten Informationen priorisiert werden. Für die generierten Antworten wird oft der Exact Match (EM) verwendet, der misst, ob die Antwort genau der erwarteten Antwort entspricht. Der F1-Score ist eine weitere wichtige Metrik, die das Verhältnis zwischen Precision und Recall kombiniert, um die Gesamtqualität der Antworten zu bestimmen.

Besonders in spezialisierten Bereichen ist eine präzise Evaluierung unerlässlich. In der medizinischen Fragebeantwortung wird beispielsweise oft das Framework MIRAGE verwendet. Dieses Framework stellt sicher, dass die Antworten nicht nur inhaltlich korrekt, sondern auch auf die speziellen Bedürfnisse der Domäne zugeschnitten sind. Dies ist besonders wichtig, da in der Medizin die Richtigkeit und Vertrauenswürdigkeit der Informationen eine entscheidende Rolle spielt. Ein Fehler könnte hier weitreichende Folgen haben. Daher legt MIRAGE Wert darauf, dass alle Antworten sowohl auf fundierten Daten als auch auf den neuesten Erkenntnissen basieren. Auch in anderen Bereichen, wie dem Rechtswesen oder der Finanzwelt, sind spezialisierte Evaluierungen erforderlich, um sicherzustellen, dass die Antworten nicht nur korrekt, sondern auch kontextuell angemessen sind.

Herausforderungen und zukünftige Forschungsrichtungen

Die Implementierung von RAG steht vor verschiedenen Herausforderungen. Eine zentrale Herausforderung ist die Verifizierung der Quellen, um sicherzustellen, dass die abgerufenen Informationen zuverlässig sind. Oftmals stammen die Informationen aus einer Vielzahl von Quellen, die nicht immer den gleichen Qualitätsstandards entsprechen. Dies macht es erforderlich, Mechanismen zu entwickeln, die die Qualität und Vertrauenswürdigkeit der Daten sicherstellen. Eine mögliche Lösung könnte die Integration von Bewertungsmodellen sein, die die Glaubwürdigkeit von Quellen basierend auf ihrer Herkunft und ihrem Inhalt analysieren und bewerten.

Ein weiteres Problem sind die "semantischen Inkonsistenzen", die auftreten können, wenn die abgerufenen Informationen nicht genau zum Kontext der Anfrage passen. Solche Inkonsistenzen entstehen oft, wenn der Kontext der Anfrage nicht vollständig verstanden wird oder wenn die abgerufenen Daten in einem anderen Zusammenhang stehen. Eine Herausforderung besteht darin, die Suchanfragen so zu verfeinern, dass die abgerufenen Informationen inhaltlich passgenau sind. Hier könnten Techniken wie kontextuelles Re-Ranking und fortschrittliche semantische Analyse eine Lösung bieten, um sicherzustellen, dass die abgerufenen Daten den gestellten Anforderungen genau entsprechen.

Die Effizienzsteigerung bei Retrieval-Iterationen ist ebenfalls ein wichtiger Aspekt, um die Rechenzeit zu verkürzen und die Skalierbarkeit zu erhöhen. RAG-Systeme sind oft rechenintensiv, da sie auf große Datenmengen zugreifen und diese in Echtzeit verarbeiten müssen. Neue Ansätze zur Optimierung der Indexierung und zur Datenkomprimierung könnten hier eine Lösung darstellen, um den Prozess effizienter zu gestalten. Außerdem wird an kaskadierten Retrieval-Architekturen gearbeitet, die es ermöglichen, zunächst eine schnelle, grobe Suche durchzuführen, gefolgt von einer detaillierteren Analyse der vielversprechendsten Ergebnisse. Diese Ansätze können dazu beitragen, die Retrieval-Zeiten erheblich zu reduzieren.

In Zukunft wird erwartet, dass RAG nicht nur effizienter wird, sondern auch multimodale Daten integriert – das bedeutet, dass neben Text auch Bilder, Videos oder Audiodaten einbezogen werden können. Dies würde die Anwendungsbereiche von RAG erheblich erweitern, da das Modell in der Lage wäre, Informationen aus verschiedenen Formaten zusammenzuführen und eine umfassendere Antwort zu generieren. Zum Beispiel könnten in einem medizinischen Szenario nicht nur Texte über Behandlungsmethoden abgerufen werden, sondern auch medizinische Bilder zur Diagnostik berücksichtigt werden. Ebenso könnten in einem technischen Support-Szenario Videos zur Reparatur eines Geräts integriert werden, um die Nutzererfahrung zu verbessern. Die Integration von multimodalen Daten stellt allerdings zusätzliche Herausforderungen an die Verarbeitung und Verknüpfung dieser verschiedenen Datentypen, was ein spannendes Feld für zukünftige Forschungsarbeiten darstellt. Auch die Entwicklung von Technologien, die diese verschiedenen Datentypen effizient in den Generierungsprozess integrieren, wird eine Schlüsselrolle spielen, um die Leistungsfähigkeit von RAG weiter zu steigern.

Zusammenfassung der zentralen Vorteile von RAG

Retrieval-Augmented Generation ist eine leistungsstarke Erweiterung traditioneller LLMs, die durch die dynamische Integration von externen Informationen die Qualität und Relevanz der generierten Antworten erheblich verbessert. Diese Methode adressiert viele der Schwächen herkömmlicher LLMs und bietet eine zukunftsweisende Lösung für eine Vielzahl von Anwendungsfällen.

RAG stellt einen wichtigen Fortschritt in der Weiterentwicklung von LLMs dar. Insbesondere in Bereichen, in denen sich das Wissen schnell ändert, ermöglicht RAG den Zugang zu aktuellen und präzisen Informationen und macht die Modelle dadurch wertvoller.

Die Zukunft von RAG sieht vielversprechend aus. Mit der Weiterentwicklung der Technologie und der Integration multimodaler Daten wird RAG eine noch größere Rolle in der KI-Entwicklung einnehmen und zur Lösung komplexer Probleme in der Wissensgenerierung beitragen. Es ist zu erwarten, dass RAG künftig in noch mehr Anwendungsbereichen eingesetzt wird und dadurch einen wesentlichen Beitrag zur Weiterentwicklung moderner KI-Technologien leistet.

Du hast Interesse an einem Expertencall zu dem Thema?

Möchtest du mehr über das Thema erfahren? Fülle einfach das folgende Formular aus, und wir melden uns umgehend bei dir.

Portrait von Frederic Bauerfeind vor einer Glasfront.
Frederic Bauerfeind
Managing Director & Founder