14.12.2023 | Blog Retrieval Augmented Generation (RAG) – Was hat es damit auf sich?
Wofür steht RAG?
“RAG” steht in diesem Kontext für “Retrieval Augmented Generation”. Das Wort “Generation” steht dabei für das Generieren einer Antwort. “Retrieval” steht hier für das Auffinden von relevanten Dokumenten aus einem Datenbestand. “Augmented” bedeutet, dass diese Dokumente beim Erstellen einer Antwort genutzt werden, um das Ergebnis zu augmentieren, also zu verbessern.
Fragen stellen und Antworten erhalten
Ausgangspunkt dieser Idee ist zunächst einmal, dass Benutzer in ihrer Arbeit Fragen haben und diese Fragen direkt, mit natürlicher Sprache, ihrem IT-System stellen können und dann dazu möglichst hilfreiche und korrekte Antworten erhalten sollten.
LLMs
Spätestens seit OpenAIs ChatGPT im November 2022 veröffentlicht wurde und (zurecht) ein riesiges mediales Echo erzeugt hat, werden zur Generierung einer solchen Antwort zunehmend sogenannte Large Language Models (LLMs) eingesetzt.
Diese LLMs gibt es prinzipiell schon länger und in einer riesigen Zahl von Ausprägungen und Varianten. Am erfolgreichsten sind hierbei jedoch die “Generative Pretrained Transformer” (GPT), die auch ChatGPT seinen Namen geben. Diese Modelle basieren auf der Transformer-Technologie, die seit ihrer Vorstellung im Jahr 2017 in einer Großzahl von Bereichen (neben Sprachverarbeitung beispielsweise in Computer Vision oder Empfehlungssystemen) äußerst erfolgreich eingesetzt werden. Bei ihrer Erstellung konsumieren sie üblicherweise zunächst riesige Mengen an Text (“Pretraining”), bevor man ihnen anhand von eher kleineren Datenmengen ein aufgabenspezifisches Verhalten antrainiert (“Finetuning”).
Grenzen der LLMs
Dadurch, dass diese Modelle große Teile der Textmengen des Internets gesehen haben, sind sie häufig in der Lage, Fakten über die Welt zutreffend wiederzugeben. Dies funktioniert umso besser, je häufiger und eindeutiger diese Fakten im Trainingsmaterial auftauchen. Dadurch können sie Fragen, die auf allgemein bekannte Tatsachen abzielen (z.B. “Wie heißt die Hauptstadt von Deutschland?”), in der Regel sehr gut beantworten.
Das funktioniert in der Regel auch bei etwas exotischerem Wissen wie “Was ist die Hauptstadt von Bhutan?” (es ist “Thimphu”) oder bei Fragen zu weitverbreiteter Fiktion wie “Auf welchem Planeten ist Luke Skywalker aufgewachsen?” (es ist “Tatooine”).
Wird das benötigte Wissen jedoch zu speziell oder zu domänenspezifisch, dann kommt es im Trainingsmaterial entweder zu selten vor oder aber (wie z.B. bei nicht-öffentlichen Informationen) gar nicht. Das Wissen kann auch zu neu sein, so dass es zum Trainingszeitpunkt noch nicht verfügbar war.
Da LLMs aber primär darauf trainiert wurden, Texte zu vervollständigen, machen sie hier häufig eben dies: Sie generieren eine Antwort, die plausibel klingt, die aber nicht korrekt ist. Man spricht hier von “Halluzinationen”.
Halluzinationen vermeiden
Da diese Halluzinationen im Allgemeinen unerwünscht sind, gibt es einige Bestrebungen, die Trainingsprozesse zu verbessern und die Halluzinationen damit zu vermeiden. Die LLMs sollen stattdessen Auskunft geben, dass sie nicht genug Informationen haben, um eine Frage zu beantworten. Vor allem bei den großen Spitzenmodellen (z.B. von OpenAI oder Anthropic) wird hierbei beispielsweise RHLF (Reinforcement Learning from Human Feedback) eingesetzt, bei dem Nutzerfeedback verwendet wird, um beispielsweise auch das Verweigern von Antworten zu belohnen.
Diese Techniken haben einen großen Nutzen, sind allerdings noch nicht perfekt. Auch dauert es gegenwärtig in der Regel 6-12 Monate, bis die entsprechenden Techniken auch bei OpenSource-Modellen - die viele Vorteile bieten - verfügbar sind.
Organisationseigene Datenquellen nutzen
Nun ist “keine Antwort” natürlich schon einmal besser als eine falsche. Aber noch viel besser wäre natürlich eine korrekte Antwort. Oftmals haben Nutzer aber prinzipiell Zugriff auf Dokumente, die die Beantwortung ihrer Fragen erleichtern oder gar erst ermöglichen. Hierbei kann es sich um aktuelle Informationen aus dem öffentlichen Internet handeln, oder um organisationsinterne Datenquellen wie Dokumentenmanagementsysteme, Laufwerkverzeichnisse oder Datenbanken.
Und genau hier kommt nun der RAG-Ansatz ins Spiel, bei dem versucht wird, das LLM für die Antwortgenerierung in eine bessere Ausgangslage zu versetzen, indem wir ihm neben der Nutzeranfrage auch relevante Dokumente übergeben. Mit diesem Zusatzwissen ausgestattet, ist es dem LLM dann oft möglich, die Fragen akkurat zu beantworten.
Information Retrieval verbessert die Antworten
Hier ist die Herausforderung dann, aus der großen Menge an Informationen die relevanten herauszufiltern. Dabei werden bewährte und effiziente Information-Retrieval-Techniken wie die lexikalische Suche heute oft durch die sogenannte “semantische” Suche ergänzt. Man spricht dann von einer “hybriden” Suche.
Die lexikalische Suche nutzt prinzipiell Suchbegriffe und ergänzt dieses beispielsweise durch Thesauri (wer “E-Bike” sucht soll auch “Pedelec” finden) und Lemmatisierung (wer “fördern” sucht, soll auch “fördert” finden).
Die semantische Suche löst sich ganz von einzelnen Suchbegriffen (Buchstabenfolgen), und setzt stattdessen auf sogenannte “Embeddings”. Das sind Vektoren, die in der Regel aus einigen Hundert Zahlenwerten bestehen und die, vereinfacht gesagt, den Inhalt (also die Semantik) eines Textes (oder Textabschnitts) repräsentieren. Dadurch ist es möglich, Dokumente (oder einzelne Passagen) zu identifizieren, die in einem inhaltlich engen Verhältnis zur gestellten Frage stehen. Sucht man beispielsweise nach „Wie kann ich ein Notebook für einen Werkstudenten bestellen?“ findet man idealerweise auch Informationen zu „Hardwarebeschaffung für Praktikanten und externe Mitarbeiter“.
Bei der Suche sind die Nutzer-Berechtigungen zu berücksichtigen. Es dürfen also nur Dokumente in die Suche einbezogen werden, die die jeweiligen Nutzer auch sehen dürfen. Andernfalls könnten die Nutzer indirekt an Informationen gelangen, für die sie gar keine Berechtigungen haben.
Es ist ein großer Vorteil von RAG, die Berechtigungen beim Retrieval einfließen lassen zu können. Das ist beispielsweise beim Ansatz, ein Modell durch Training (bzw. Finetuning) die Inhalte aus allen verfügbaren organisationsinternen Datenquellen lernen zu lassen, nicht direkt möglich.
Nutzen der Treffer
Stellt man die auf diese Art gefundenen Informationen dem LLM zur Verfügung, dann kann es diese bei der Beantwortung der Nutzerfragen verwenden. Je nachdem welche Informationen hier enthalten sind, kann dies die Arbeit des LLMs stark vereinfachen und somit die Qualität der Antworten signifikant erhöhen.
Ebenfalls kann das LLM angeben, welche Treffer es bei der Erzeugung der Antworten genutzt hat. Dadurch wird es den Benutzern ermöglicht, die Plausibilität der Antworten selbst zu überprüfen.
Herausforderungen bei der Umsetzung
Diese Grundidee ist an sich einfach und einleuchtend. Bei der Umsetzung ergeben sich dann allerdings viele Herausforderungen, um optimale Ergebnisse zu erzielen. Das beginnt bei Auswahl der Modelle sowohl für Retrieval als auch für die generative KI und geht über viele suchspezifischen Detailfragen bis hin zu Sicherheitsaspekten: Beispielsweise, wie kann sichergestellt werden, dass zur Beantwortung von Fragen nur die Daten herangezogen werden, die die einzelnen Nutzer auch tatsächlich sehen dürfen?
Mit der Lösung solcher Details müssen sich Organisationen aber nicht zwingend selbst beschäftigen, sondern können sich Experten anvertrauen, die bereits detaillierte Konzepte ausgearbeitet haben, und entsprechende Lösungen umsetzen können.
Fazit
Mit dem RAG-Ansatz lassen sich die Flexibilität und Intelligenz von modernen LLMs und der Wert von öffentlichen und internen Datenquellen zu einem mächtigen Werkzeug kombinieren, das die Nutzer bei ihrer täglichen Arbeit sinnvoll unterstützen kann.
Als KI- und Suchspezialist hat IntraFind entsprechende Produkte und Lösungen im Portfolio und bietet einen sicheren Rahmen für den Einsatz von LLMs und RAG. Wir beraten und betreuen unsere Kunden hinsichtlich der besten Lösung für ihren Use Case.