Technologie

Ein genauerer Blick auf Anthropics neuesten Ansatz zur Überwindung des Kontextverlusts in RAG-Systemen

Lesezeit: 8 Min | Okt 15, 2024

Retrieval-Augmented Generation (RAG) Systeme sind zu einem Eckpfeiler bei der Integration von generativer KI mit Echtzeit-Unternehmensdaten geworden. Durch die Erweiterung großer Sprachmodelle (Large Language Models, LLMs) mit externen Wissensquellen ermöglichen RAG-Systeme genauere, kontextuell relevantere Antworten und verbessern so die Informationsgewinnung in strukturierten und unstrukturierten Unternehmensdaten erheblich.

Verständnis von Retrieval-Augmented Generation (RAG)

RAG-Systeme erweitern die Fähigkeiten von LLMs, indem sie externe Informationen durch einen strukturierten Prozess einbeziehen:

  • Chunking: Große Dokumente werden in kleinere, handhabbare Stücke, sogenannte Chunks, unterteilt. Dies macht die Daten einfacher zu verarbeiten und abzurufen.
  • Vektorisierung: Jeder Chunk wird mithilfe eines Embedding-Modells in eine numerische Vektoreinbettung umgewandelt. Diese Einbettungen erfassen die semantische Bedeutung des Textes und ermöglichen aussagekräftige Vergleiche zwischen verschiedenen Chunks.
  • Speicherung: Die Vektoreinbettungen werden zusammen mit Metadaten über den Originaltext in einer Vektordatenbank gespeichert.

Wenn ein Benutzer eine Anfrage stellt, wird diese in eine Vektoreinbettung umgewandelt und mit den gespeicherten Vektoren mithilfe von Ähnlichkeitssuchalgorithmen verglichen. Die relevantesten Chunks werden abgerufen und verwendet, um den Prompt des Benutzers zu erweitern, bevor eine Antwort vom LLM generiert wird. Dieser Ansatz verbessert die Genauigkeit und kontextuelle Relevanz der KI-Ausgaben, was ihn besonders wertvoll für Unternehmen macht, die effizient mit großen Datenmengen interagieren müssen.

Ein standardmäßiger Ablauf des Retrieval-Augmented-Generation (RAG)-Prozesses.

Es ist wichtig zu beachten, dass dieser beschriebene Typ von RAG-System, bei dem Vektordatenbanken zur Speicherung und zum Abruf von Daten verwendet werden, zu den beliebtesten Implementierungen gehört, aber nicht der einzige ist. Andere RAG-Systeme verwenden beispielsweise Konwledge Graphs zur Speicherung und zum Abruf von Informationen. Konwledge Graphs eignen sich besonders gut für die explizite Darstellung von Beziehungen zwischen Datenpunkten, was in bestimmten Unternehmenskontexten, in denen strukturierte Daten mit klaren Beziehungen zwischen Entitäten wertvoller sind als semantische Ähnlichkeit, besonders nützlich sein kann.

Die wesentliche Rolle verschiedener Suchtypen in RAG-Systemen

Das Verständnis der verschiedenen Arten von Suchmethoden ist entscheidend für die Optimierung von RAG-Systemen. Jeder Suchtyp bietet einzigartige Vor- und Nachteile, die beeinflussen, wie effektiv ein System Daten abrufen und interpretieren kann. In komplexen Unternehmensumgebungen, in denen Daten umfangreich und vielfältig sind, kann der Einsatz der geeigneten Suchtechnik die Relevanz und Genauigkeit der Informationsgewinnung erheblich beeinflussen. Lassen Sie uns die wichtigsten Suchtypen und ihre Rollen in RAG-Systemen untersuchen.

Erforschung verschiedener Suchtypen

  • Semantische Suche - ist eine Technik, die sich darauf konzentriert, die Bedeutung und Absicht hinter der Anfrage eines Benutzers zu verstehen, anstatt nur Schlüsselwörter abzugleichen. Sie liefert relevantere Ergebnisse, indem sie Faktoren wie Wortbeziehungen, Benutzerkontext und vorherige Suchen berücksichtigt, was sie besonders nützlich für die Bearbeitung komplexer Anfragen macht.
  • Schlüsselwortsuche - konzentriert sich darauf, exakte Übereinstimmungen zwischen den Wörtern in einer Anfrage und denen in einem Dokument zu finden. Sie ist unkompliziert, kann aber relevante Informationen verpassen, die anders ausgedrückt sind, im Vergleich zur semantischen Suche, die darauf abzielt, die Bedeutung und Absicht hinter einer Suche zu verstehen und Synonyme sowie verwandte Konzepte zu erfassen. Dies macht sie besser geeignet für die Bearbeitung komplexer Anfragen mit mehrdeutigen Begriffen oder implizierten Beziehungen. Oft werden Schlüsselwortsuche und semantische Suche in einem hybriden Suchansatz kombiniert, um die Abrufphase in RAG-Systemen zu optimieren.
  • Lexikalische Suche - ähnlich wie die Schlüsselwortsuche, beruht sie auf dem Abgleich von Wörtern und Phrasen basierend auf ihrer buchstäblichen Form, ohne zugrunde liegende Bedeutungen zu berücksichtigen. Die semantische Suche hingegen geht auf die Beziehungen und Bedeutungen zwischen Wörtern und Phrasen ein und bietet ein tieferes Verständnis des Inhalts.
  • Kontextuelle Suche - erweitert die traditionelle Suche, indem sie den Kontext des Benutzers berücksichtigt, wie z.B. Standort oder frühere Interaktionen. Während sich die semantische Suche auf die intrinsische Bedeutung der Anfrage selbst konzentriert, verwendet die kontextuelle Suche externe Hinweise über den Benutzer, um die Ergebnisse zu verfeinern. Man kann sich die kontextuelle Suche als eine personalisierte Schicht vorstellen, die dem semantischen Verständnis hinzugefügt wird.
  • Vektorsuche - stellt Text als mathematische Vektoren in einem hochdimensionalen Raum dar, was die Berechnung von Ähnlichkeiten basierend auf dem Abstand zwischen Vektoren ermöglicht. Während die semantische Suche Vektordarstellungen verwenden kann, ist sie ein breiteres Konzept, das verschiedene Techniken zur Bedeutungserfassung umfasst. Die Vektorsuche zeichnet sich bei der Handhabung unstrukturierter Daten aus, indem sie nuancierte Beziehungen zwischen Konzepten erfasst.

Herausforderungen mit RAG-Systemen

Ein bedeutendes Problem bei traditionellen RAG-Systemen besteht darin, dass einzelne Textabschnitte oft nicht genügend Kontext für einen genauen Abruf und ein genaues Verständnis bieten. Wenn Chunks zu klein sind oder von ihren umgebenden Informationen getrennt werden, liefern sie möglicherweise nicht genügend Details, um isoliert nützlich zu sein.

Ein Finanzbericht, der in Textabschnitte unterteilt ist.

Angenommen, eine Unternehmenswissensbasis enthält zahlreiche Finanzberichte verschiedener Unternehmen. Ein Beispiel für eine mögliche Abfrage könnte lauten: "Wie hoch war das Umsatzwachstum von ACME Corp im zweiten Quartal 2023?".

Ein relevanter Chunk in der Datenbank könnte lauten: "Der Umsatz des Unternehmens wuchs um 3% gegenüber dem Vorquartal."

Bei der Ähnlichkeitssuche wandelt das System die Anfrage des Benutzers und die gespeicherten Chunks in Vektoreinbettungen um und sucht nach Übereinstimmungen. Dieser Chunk gibt jedoch nicht an, auf welches Unternehmen oder Quartal er sich bezieht. In einer Datenbank mit ähnlichen Berichten verschiedener Unternehmen könnte das System Chunks von anderen Organisationen wie "XYZ Corp" oder "Global Tech Inc." abrufen. Die Ähnlichkeit der Sprache in diesen Dokumenten kann dazu führen, dass das System irrelevante Informationen abruft, was zu ungenauen oder irreführenden Antworten führt.

Dieses Problem entsteht, weil den Chunks spezifischer Kontext fehlt, was es für den Ähnlichkeitssuchalgorithmus schwierig macht, sie allein auf der Grundlage von Vektoreinbettungen zu unterscheiden.

Anthropics kontextueller Abrufansatz

Um diese Herausforderungen anzugehen, führt Anthropic das Konzept kontextuelles Retrieval ein. Anstatt sich auf isolierte Chunks zu verlassen, die möglicherweise wichtige Informationen vermissen lassen, schlagen sie vor, jedem Chunk einen chunk-spezifischen erklärenden Kontext voranzustellen, bevor er in die Vektordatenbank eingebettet wird.

Aber was genau sind kontextualisierte Chunks? Es sind Chunks, die mit zusätzlichen Informationen angereichert wurden, die Klarheit über ihren Inhalt und Ursprung schaffen. Dieser zusätzliche Kontext verwandelt mehrdeutige Chunks in detaillierte, in sich geschlossene Informationseinheiten, was tatsächlich den Unterschied zwischen einem erfolgreichen Abruf und einem gescheiterten ausmachen kann.

Implementierung kontextualisierter Chunks

In ihrem Blog[1] führte Anthropic nicht nur die Implementierungsmethode ein, die sie für den kontextualisierten Abruf verwendeten, sondern fügte sie auch ihrem Cookbook hinzu. Anstatt die Chunks manuell zu annotieren, fanden sie einen weiteren Anwendungsfall für ihr LLM, Claude, indem sie es zur automatischen Generierung des notwendigen Kontexts für jeden Chunk verwendeten und so den Prozess rationalisierten. Indem sie Claude einen Prompt und das gesamte Dokument, aus dem die Chunks abgeleitet wurden, zur Verfügung stellten, wiesen sie es an, eine prägnante kontextuelle Zusammenfassung (in der Regel 50-100 Token) für jeden Chunk basierend auf dem Gesamtdokument zu erstellen.

Beispiel für Kontextualisierung

Originaler Chunk: "Der Umsatz des Unternehmens wuchs um 3% gegenüber dem Vorquartal."

Kontextualisierter Chunk: "Dieser Chunk stammt aus einem SEC-Bericht über die Leistung von ACME Corp im Q2 2023; der Umsatz des Vorquartals betrug 314 Millionen Dollar. Der Umsatz des Unternehmens wuchs um 3% gegenüber dem Vorquartal."

Durch das Hinzufügen dieses Kontexts wird der Chunk selbsterklärend, was es dem Abrufsystem ermöglicht, ihn genauer mit der Anfrage des Benutzers abzugleichen.

Verbesserter Abruf mit kombinierten Suchmethoden

Anthropics beispielhafter Ansatz geht über traditionelle RAG-Implementierungen hinaus, indem er die Ähnlichkeitssuche auf kontextualisierten Vektoreinbettungen mit der BM25-Methode kombiniert, einer Ranking-Funktion, die lexikalische Übereinstimmungen verwendet, um präzise Wort- oder Phrasenübereinstimmungen zu finden. BM25 baut auf dem TF-IDF-Konzept (Term Frequency-Inverse Document Frequency) auf, das die Wortwichtigkeit in einem Dokument misst. Während BM25 typischerweise nicht in Standard-RAG-Systemen verwendet wird, bietet die Integration in diesem Fall eine hybride Suchfähigkeit, die sowohl semantisches Verständnis als auch exakte Schlüsselwortübereinstimmung nutzt.

In ihren Tests haben sie die Top 20 Chunks (Top k kann frei gewählt werden) mit dieser kombinierten Methode abgerufen. Dieser kombinierte Ansatz überwindet die Einschränkungen der ausschließlichen Verwendung der Ähnlichkeitssuche. Während Embedding-Modelle effektiv bei der Erfassung semantischer Beziehungen sind, können sie wichtige exakte Übereinstimmungen übersehen. Durch die Integration der lexikalischen Suche von BM25 stellt Anthropics Methode sowohl präzise Übereinstimmung als auch tieferes semantisches Verständnis sicher.

Ein maßgeschneiderter Retrieval-Augmented-Generation (RAG)-Prozessablauf, der kontextualisierte Textabschnitte verwendet.

Ergebnisse von Anthropics Tests

Anthropic führte vergleichende Tests durch, um die Effektivität ihres kontextuellen Abrufansatzes zu bewerten, und hier ist die Zusammenfassung der Ergebnisse:

  1. Standard-RAG mit kontextualisierten Einbettungen und kontextualisiertem BM25 - zeigte eine 49%ige Reduzierung der Abruffehlerraten im Vergleich zu traditionellen Methoden.
  2. RAG nur mit kontextualisierten Vektoreinbettungen - erreichte eine 35%ige Reduzierung der Abruffehler ohne die Einbeziehung des kontextuellen BM25.
  3. Erweitertes RAG mit zusätzlichem Reranking in der Post-Retrieval-Phase - durch die Weitergabe der Top 150 abgerufenen Chunks durch ein Reranking-Modell und die Auswahl der relevantesten 20 erreichten sie eine 67%ige Reduzierung der Abruffehler. Diese Methode, obwohl genauer, führt zusätzliche Rechenkosten und Latenzzeiten ein, die ebenfalls berücksichtigt werden müssen.

Kostenoptimierung mit Prompt-Caching

Während Anthropics kontextueller Abrufansatz die Genauigkeit verbessert, kann er aufgrund der zusätzlichen Kontextgenerierung die Rechenkosten erhöhen. Um dies abzumildern, nutzen sie Claudes Prompt-Caching-Funktion, die vor zwei Monaten veröffentlicht wurde. Prompt-Caching ermöglicht es in diesem Fall, das mit den zu kontextualisierenden Chunks verbundene Dokument in den Cache zu laden, sodass das Modell nicht jedes Mal das gesamte Dokument verarbeiten muss. Dies reduziert die Kosten pro Token für die Verarbeitung großer Dokumente erheblich.

Es ist wichtig zu beachten, dass Prompt-Caching eine separate Optimierung vom kontextualisierten Chunking-Ansatz ist. Während sie zusammen für Kosteneinsparungen verwendet werden können, kann jedes unabhängig funktionieren. Prompt-Caching allein hilft, Kosten in Szenarien zu reduzieren, in denen dieselben Dokumente häufig verarbeitet werden, was es zu einem wertvollen Werkzeug macht, auch ohne kontextualisierte Chunks.

Derzeit ist die Prompt-Caching-Funktion in Anthropics primärer API verfügbar und wird voraussichtlich bald auf Partner-Umgebungen wie AWS Bedrock und GCP Vertex ausgerollt. Diese Funktion hilft Unternehmen, Rechenkosten effektiv zu verwalten.

Reale Anwendungsfälle für Unternehmen

Für Unternehmen ist die Fähigkeit, genaue und kontextuell relevante Informationen abzurufen, besonders in Szenarien mit großen Wissensbasen wie Ticketing-Systemen oder Helpdesk-Plattformen von entscheidender Bedeutung. In diesen Umgebungen stellen Benutzer oft Anfragen, die inkonsistent sind oder denen es an Präzision mangelt. Beispielsweise könnten Abfragen wie: "Wie setze ich mein Passwort für das HR-Portal zurück?" oder "Was ist der Status meines letzten Support-Tickets?" gestellt werden.

Die Implementierung von Anthropics kontextuellem Abrufansatz in solchen Systemen bietet greifbare Vorteile:

  1. Verbesserte Genauigkeit beim Informationsabruf: Durch die Bereitstellung kontextreicher Chunks kann das System Benutzeranfragen besser mit den richtigen Informationen abgleichen, selbst wenn die Anfragen vage oder unvollständig sind.
  2. Verbesserte Benutzererfahrung: Benutzer erhalten genauere und hilfreichere Antworten, was Frustration reduziert und die Zufriedenheit erhöht.
  3. Skalierbarkeit: Unternehmen können große Mengen unstrukturierter Daten aus mehreren Quellen verarbeiten, ohne die Leistung zu beeinträchtigen.
  4. Effizienz im Kundensupport: Support-Teams können das System nutzen, um schnell relevante Informationen zu finden, was die Reaktionszeiten verkürzt und die Arbeitsbelastung reduziert.

Zum Beispiel kann in einem Helpdesk-Szenario die Anfrage eines Benutzers zu einem Softwarefehler mit der präzisen Lösung aus einem technischen Handbuch abgeglichen werden, selbst wenn die Beschreibung des Benutzers nicht die exakte Terminologie verwendet, die in der Dokumentation zu finden ist. Die kontextualisierten Chunks stellen sicher, dass relevante Lösungen abgerufen werden, was die Effektivität und Zuverlässigkeit des bereitgestellten Supports verbessert.

Andere RAG-Optimierungstechniken

Über Anthropics kontextuellen Abruf hinaus können mehrere andere Optimierungsstrategien RAG-Systeme verbessern:

  1. Fortgeschrittene Chunking-Techniken: Implementierung von semantischem Chunking, um sicherzustellen, dass Chunks kohärente und vollständige Gedanken enthalten, was die Qualität der Einbettungen verbessert.
  2. Query-Umschreibung: Verwendung von Sprachmodellen zur Verfeinerung und Erweiterung von Benutzeranfragen, um sie präziser und besser für den Abruf geeignet zu machen.
  3. Multi-Query RAG: Aufteilen komplexer Anfragen in mehrere Teilanfragen, um umfassende Informationen aus verschiedenen Quellen oder Zeiträumen abzurufen.
  4. Multi-Hop-Retrieval: Ermöglicht dem System, einer Argumentationskette über verschiedene Informationsstücke hinweg zu folgen, was für die Beantwortung komplexer Fragen, die mehrere Dokumente umfassen, wesentlich ist.
  5. Hybride Suche: Kombination von Vektorsuche mit schlüsselwortbasierten und semantischen Suchtechniken, um die Stärken jeder Methode zu nutzen.
  6. Query-Klassifizierung: Implementierung von Modulen zur Bestimmung, ob für eine gegebene Anfrage ein Abruf notwendig ist, was Effizienz und Antwortzeiten verbessert.

RAG-Optimierungen sind der Schlüssel für produktionsreife generative KI-Anwendungen

Innovationen in der RAG-Optimierung, wie Anthropics kontextueller Abrufansatz, sind entscheidend für die skalierbare Lösung realer Geschäftsprobleme. Unternehmen kämpfen oft mit fragmentierten Datenquellen, inkonsistenten Benutzeranfragen und der Notwendigkeit eines effizienten, genauen Informationsabrufs.

Durch die Verbesserung von RAG-Systemen zur Bewältigung dieser Herausforderungen können Unternehmen:

  1. KI-Lösungen effektiv skalieren: KI-Anwendungen einsetzen, die auch bei wachsenden Datenmengen und komplexer werdenden Anfragen eine hohe Leistung aufrechterhalten.
  2. Betriebskosten reduzieren: Kostensparende Maßnahmen wie Prompt-Caching nutzen, ohne Funktionalität oder Genauigkeit zu beeinträchtigen.
  3. Entscheidungsfindung und Betriebsabläufe verbessern: Zugang zu präzisen, kontextreichen Informationen ermöglicht eine bessere Entscheidungsfindung in der gesamten Organisation.
  4. Kundensupport und Wissensmanagement verbessern: Schnellere, genauere Antworten auf Kundenanfragen und interne Anfragen bereitstellen, was Zufriedenheit und Produktivität steigert.

Die Investition in RAG-Optimierung verwandelt generative KI-Anwendungen von experimentellen Werkzeugen in praktische, skalierbare Lösungen. Für Unternehmen bedeutet dies, das volle Potenzial der KI zu nutzen, um Wachstum voranzutreiben, Betriebsabläufe zu optimieren, echte Probleme zu lösen und messbare Ergebnisse in einer wettbewerbsintensiven Geschäftslandschaft zu liefern.

[1] - https://www.anthropic.com/news/contextual-retrieval

Hier sind weitere coole Artikel

Lesen Sie, was als nächstes kommt