Was ist Retrieval Augmented Generation (RAG) in KI?

Retrieval-Augmented Generation (RAG) ist eine Methode, um eine neue Datenquelle zu einem Large Language Model (LLM) hinzuzufügen, ohne diese neu zu trainieren.

Was ist Retrieval Augmented Generation (RAG) in KI?

Retrieval-Augmented Generation (RAG) ist der Prozess der Optimierung eines Large Language Models (LLM) für die Verwendung in einem bestimmten Kontext, ohne dass es vollständig neu trainiert werden muss, indem ihm Zugang zu einer für diesen Kontext relevanten Wissensdatenbank gewährt wird. RAG ist eine kostengünstige Möglichkeit, ein LLM schnell an einen speziellen Anwendungsfall anzupassen. Dies ist eine der Methoden, die Entwicklerinnen und Entwickler zur Feinabstimmung eines Modells der künstlichen Intelligenz (KI) verwenden können.

LLMs werden mit großen Datenmengen trainiert, sind aber möglicherweise nicht in der Lage, die spezifischen Informationen zu generieren, die in bestimmten Umgebungen benötigt werden. Sie haben ein allgemeines Verständnis dafür, wie menschliche Sprache funktioniert, verfügen aber nicht immer über spezifisches Fachwissen für ein bestimmtes Themengebiet. RAG ist eine Möglichkeit, dies zu korrigieren.

Stellen Sie sich vor, ein Automechaniker geht an einem Chevy, Baujahr 1964. Auch wenn der Techniker nach Tausenden von Praxisstunden über viel allgemeines Fachwissen in der Wartung von Autos verfügt, benötigt er für die effektive Wartung des Autos immer noch die Anleitung für das Auto. Der Automechaniker muss sich jedoch nicht erneut als Automechaniker zertifizieren lassen – er kann einfach das Handbuch durchlesen und dann das allgemeine Wissen über Autos anwenden, die er bereits besitzt.

Bei RAG ist es ähnlich. Es stellt einem LLM ein „Handbuch“ – oder eine Wissensdatenbank – zur Verfügung, damit das LLM sein allgemeines Wissen an den spezifischen Anwendungsfall anpassen kann. Ein allgemeines LLM kann zum Beispiel erklären, wie API-Abfragen grundsätzlich funktionieren, aber nicht unbedingt, wie genau die API einer bestimmten Anwendung abgefragt wird. Aber mit RAG könnte dieses LLM für die Verwendung mit dieser Anwendung angepasst werden, indem es mit der technischen Dokumentation der Anwendung verknüpft wird.

Wie funktioniert RAG?

Üblicherweise nutzt ein LLM seine bestehenden Trainingsdaten und Parameter, um eine eingehende Anfrage zu verarbeiten.

RAG ermöglicht es dem LLM, auf „externe Daten“ zu verweisen – eine Datenbank, die nicht im Trainingsdatensatz des LLM enthalten ist. Im Gegensatz zur normalen Funktionsweise eines LLM verwendet ein LLM mit RAG externe Daten, um seine Antworten zu verbessern – daher der Name Retrieval (zuerst externe Daten abrufen) Augmented (Antworten mit diesen Daten verbessern) Generation (Erstellung einer Antwort).

Angenommen, der Automechaniker aus dem obigen Beispiel möchte ein LLM verwenden, anstatt direkt in den Handbüchern nachzuschlagen. Durch RAG wäre das LLM in der Lage, die Nutzung von Handbüchern unmittelbar in seinen Ablauf zu integrieren. Obwohl das LLM vermutlich nicht auf klassische Auto-Handbücher trainiert wurde – oder, falls solche Informationen enthalten waren, nur zu einem sehr kleinen Teil – kann es mithilfe von RAG relevante und präzise Abfragen erzeugen.

Damit das LLM die externe Datenquelle (z. B. die Handbücher) verwenden und abfragen kann, werden die Daten zunächst in Vektoren umgewandelt und dann in einer Vektordatenbank gespeichert. Bei diesem Prozess werden maschinelle Lernmodelle verwendet, um mathematische Darstellungen von Elementen eines Datensatzes zu erzeugen. (Jeder „Vektor“ ist eine Reihe von Zahlen, wie [-0.41522345,0.97685323...]).

Wenn ein Nutzender einen Prompt sendet, wandelt das LLM diesen Prompt in einen Vektor um und durchsucht dann die aus der externen Datenquelle erstellte Vektordatenbank nach relevanten Informationen. Er fügt diese Informationen als zusätzlichen Kontext für den Prompt hinzu und lässt dann den erweiterten Prompt durch sein typisches Modell laufen, um eine Antwort zu erstellen.

Was sind die Vor- und Nachteile von RAG in KI?

Die Verwendung von RAG zur Feinabstimmung eines LLMs bietet folgende Pros:

  • Höhere Genauigkeit innerhalb des Anwendungsfalls: Ein LLM gibt mit größerer Wahrscheinlichkeit eine richtige Antwort, wenn es Zugang zu einer Wissensdatenbank hat, die mit den Prompts zusammenhängt, so wie ein Techniker ein Auto mit größerer Wahrscheinlichkeit richtig repariert, wenn er das Handbuch hat.
  • Kostengünstige Möglichkeit, ein Modell anzupassen: Da kein erneutes Training erforderlich ist, ist es weniger rechenintensiv und zeitaufwändiger, ein LLM in einem neuen Kontext einzusetzen.
  • Flexibilität: Da die Parameter des Modells nicht angepasst werden, kann dasselbe Modell schnell über verschiedene Anwendungsfälle hinweg verschoben werden.

Einige der potenziellen Nachteile sind:

  • Langsamere Reaktionszeiten: RAG erfordert zwar kein erneutes Training, doch die Inferenz – der Prozess des Denkens und der Reaktion auf Prompts – kann länger dauern, da das LLM nun mehrere Datensätze abfragen muss, um eine Antwort zu erhalten.
  • Inkonsistenzen zwischen Datensätzen: Die externe Wissensdatenbank lässt sich nicht unbedingt nahtlos in den Trainingsdatensatz des Modells integrieren, so wie zwei Sätze von Enzyklopädien historische Ereignisse leicht unterschiedlich beschreiben könnten. Dies kann zu uneinheitlichen Antworten auf Abfragen führen.
  • Manuelle Pflege: Jedes Mal, wenn die externe Wissensdatenbank aktualisiert wird – zum Beispiel, wenn neue Automodelle auf den Markt kommen – müssen die Entwicklerinnen und Entwickler den Prozess der Umwandlung der neuen Daten in Vektoren und der Aktualisierung der Vektordatenbank manuell einleiten. (Cloudflare hat AutoRAG entwickelt, um Entwicklerinnen und Entwicklern zu helfen, diesen manuellen Prozess zu vermeiden – mehr dazu später.)

Was ist ein RAG-Chatbot?

Ein RAG-Chatbot ist ein LLM-basierter Chatbot, der durch RAG auf bestimmte Anwendungsfälle spezialisiert wurde – er ist mit einer oder mehreren externen Datenquellen verbunden, die für den Kontext relevant sind, in dem der Chatbot arbeitet. Ein RAG-Chatbot für den Einsatz in einer Autowerkstatt hätte Zugriff auf Fahrzeugdokumentationen; das wäre für die Mechaniker dort deutlich hilfreicher als die Nutzung eines allgemeinen LLM-Chatbots.

RAG im Vergleich zu Low-Rank Adaptation (LoRA)

Low-Rank Adaptation (LoRA) ist eine weitere Methode zur Feinabstimmung eines Modells – das heißt, es wird an einen spezifischen Kontext angepasst, ohne vollständig neu trainiert zu werden. LoRA beinhaltet jedoch eine Anpassung der Modellparameter, während RAG die Parameter des Modells überhaupt nicht verändert. Erfahren Sie hier mehr über LoRA.

Was ist AutoRAG?

AutoRAG richtet RAG-Pipelines für Entwicklerinnen und Entwickler ein und verwaltet sie. Es verbindet die für die Indizierung, den Abruf und die Generierung erforderlichen Tools und hält alles auf dem neuesten Stand, indem es die Daten regelmäßig mit dem Index synchronisiert. Nach der Einrichtung indexiert AutoRAG Inhalte im Hintergrund und beantwortet Anfragen in Echtzeit. Erfahren Sie, wie AutoRAG funktioniert.

FAQs

Was versteht man unter Retrieval-Augmented Generation (RAG)?

RAG ist eine Technik, die große Sprachmodelle (LLMs) für spezifische Kontexte optimiert, indem sie ihnen Zugang zu einer relevanten Wissensdatenbank verschafft, ohne dass ein vollständiges neuerliches Training erforderlich ist. RAG ist eine effiziente Möglichkeit, ein LLM für spezielle Aufgaben anzupassen.

Wie verbessert RAG die Fähigkeiten von LLMs?

RAG ermöglicht es einem LLM, externe Datenquellen, wie z. B. eine spezielle Datenbank, zu konsultieren, um seine Antworten anzureichern. Wenn ein Nutzer eine Abfrage stellt, wandelt das LLM diese in einen Vektor um, findet verwandte Informationen in der externen Datenquelle (die ebenfalls vektorisiert ist), und nutzt dann diesen erweiterten Kontext, um eine fundiertere und präzisere Antwort zu generieren.

Welche Hauptvorteile bietet die Verwendung von RAG mit KI-Modellen?

RAG verbessert die Genauigkeit eines KI-Modells für eine bestimmte Anwendung, da das LLM auf eine spezialisierte Wissensbasis zurückgreifen kann. RAG ist auch eine kostengünstige Methode zur Anpassung eines Modells, da sie die umfangreichen Rechenressourcen und die Zeit vermeidet, die für ein vollständiges neuerliches Training erforderlich sind. Zusätzlich bietet RAG Flexibilität, sodass dasselbe Modell problemlos auf verschiedene spezifische Szenarien angewendet werden kann, ohne seine Kernparameter ändern zu müssen.

Welche potenziellen Nachteile hat die Implementierung von RAG in KI?

Trotz seiner Vorteile kann Retrieval Augmented Generation (RAG) zu langsameren Antwortzeiten führen, da das LLM Informationen aus mehreren Datensätzen abrufen und verarbeiten muss. Es besteht auch das Risiko von Inkonsistenzen, wenn die externe Wissensdatenbank nicht perfekt mit den ursprünglichen Trainingsdaten des Modells übereinstimmt. Darüber hinaus erfordert die Pflege von RAG manuellen Aufwand, um neue Daten in Vektoren innerhalb der Datenbank zu konvertieren und zu aktualisieren, wann immer sich die externe Wissensdatenbank ändert.

Was ist ein RAG-Chatbot?

Ein RAG-Chatbot ist ein LLM-basierter Chatbot, der durch den RAG-Prozess für bestimmte Anwendungsfälle spezialisiert wurde. Das bedeutet, dass es Zugang zu externen Datenquellen hat, die für seinen spezifischen betrieblichen Kontext relevant sind, wodurch es gezieltere und genauere Antworten geben kann als ein allgemeiner Chatbot.

Worin unterscheidet sich RAG von Low-Rank Adaptation (LoRA)?

RAG und Low-Rank-Adaptation (LoRA) sind beides Methoden zur Feinabstimmung von KI-Modellen, ohne dass ein vollständiges neuerliches Training erforderlich ist. Sie unterscheiden sich jedoch in ihrer Herangehensweise: RAG verändert die Parameter des Modells nicht, während LoRA die Parameter anpasst.

Was ist AutoRAG?

AutoRAG ist ein von Cloudflare entwickeltes Tool, das die Einrichtung und Verwaltung von RAG-Pipelines für Entwicklerinnen und Entwickler vereinfacht. Es automatisiert die Verbindung der notwendigen Werkzeuge für die Indizierung, den Abruf und die Generierung, gewährleistet die Datensynchronisation und die Beantwortung von Abfragen in Echtzeit, indem der Inhalt kontinuierlich im Hintergrund aktualisiert wird.