Was ist RAG: Eine umfassende Einführung in Retrieval Augmented Generation

Was ist RAG: Eine umfassende Einführung in Retrieval Augmented Generation

Erkunden Sie die Entwicklung und Fortschritte von Retrieval-Augmented Generation (RAG)-Systemen. Erfahren Sie, wie RAG große Sprachmodelle (LLMs) mit externem Wissen verbessert.

Einführung

Retrieval Augmented Generation (RAG) erweist sich als vielversprechende Lösung, um Herausforderungen bei der Arbeit mit großen Sprachmodellen (LLMs) zu bewältigen, darunter Wissenslücken in bestimmten Domänen, Probleme mit der Faktentreue und Halluzinationen. Durch die Integration externer Wissensquellen wie Datenbanken verbessert RAG LLMs und macht sie besonders wertvoll in wissensintensiven Umgebungen oder domänenspezifischen Anwendungen, die aktuelles Wissen erfordern. Im Gegensatz zu anderen Methoden erfordert RAG kein erneutes Training der LLMs für bestimmte Aufgaben, was ein entscheidender Vorteil ist. Die jüngste Popularität, insbesondere in Konversationsagenten, unterstreicht seine Relevanz.

Eine aktuelle Studie von Gao et al. (2023) liefert wertvolle Einblicke in die wichtigsten Erkenntnisse, praktischen Implikationen und modernsten Ansätze von RAG. Die Studie untersucht verschiedene Komponenten von RAG-Systemen, darunter Retrieval-, Generierungs- und Augmentierungstechniken, und betrachtet deren Bewertungsmethoden, Anwendungen und zugehörige Technologien.

Was ist RAG?

Retrieval-Augmented Generation (RAG) verbessert die Leistung großer Sprachmodelle, indem Referenzen aus maßgeblichen externen Wissensbasen einbezogen werden, die die umfangreichen Trainingsdaten des Modells ergänzen. Große Sprachmodelle (LLMs) nutzen riesige Datensätze und Milliarden von Parametern, um Antworten für Aufgaben wie Fragenbeantwortung, Sprachübersetzung und Textvervollständigung zu generieren. RAG erweitert die Fähigkeiten von LLMs, indem es sie an spezifische Domänen oder interne Unternehmenswissensbasen anpasst, ohne dass ein erneutes Modelltraining erforderlich ist. Dieser Ansatz bietet eine kosteneffiziente Möglichkeit, die LLM-Ausgabe zu verbessern, um ihre Relevanz, Genauigkeit und Nützlichkeit in verschiedenen Kontexten sicherzustellen.

Kernkomponenten von RAG

Wir können den Prozess in die folgenden Schritte/Komponenten unterteilen:

  1. Eingabe: Dies bezieht sich auf die an das LLM-System gestellte Frage. Ohne RAG antwortet das LLM direkt auf diese Frage.
  2. Indizierung: Wenn RAG eingesetzt wird, wird eine Reihe verwandter Dokumente indiziert. Dies umfasst das Aufteilen der Dokumente in Chunks, das Erstellen von Embeddings für diese Chunks und die anschließende Indizierung in einem Vektor-Store. Während der Inferenz wird die Abfrage ähnlich eingebettet.
  3. Retrieval: Relevante Dokumente werden abgerufen, indem die Abfrage mit den indizierten Vektoren verglichen wird, was zu einer Auswahl von „relevanten Dokumenten“ führt.
  4. Generierung: Die abgerufenen Dokumente werden mit der ursprünglichen Eingabeaufforderung zusammengeführt, um zusätzlichen Kontext zu liefern. Dieser kombinierte Text und die Eingabeaufforderung werden dann in das Modell zur Antwortgenerierung eingegeben, was zur endgültigen Ausgabe für den Benutzer führt.

In einem gegebenen Beispiel kann die alleinige Verwendung des Modells ohne RAG möglicherweise nicht angemessen antworten, da aktuelles Wissen fehlt. Umgekehrt ermöglicht die Verwendung von RAG dem System, auf die notwendigen Informationen zuzugreifen, um die Frage genau zu beantworten.

RAG-Paradigmen

In den letzten Jahren gab es eine Entwicklung der RAG-Systeme, die von Naive RAG über Advanced RAG bis hin zu Modular RAG reicht. Diese Fortschritte zielten darauf ab, spezifische Herausforderungen in Bezug auf Leistung, Kosten und Effizienz zu bewältigen.

Naive RAG

Naive RAG arbeitet mit dem herkömmlichen Prozess der Indizierung, des Retrievals und der Generierung, wie oben beschrieben. Im Wesentlichen verwendet es die Benutzereingabe, um relevante Dokumente abzufragen, die dann mit einer Eingabeaufforderung kombiniert und dem Modell zur Generierung einer endgültigen Antwort bereitgestellt werden. Wenn die Anwendung mehrstufige Dialoginteraktionen beinhaltet, kann der Gesprächsverlauf in die Eingabeaufforderung integriert werden.

Naive RAG hat jedoch seine Grenzen, darunter Probleme mit niedriger Präzision (falsch zugeordnete abgerufene Chunks) und niedrigem Recall (fehlende Abrufung aller relevanten Chunks). Es besteht auch das Risiko, dass das LLM mit veralteten Informationen gefüttert wird, ein Hauptproblem, das RAG-Systeme ursprünglich lösen sollen. Dies kann zu Halluzinationsproblemen und zur Generierung schlechter und ungenauer Antworten führen.

Darüber hinaus können bei der Implementierung der Augmentierung Bedenken hinsichtlich Redundanz und Wiederholung auftreten. Die Verarbeitung mehrerer abgerufener Passagen erfordert Überlegungen zur Sortierung und Abstimmung von Stil und Ton. Eine weitere große Herausforderung besteht darin, sicherzustellen, dass die Generierungsaufgabe nicht übermäßig auf die augmentierten Informationen angewiesen ist, was dazu führen könnte, dass das Modell lediglich den abgerufenen Inhalt wiederholt.

Advanced RAG

Advanced RAG bietet Lösungen für die bei Naive RAG beobachteten Mängel, insbesondere durch die Verbesserung der Retrieval-Qualität. Diese Verbesserung umfasst Optimierungen in den Phasen vor dem Retrieval, während des Retrievals und nach dem Retrieval.

Die Pre-Retrieval-Phase umfasst die Verfeinerung der Datenindizierung durch fünf Schlüsselphasen: Verbesserung der Daten granularität, Optimierung der Indexstrukturen, Hinzufügen von Metadaten, Ausrichtungsoptimierung und gemischtes Retrieval. Diese Maßnahmen zielen darauf ab, die Qualität der indizierten Daten zu erhöhen.

Eine weitere Verbesserung in der Retrieval-Phase kann durch die Optimierung des Embedding-Modells selbst erreicht werden. Diese Optimierung beeinflusst direkt die Qualität der Kontext-Chunks. Strategien können das Feintuning von Embeddings zur Verbesserung der Retrieval-Relevanz oder die Verwendung dynamischer Embeddings, die kontextuelle Nuancen besser erfassen (z. B. das Modell embeddings-ada-02 von OpenAI), umfassen.

Die Post-Retrieval-Optimierung konzentriert sich auf die Umgehung von Kontextfensterbeschränkungen und die Verwaltung von verrauschten oder ablenkenden Informationen. Ein gängiger Ansatz zur Bewältigung dieser Herausforderungen ist das Re-Ranking, das Techniken wie das Verschieben relevanten Kontexts an die Ränder der Eingabeaufforderung oder die Neuberechnung der semantischen Ähnlichkeit zwischen der Abfrage und relevanten Text-Chunks umfasst. Techniken zur Eingabeaufforderungskompression können ebenfalls zur Bewältigung dieser Probleme beitragen.

Modular RAG

Modular RAG verbessert, wie der Name schon sagt, funktionale Module innerhalb des Retrieval-Augmented-Generation-Frameworks. Es umfasst die Integration von Modulen wie einem Suchmodul für das Ähnlichkeits-Retrieval und die Anwendung von Feintuning im Retriever. Sowohl Naive RAG als auch Advanced RAG können als spezifische Instanzen von Modular RAG betrachtet werden, die aus festen Modulen bestehen. Erweitertes RAG führt jedoch zusätzliche Module wie Suche, Speicher, Fusion, Routing, Vorhersage und Aufgabenadapter ein, die jeweils unterschiedliche Herausforderungen adressieren. Diese Module können neu konfiguriert werden, um sich an spezifische Aufgabenkontexte anzupassen, was Modular RAG mehr Vielfalt und Flexibilität verleiht. Diese Flexibilität ermöglicht das Hinzufügen, Ersetzen oder Anpassen von Modulen je nach Aufgabenanforderungen.

Mit der erhöhten Flexibilität beim Aufbau von RAG-Systemen wurden verschiedene Optimierungstechniken vorgeschlagen, um RAG-Pipelines zu verfeinern:

  1. Hybride Suche: Dieser Ansatz kombiniert Suchtechniken wie die schlüsselwortbasierte Suche und die semantische Suche, um relevante und kontextreiche Informationen abzurufen, was besonders für die Bewältigung verschiedener Abfragetypen und Informationsbedürfnisse nützlich ist.
  2. Rekursives Retrieval und Abfrage-Engine: Dies beinhaltet einen rekursiven Retrieval-Prozess, der mit kleinen semantischen Chunks beginnt und schrittweise größere Chunks abruft, um den Kontext anzureichern, und so ein Gleichgewicht zwischen Effizienz und Kontextreichtum herstellt.
  3. StepBack-Prompt: Diese Eingabeaufforderungstechnik ermöglicht es LLMs, Konzepte und Prinzipien zu abstrahieren und die Argumentation auf fundiertere Antworten zu lenken. Die Übernahme dieser Technik innerhalb eines RAG-Frameworks ermöglicht es LLMs, sich über spezifische Instanzen hinauszubewegen und bei Bedarf allgemeiner zu argumentieren.
  4. Sub-Queries: Für verschiedene Szenarien können unterschiedliche Abfragestrategien wie Baumabfragen oder das sequentielle Abfragen von Chunks eingesetzt werden. Beispielsweise bietet LlamaIndex eine Sub-Question-Query-Engine, die eine Abfrage in mehrere Fragen aufteilt, die verschiedene relevante Datenquellen nutzen.
  5. Hypothetische Dokumenten-Embeddings (HyDE): HyDE generiert eine hypothetische Antwort auf eine Abfrage, bettet sie ein und nutzt sie, um Dokumente abzurufen, die der hypothetischen Antwort ähneln, anstatt die Abfrage direkt zu verwenden.

Framework von RAG

Dieser Abschnitt fasst die bedeutenden Fortschritte bei den Komponenten zusammen, aus denen ein RAG-System besteht: Retrieval, Generierung und Augmentierung.

Retrieval

Das Retrieval in einem RAG-System umfasst das Abrufen hochrelevanter Kontexte aus einem Retriever, der auf verschiedene Weise verbessert werden kann:

Verbesserung der semantischen Repräsentationen:

Die Verbesserung von Chunking-Strategien ist entscheidend für die Auswahl der am besten geeigneten Chunking-Strategie basierend auf dem Inhalt und den Anwendungsanforderungen. Verschiedene Modelle können mit unterschiedlichen Blockgrößen hervorragende Ergebnisse liefern, z. B. Sentence Transformers für einzelne Sätze und text-embedding-ada-002 für Blöcke mit 256 oder 512 Token. Häufig wird mit verschiedenen Chunking-Strategien experimentiert, um das Retrieval in einem RAG-System zu optimieren, wobei Faktoren wie Benutzerfragenlänge, Anwendung und Token-Grenzen berücksichtigt werden.

Das Feintuning von Embedding-Modellen kann für spezialisierte Domänen erforderlich sein, um sicherzustellen, dass Benutzeranfragen genau verstanden werden. Embedding-Modelle wie das von BAAI entwickelte BGE-large-EN können für Domänenwissen oder spezifische nachgelagerte Aufgaben feinabgestimmt werden, um die Retrieval-Relevanz zu optimieren.

Ausrichtung von Abfragen und Dokumenten:

Techniken zur Abfrageumschreibung wie Query2Doc, ITER-RETGEN und HyDE konzentrieren sich auf die Verfeinerung von Abfragen, denen semantische Informationen fehlen oder die unpräzise Formulierungen enthalten.

Die Embedding-Transformation optimiert Abfrage-Embeddings, um sie mit einem latenten Raum auszurichten, der enger mit der aktuellen Aufgabe verbunden ist.

Ausrichtung von Retriever und LLM:

Das Feintuning von Retrievern nutzt Rückkopplungssignale von LLMs, um Retrieval-Modelle zu verfeinern. Beispiele sind der Augmentation Adapted Retriever (AAR), REPLUG und UPRISE.

Die Integration externer Adapter wie PRCA, RECOMP und PKG unterstützt den Ausrichtungsprozess zwischen Retrievern und LLMs.

Generierung

Der Generator in einem RAG-System spielt eine zentrale Rolle bei der Umwandlung abgerufener Informationen in kohärenten Text und bildet letztendlich die endgültige Ausgabe des Modells. Dieser Prozess beinhaltet oft verschiedene Eingabedaten, was Bemühungen zur Verfeinerung der Anpassung des Sprachmodells an die aus Abfragen und Dokumenten abgeleitete Eingabe erfordert. Diese Verfeinerungen können durch Post-Retrieval-Prozesse und Feintuning erreicht werden:

Post-Retrieval mit eingefrorenem LLM: Dieser Ansatz konzentriert sich auf die Verbesserung der Qualität der Retrieval-Ergebnisse, ohne das LLM selbst zu modifizieren. Operationen wie Informationskompression und Ergebnis-Reranking werden eingesetzt. Die Informationskompression hilft, Rauschen zu reduzieren, Kontextlängenbeschränkungen zu adressieren und die Generierungseffekte zu verbessern, während das Reranking Dokumente neu ordnet, um die relevantesten Elemente an die Spitze zu setzen.

Feintuning des LLM für RAG: Eine weitere Optimierung oder Feintuning des Generators stellt sicher, dass der generierte Text natürlich ist und die abgerufenen Dokumente effektiv genutzt werden, wodurch die Gesamtleistung des RAG-Systems verbessert wird.

Augmentierung

Die Augmentierung umfasst den Prozess der nahtlosen Integration von Kontext aus abgerufenen Passagen in die laufende Generierungsaufgabe. Bevor wir uns eingehender mit dem Augmentierungsprozess, einschließlich seiner Phasen und Daten, befassen, erstellen wir zunächst eine Taxonomie der Kernkomponenten von RAG.

Retrieval-Augmentierung kann in verschiedenen Phasen angewendet werden, einschließlich Pre-Training, Feintuning und Inferenz.

Augmentierungsphasen: Beispielsweise veranschaulicht RETRO ein System, das Retrieval-Augmentierung für das groß angelegte Pre-Training von Grund auf nutzt, indem ein zusätzlicher Encoder auf Basis externen Wissens integriert wird. Feintuning kann auch mit RAG integriert werden, um RAG-Systeme zu verbessern und zu verfeinern. Während der Inferenzphase werden zahlreiche Techniken eingesetzt, um abgerufene Inhalte effektiv zu integrieren, um spezifische Aufgabenanforderungen zu erfüllen und den RAG-Prozess weiter zu verfeinern.

Augmentierungsquelle: Die Effektivität eines RAG-Modells hängt stark von der Auswahl der Augmentierungsdatenquellen ab. Diese Quellen können in unstrukturierte, strukturierte und LLM-generierte Daten kategorisiert werden.

Augmentierungsprozess: Zur Bewältigung komplexer Probleme wie mehrstufiger Argumentation wurden verschiedene Methoden vorgeschlagen:

  1. Iteratives Retrieval beinhaltet die Durchführung mehrerer Retrieval-Zyklen, um die Tiefe und Relevanz der Informationen anzureichern. Bemerkenswerte Ansätze, die diese Methode nutzen, sind RETRO und GAR-meets-RAG.
  2. Rekursives Retrieval baut iterativ auf der Ausgabe eines Retrieval-Schritts als Eingabe für einen anderen auf und ermöglicht eine tiefere Exploration relevanter Informationen für komplexe Abfragen (z. B. akademische Forschung und Rechtsfallanalyse). Bemerkenswerte Ansätze sind IRCoT und Tree of Clarifications.
  3. Adaptives Retrieval passt den Retrieval-Prozess an spezifische Anforderungen an, indem optimale Zeitpunkte und Inhalte für das Retrieval identifiziert werden. Bemerkenswerte Ansätze, die diese Methode nutzen, sind FLARE und Self-RAG.

Die folgende Abbildung bietet eine umfassende Darstellung der RAG-Forschung und veranschaulicht verschiedene Aspekte der Augmentierung, einschließlich Phasen, Quellen und Prozesse.

RAG-Bewertung

Die Bewertung der Leistung von RAG-Modellen in verschiedenen Anwendungsszenarien ist entscheidend für das Verständnis und die Optimierung ihrer Effektivität. Traditionell konzentrierte sich die Bewertung von RAG-Systemen auf die Messung ihrer Leistung in nachgelagerten Aufgaben mit aufgabenspezifischen Metriken wie F1 und EM. RaLLe zeichnet sich als bemerkenswertes Framework für die Bewertung Retrieval-augmentierter großer Sprachmodelle in wissensintensiven Aufgaben aus.

Bewertungsziele in RAG umfassen sowohl Retrieval als auch Generierung und zielen darauf ab, die Qualität sowohl des abgerufenen Kontexts als auch des generierten Inhalts zu bewerten. Üblicherweise verwendete Metriken zur Bewertung der Retrieval-Qualität stammen aus Bereichen wie Empfehlungssystemen und Informationsretrieval, einschließlich NDCG und Hit Rate. Die Bewertung der Generierungsqualität umfasst die Bewertung von Aspekten wie Relevanz und Schädlichkeit für unbeschriftete Inhalte oder Genauigkeit für beschriftete Inhalte. RAG-Bewertungsmethoden können manuelle und automatische Ansätze umfassen.

Die Bewertung eines RAG-Frameworks konzentriert sich typischerweise auf drei primäre Qualitätsbewertungen und vier Fähigkeiten. Die Qualitätsbewertungen umfassen die Messung der Kontextrelevanz (Präzision und Spezifität des abgerufenen Kontexts), der Antworttreue (Treue der Antworten zum abgerufenen Kontext) und der Antwortrelevanz (Relevanz der Antworten zu den gestellten Fragen). Darüber hinaus helfen vier Fähigkeiten, die Anpassungsfähigkeit und Effizienz eines RAG-Systems zu messen: Rauschrobustheit, negative Zurückweisung, Informationsintegration und kontrafaktische Robustheit. Nachfolgend finden Sie eine Zusammenfassung der Metriken, die zur Bewertung verschiedener Aspekte eines RAG-Systems verwendet werden:

Verschiedene Benchmarks wie RGB und RECALL werden zur Bewertung von RAG-Modellen verwendet. Tools wie RAGAS, ARES und TruLens wurden entwickelt, um den Bewertungsprozess von RAG-Systemen zu automatisieren. Einige dieser Systeme verwenden LLMs, um bestimmte Qualitätsbewertungen wie oben definiert zu ermitteln.

Herausforderungen und Zukunft von RAG

In diesem Überblick haben wir verschiedene Forschungsaspekte von RAG und verschiedene Strategien zur Verbesserung seiner Retrieval-, Augmentierungs- und Generierungskomponenten untersucht. Hier sind einige Herausforderungen, die von Gao et al., 2023 hervorgehoben wurden, während wir RAG-Systeme weiterentwickeln und verbessern:

  1. Kontextlänge: Da LLMs die Größe des Kontextfensters kontinuierlich erweitern, stellt die Anpassung von RAG zur Sicherstellung der Erfassung hochrelevanter und entscheidender Kontexte eine Herausforderung dar.
  2. Robustheit: Die Behandlung kontrafaktischer und adversarialer Informationen ist entscheidend für die Messung und Verbesserung der Robustheit von RAG-Systemen.
  3. Hybride Ansätze: Die laufende Forschung zielt darauf ab, besser zu verstehen, wie die Verwendung von RAG und feinabgestimmten Modellen optimiert werden kann.
  4. Erweiterung der LLM-Rollen: Es besteht ein wachsendes Interesse daran, die Rolle und die Fähigkeiten von LLMs zu erweitern, um RAG-Systeme weiter zu verbessern.
  5. Skalierungsgesetze: Die Untersuchung von LLM-Skalierungsgesetzen und deren Anwendung auf RAG-Systeme bleibt ein Bereich, der weiteres Verständnis erfordert.
  6. Produktionsreife RAG-Systeme: Die Entwicklung produktionsreifer RAG-Systeme erfordert technische Exzellenz in verschiedenen Bereichen, einschließlich Leistung, Effizienz, Datensicherheit und Datenschutz.
  7. Multimodales RAG: Während sich die RAG-Forschung hauptsächlich auf textbasierte Aufgaben konzentriert hat, besteht ein zunehmendes Interesse daran, die Modalitäten zu erweitern, um ein breiteres Spektrum von Domänen wie Bild, Audio, Video und Code zu unterstützen.
  8. Bewertung: Die Erstellung komplexer Anwendungen mit RAG erfordert nuancierte Metriken und Bewertungswerkzeuge zur Bewertung der kontextuellen Relevanz, Kreativität, Inhaltsvielfalt, Faktentreue und mehr. Darüber hinaus besteht ein Bedarf an verbesserter Interpretierbarkeitsforschung und Werkzeugen für RAG.

Wie man RAG mit großen Sprachmodellen integriert

Die Implementierung von Retrieval-Augmented Generation (RAG) mit großen Sprachmodellen (LLMs) umfasst mehrere Schritte, einschließlich der Vorbereitung des Datensatzes und der Integration in das LLM-Setup. Dieser Prozess ermöglicht es dem LLM, Retrieval-Techniken zu nutzen und genauere und kontextuell relevantere Antworten zu generieren.

Erfahren Sie in unserem Blog, wie Sie Ihr LLM mit der RAG-Technik integrieren: Schritt-für-Schritt-Anleitung zur Integration von Retrieval-Augmented Generation (RAG) mit großen Sprachmodellen

Quelle: novita.ai

Fazit

Zusammenfassend lässt sich sagen, dass die Entwicklung von RAG-Systemen rasant war, gekennzeichnet durch die Entstehung fortschrittlicher Paradigmen, die Anpassungsmöglichkeiten bieten und die Leistung und Nützlichkeit in verschiedenen Bereichen verbessern. Die steigende Nachfrage nach RAG-Anwendungen hat die Entwicklung von Methoden zur Verbesserung seiner verschiedenen Komponenten vorangetrieben. Von hybriden Methoden bis zum Self-Retrieval wird derzeit eine breite Palette von Forschungsbereichen in modernen RAG-Modellen untersucht.

novita.ai, die Komplettlösung für grenzenlose Kreativität, die Ihnen Zugang zu über 100 APIs bietet. Von Bildgenerierung und Sprachverarbeitung bis hin zur Audioverbesserung und Videobearbeitung – günstig nach Verbrauch – befreit Sie von der GPU-Wartung, während Sie Ihre eigenen Produkte entwickeln. Testen Sie es kostenlos.

Empfohlene Lektüre

Was ist der Unterschied zwischen LLM und GPT

LLM Leaderboard 2024: Vorhersagen enthüllt

Novita AI LLM Inference Engine: Der höchste Durchsatz und die günstigste Inferenz auf dem Markt