Künstliche Intelligenz
Ein tiefer Einblick in die Retrieval-Augmented Generation im LLM

Stellen Sie sich vor, Sie sind Analyst und haben Zugriff auf ein Large Language Model. Sie sind begeistert von den Möglichkeiten, die es Ihrem Workflow bietet. Doch dann fragen Sie nach den neuesten Aktienkursen oder der aktuellen Inflationsrate und erhalten folgende Antwort:
„Es tut mir leid, aber ich kann keine Echtzeit- oder Post-Cut-off-Daten bereitstellen. Meine letzten Trainingsdaten reichen nur bis Januar 2022.“
Großen Sprachmodellen mangelt es trotz all ihrer sprachlichen Leistungsfähigkeit an der Fähigkeit, das zu erfassen.jetzt an'. Und in der schnelllebigen Welt „jetzt an' ist alles.
Untersuchungen haben gezeigt, dass große vorab trainierte Sprachmodelle (LLMs) auch Speicher für Faktenwissen sind.
Sie wurden mit so vielen Daten trainiert, dass sie eine Menge Fakten und Zahlen aufgenommen haben. Mit der Feinabstimmung können sie bei einer Vielzahl von NLP-Aufgaben bemerkenswerte Ergebnisse erzielen.
Doch hier liegt der Haken: Ihre Fähigkeit, auf dieses gespeicherte Wissen zuzugreifen und es zu manipulieren, ist manchmal nicht perfekt. Besonders bei wissensintensiven Aufgaben können diese Modelle spezialisierteren Architekturen hinterherhinken. Es ist, als hätte man eine Bibliothek mit allen Büchern der Welt, aber keinen Katalog, um das zu finden, was man braucht.
ChatGPT von OpenAI erhält ein Browsing-Upgrade
Die jüngste Ankündigung von OpenAI zur Browsing-Funktion von ChatGPT ist ein bedeutender Schritt in Richtung Retrieval-Augmented Generation (RAG). ChatGPT kann nun das Internet nach aktuellen und verlässlichen Informationen durchsuchen und spiegelt damit den RAG-Ansatz wider, Daten dynamisch aus externen Quellen abzurufen, um erweiterte Antworten bereitzustellen.
ChatGPT kann jetzt im Internet surfen, um Ihnen aktuelle und verlässliche Informationen bereitzustellen, komplett mit direkten Links zu Quellen. Es ist nicht mehr auf einen Termin vor September 2021 beschränkt. pic.twitter.com/pyj8a9HWkB
- OpenAI (@OpenAI) September 27, 2023
OpenAI ist derzeit für Plus- und Enterprise-Nutzer verfügbar und plant, diese Funktion bald für alle Nutzer bereitzustellen. Nutzer können sie aktivieren, indem sie unter der GPT-4-Option „Mit Bing durchsuchen“ auswählen.
Schnelles Engineering ist effektiv, aber unzureichend
Prompts dienen als Zugang zum Wissen des LLM. Sie leiten das Modell und geben die Richtung für die Antwort vor. Das Erstellen eines effektiven Prompts ist jedoch nicht die vollständige Lösung, um das gewünschte Ergebnis zu erzielen. Dennoch möchten wir einige bewährte Vorgehensweisen beim Schreiben eines Prompts durchgehen:
- Klarheit:: Eine klar definierte Eingabeaufforderung beseitigt Mehrdeutigkeiten. Sie sollte unkompliziert sein und sicherstellen, dass das Modell die Absicht des Benutzers versteht. Diese Klarheit führt oft zu schlüssigeren und relevanteren Antworten.
- Kontext: Insbesondere bei umfangreichen Eingaben kann die Platzierung der Anweisung Einfluss auf die Ausgabe haben. Wenn Sie beispielsweise die Anweisung an das Ende einer langen Eingabeaufforderung verschieben, können Sie häufig bessere Ergebnisse erzielen.
- Präzision im Unterricht: Die Aussagekraft der Frage, die häufig durch das „Wer, Was, Wo, Wann, Warum, Wie“-Framework vermittelt wird, kann das Modell zu einer gezielteren Antwort führen. Darüber hinaus kann die Angabe des gewünschten Ausgabeformats oder der gewünschten Größe die Ausgabe des Modells weiter verfeinern.
- Umgang mit Unsicherheit: Es ist wichtig, dem Modell Anweisungen zu geben, wie es reagieren soll, wenn es unsicher ist. Wenn man das Modell beispielsweise anweist, bei Unsicherheit mit „Ich weiß nicht“ zu antworten, kann man verhindern, dass es ungenaue oder „halluziniert” Antworten.
- Schritt-für-Schritt-Denken: Bei komplexen Anweisungen kann die Anleitung des Modells zu systematischem Denken oder die Aufteilung der Aufgabe in Teilaufgaben zu umfassenderen und genaueren Ergebnissen führen.
In Bezug auf die Bedeutung von Eingabeaufforderungen bei der Führung von ChatGPT finden Sie einen ausführlichen Artikel in einem Artikel unter Unite.ai.
Herausforderungen bei generativen KI-Modellen
Beim Prompt Engineering werden die Anweisungen für Ihr Modell optimiert, um dessen Leistung zu verbessern. Es ist eine sehr kostengünstige Möglichkeit, die Genauigkeit Ihrer Generative-KI-Anwendung zu steigern, da nur geringfügige Codeanpassungen erforderlich sind. Obwohl Prompt Engineering die Ergebnisse deutlich verbessern kann, ist es wichtig, die inhärenten Einschränkungen großer Sprachmodelle (LLM) zu verstehen. Zwei Hauptherausforderungen sind Halluzinationen und Wissenslücken.
- Halluzinationen: Dies bezieht sich auf Fälle, in denen das Modell sicher eine falsche oder erfundene Antwort zurückgibt. Obwohl fortgeschrittenes LLM über integrierte Mechanismen verfügt, um solche Ausgaben zu erkennen und zu vermeiden.
- Wissenskürzungen: Jedes LLM-Modell hat ein Trainingsenddatum, nach dem es keine Ereignisse oder Entwicklungen mehr kennt. Diese Einschränkung bedeutet, dass das Wissen des Modells zum Zeitpunkt des letzten Trainingsdatums eingefroren ist. Beispielsweise würde ein bis 2022 trainiertes Modell die Ereignisse des Jahres 2023 nicht kennen.
Abruf-erweiterte Generation (RAG) bietet eine Lösung für diese Herausforderungen. Es ermöglicht Modellen den Zugriff auf externe Informationen und reduziert so das Problem von Halluzinationen durch den Zugriff auf proprietäre oder domänenspezifische Daten. Bei Wissenslücken kann RAG auf aktuelle Informationen über das Trainingsdatum des Modells hinaus zugreifen und so die Aktualität der Ergebnisse sicherstellen.
Es ermöglicht dem LLM außerdem, Daten aus verschiedenen externen Quellen in Echtzeit abzurufen. Dies können Wissensdatenbanken, Datenbanken oder sogar die Weiten des Internets sein.
Einführung in die Retrieval-Augmented Generation
Retrieval-Augmented Generation (RAG) ist kein spezifischer Ansatz, sondern ein Framework, das es Large Language Models ermöglicht, auf Daten zuzugreifen, mit denen sie nicht trainiert wurden. Es gibt mehrere Möglichkeiten, RAG zu implementieren. Welche die beste Lösung ist, hängt von Ihrer spezifischen Aufgabe und der Art Ihrer Daten ab.
Das RAG-Framework funktioniert strukturiert:
Prompte Eingabe
Der Prozess beginnt mit einer Eingabe oder Aufforderung des Benutzers. Dies kann eine Frage oder eine Aussage sein, mit der nach bestimmten Informationen gesucht wird.
Abruf aus externen Quellen
Anstatt direkt eine Antwort basierend auf seinem Training zu generieren, durchsucht das Modell mithilfe einer Retriever-Komponente externe Datenquellen. Diese Quellen können von Wissensdatenbanken, Datenbanken und Dokumentenspeichern bis hin zu über das Internet zugänglichen Daten reichen.
Abrufen verstehen
Im Wesentlichen ähnelt das Abrufen einem Suchvorgang. Es geht darum, die relevantesten Informationen als Reaktion auf die Eingabe eines Benutzers zu extrahieren. Dieser Prozess lässt sich in zwei Phasen unterteilen:
- Indizierung: Der wohl anspruchsvollste Teil der gesamten RAG-Reise ist die Indexierung Ihrer Wissensdatenbank. Der Indexierungsprozess kann grob in zwei Phasen unterteilt werden: Laden und Aufteilen. In Tools wie LangChain werden diese Prozesse als „Lader" und "Splitter„. Loader rufen Inhalte aus verschiedenen Quellen ab, sei es Webseiten oder PDFs. Nach dem Abruf segmentieren Splitter diesen Inhalt in mundgerechte Stücke und optimieren ihn so für die Einbettung und Suche.
- Abfragen: Dies ist der Vorgang des Extrahierens der relevantesten Wissensfragmente basierend auf einem Suchbegriff.
Während es viele Möglichkeiten gibt, sich dem Abruf zu nähern, vom einfachen Textabgleich bis hin zur Verwendung von Suchmaschinen wie Google, basieren moderne Retrieval-Augmented Generation (RAG)-Systeme auf der semantischen Suche. Im Zentrum der semantischen Suche steht das Konzept der Einbettungen.
Einbettungen sind von zentraler Bedeutung dafür, wie Large Language Models (LLM) Sprache verstehen. Wenn Menschen versuchen zu artikulieren, wie sie aus Wörtern eine Bedeutung ableiten, greift die Erklärung oft auf das inhärente Verständnis zurück. Tief in unseren kognitiven Strukturen erkennen wir, dass „Kind“ und „Kind“ Synonyme sind oder dass „Rot“ und „Grün“ beide Farben bezeichnen.
Erweiterung der Eingabeaufforderung
Die abgerufenen Informationen werden dann mit der ursprünglichen Eingabeaufforderung kombiniert, wodurch eine erweiterte Eingabeaufforderung entsteht. Diese erweiterte Eingabeaufforderung liefert dem Modell zusätzlichen Kontext, was besonders wertvoll ist, wenn die Daten domänenspezifisch sind oder nicht Teil des ursprünglichen Trainingskorpus des Modells sind.
Den Abschluss generieren
Mit der erweiterten Eingabeaufforderung generiert das Modell dann eine Vervollständigung oder Antwort. Diese Antwort basiert nicht nur auf dem Training des Modells, sondern wird auch durch die abgerufenen Echtzeitdaten beeinflusst.
Architektur des ersten RAG LLM
Das im Jahr 2020 veröffentlichte Forschungspapier von Meta „Retrieval-Augmented Generation für wissensintensive NLP-Aufgaben“ bietet einen detaillierten Einblick in diese Technik. Das Retrieval-Augmented Generation-Modell erweitert den traditionellen Generierungsprozess um einen externen Abruf- oder Suchmechanismus. Dadurch kann das Modell relevante Informationen aus riesigen Datenkorpora abrufen und so seine Fähigkeit verbessern, kontextbezogene genaue Antworten zu generieren.
Und so funktionierts:
- Parametrisches Gedächtnis: Dies ist Ihr traditionelles Sprachmodell, wie ein seq2seq-Modell. Es wurde mit riesigen Datenmengen trainiert und weiß viel.
- Nichtparametrisches Gedächtnis: Stellen Sie sich das wie eine Suchmaschine vor. Es handelt sich um einen dichten Vektorindex von beispielsweise Wikipedia, auf den mit einem neuronalen Retriever zugegriffen werden kann.
In Kombination ergeben diese beiden ein genaues Modell. Das RAG-Modell ruft zunächst relevante Informationen aus seinem nichtparametrischen Speicher ab und nutzt dann sein parametrisches Wissen, um eine kohärente Antwort auszugeben.
1. Zweistufiger Prozess:
Das RAG LLM arbeitet in einem zweistufigen Prozess:
- Abruf: Das Modell sucht zunächst nach relevanten Dokumenten oder Passagen aus einem großen Datensatz. Dies erfolgt mithilfe eines dichten Abrufmechanismus, der Einbettungen verwendet, um sowohl die Abfrage als auch die Dokumente darzustellen. Die Einbettungen werden dann zur Berechnung der Ähnlichkeitswerte verwendet und die Dokumente mit dem höchsten Rang werden abgerufen.
- Generation: Die wichtigsten Dokumente werden zusammen mit der ursprünglichen Abfrage in einen Sequenz-zu-Sequenz-Generator geleitet. Dieser Generator erstellt dann die endgültige Ausgabe und bezieht dabei den Kontext sowohl aus der Abfrage als auch aus den abgerufenen Dokumenten.
2. Dichtes Abrufen:
Herkömmliche Abrufsysteme basieren häufig auf spärlichen Darstellungen wie TF-IDF. RAG LLM verwendet jedoch dichte Darstellungen, bei denen sowohl die Abfrage als auch die Dokumente in kontinuierliche Vektorräume eingebettet sind. Dies ermöglicht differenziertere Ähnlichkeitsvergleiche und erfasst semantische Beziehungen, die über die bloße Keyword-Übereinstimmung hinausgehen.
3. Sequenz-zu-Sequenz-Generierung:
Die abgerufenen Dokumente dienen als erweiterter Kontext für das Generierungsmodell. Dieses Modell, das häufig auf Architekturen wie Transformers basiert, generiert dann die endgültige Ausgabe und stellt sicher, dass diese kohärent und kontextbezogen relevant ist.
Dokumentensuche
Indexierung und Abruf von Dokumenten
Für eine effiziente Informationsbeschaffung, insbesondere aus großen Dokumenten, werden die Daten häufig in einer Vektordatenbank gespeichert. Jedes Datenelement oder Dokument wird auf der Grundlage eines Einbettungsvektors indiziert, der die semantische Essenz des Inhalts erfasst. Eine effiziente Indizierung gewährleistet das schnelle Auffinden relevanter Informationen anhand der Eingabeaufforderung.
Vektordatenbanken

Quelle: Redis
Vektordatenbanken, manchmal auch Vektorspeicher genannt, sind maßgeschneiderte Datenbanken, die Vektordaten speichern und abrufen können. Im Bereich der KI und Informatik sind Vektoren im Wesentlichen Zahlenlisten, die Punkte in einem mehrdimensionalen Raum symbolisieren. Im Gegensatz zu herkömmlichen Datenbanken, die eher auf tabellarische Daten ausgerichtet sind, glänzen Vektordatenbanken bei der Verwaltung von Daten, die von Natur aus in ein Vektorformat passen, wie etwa Einbettungen aus KI-Modellen.
Einige bemerkenswerte Vektordatenbanken umfassen Annoy, Faiß von Meta, Milvus und Tannenzapfen. Diese Datenbanken sind für KI-Anwendungen von entscheidender Bedeutung und unterstützen Aufgaben, die von Empfehlungssystemen bis hin zur Bildsuche reichen. Plattformen wie AWS bieten auch auf Vektordatenbankanforderungen zugeschnittene Dienste an, beispielsweise Amazon OpenSearch Service und Amazon RDS für PostgreSQL. Diese Dienste sind für bestimmte Anwendungsfälle optimiert und gewährleisten eine effiziente Indizierung und Abfrage.
Chunking für Relevanz
Da viele Dokumente umfangreich sein können, wird häufig eine Technik namens „Chunking“ verwendet. Dabei werden große Dokumente in kleinere, semantisch zusammenhängende Teile zerlegt. Diese Blöcke werden dann bei Bedarf indiziert und abgerufen, um sicherzustellen, dass die relevantesten Teile eines Dokuments für eine zeitnahe Erweiterung verwendet werden.
Überlegungen zum Kontextfenster
Jedes LLM arbeitet innerhalb eines Kontextfensters. Dies stellt im Wesentlichen die maximale Informationsmenge dar, die es gleichzeitig berücksichtigen kann. Liefern externe Datenquellen Informationen, die dieses Fenster überschreiten, müssen diese in kleinere Teile zerlegt werden, die in das Kontextfenster des Modells passen.
Vorteile der Nutzung der Retrieval-Augmented Generation
- Erhöhte Genauigkeit: Durch die Nutzung externer Datenquellen kann das RAG LLM Antworten generieren, die nicht nur auf seinen Trainingsdaten basieren, sondern auch auf den relevantesten und aktuellsten Informationen basieren, die im Abrufkorpus verfügbar sind.
- Wissenslücken überwinden: RAG behebt effektiv die inhärenten Wissensbeschränkungen von LLM, sei es aufgrund des Trainings-Cut-offs des Modells oder des Fehlens domänenspezifischer Daten in seinem Trainingskorpus.
- Vielseitigkeit: RAG kann in verschiedene externe Datenquellen integriert werden, von proprietären Datenbanken innerhalb einer Organisation bis hin zu öffentlich zugänglichen Internetdaten. Dadurch ist es an eine Vielzahl von Anwendungen und Branchen anpassbar.
- Reduzierung von Halluzinationen: Eine der Herausforderungen bei LLM ist die Möglichkeit von „Halluzinationen“ oder der Generierung sachlich falscher oder erfundener Informationen. Durch die Bereitstellung von Echtzeit-Datenkontext kann RAG die Wahrscheinlichkeit solcher Ausgaben erheblich reduzieren.
- Skalierbarkeit: Einer der Hauptvorteile von RAG LLM ist seine Skalierbarkeit. Durch die Trennung der Abruf- und Generierungsprozesse kann das Modell große Datensätze effizient verarbeiten und eignet sich daher für reale Anwendungen mit großen Datenmengen.
Herausforderungen und Überlegungen
- Rechenaufwand: Der zweistufige Prozess kann rechenintensiv sein, insbesondere wenn es um große Datensätze geht.
- Datenabhängigkeit: Die Qualität der abgerufenen Dokumente wirkt sich direkt auf die Generierungsqualität aus. Daher ist ein umfassender und gut kuratierter Retrieval-Korpus von entscheidender Bedeutung.
Fazit
Durch die Integration von Abruf- und Generierungsprozessen bietet Retrieval-Augmented Generation eine robuste Lösung für wissensintensive Aufgaben und sorgt für fundierte und kontextbezogene Ergebnisse.
Das wahre Versprechen von RAG liegt in seinen potenziellen realen Anwendungen. Für Bereiche wie das Gesundheitswesen, in denen zeitnahe und genaue Informationen von entscheidender Bedeutung sein können, bietet RAG die Möglichkeit, nahtlos Erkenntnisse aus umfangreicher medizinischer Literatur zu extrahieren und zu generieren. Im Finanzbereich, wo sich Märkte von Minute zu Minute weiterentwickeln, kann RAG datengesteuerte Erkenntnisse in Echtzeit liefern und so eine fundierte Entscheidungsfindung unterstützen. Darüber hinaus können Wissenschaftler in Wissenschaft und Forschung RAG nutzen, um riesige Informationsbestände zu durchsuchen und so Literaturrecherchen und Datenanalysen effizienter zu gestalten.

















