Mit Ihren Daten Chatten: Das Potenzial der Retrieval-Augmented Generation (RAG)

Large Language Models
Information Retrieval
Retrieval Augmented Generation
Die rasanten Fortschritte im Bereich der generativen KI und insbesondere der großen Sprachmodelle haben zahlreiche Technologien hervorgebracht, von denen einige versprechen, die Art und Weise, wie wir mit Daten interagieren, zu revolutionieren.
In diesem Artikel geht es um das Potenzial für einen direkten Dialog mit Daten, insbesondere durch Retrieval-Augmented Generation, allgemein bekannt als RAG.
Was ist Retrieval-Augmented Generation?
An dieser Stelle fragen Sie sich wahrscheinlich, was Retrieval-Augmented Generation (RAG) ist? Laienhaft ausgedrückt ist Retrieval-Augmented Generation eine Methode, die es Anwendungen ermöglicht, mit Ihren Daten zu "chatten", fast so, als ob Sie sich mit einem gut informierten Bibliothekar unterhalten würden, der immer auf dem neuesten Stand ist.
Retrieval-Augmented Generation hat seinen Namen von der "Erweiterung" des generativen Modells (wie in Large Language Model oder LLM) mit abgerufenen Informationen aus bestimmten Datenbanken, Wissensdatenbanken oder anderen Quellen.
Lassen Sie uns dies etwas genauer aufschlüsseln.
Information Retrieval
RAG verwendet eine Technik namens "Information Retrieval" oder, um es genauer zu sagen, "Semantische Suche". Die semantische Suche verwendet Worteinbettungen, um Wörter darzustellen. Und wenn Sie sich den Kopf darüber zerbrechen, was Worteinbettungen sind, sollten Sie wissen, dass es sich um eine vektorielle Darstellung von Wörtern handelt. Sie ermöglichen es, dass Wörter, die semantisch nahe beieinander liegen, ähnliche vektorielle Darstellungen in einem euklidischen Raum haben.
Das bedeutet, dass semantisch nahe Wörter in diesem Raum "nahe" beieinander liegen bzw. ähnliche Vektoren haben. Wenn also ein Benutzer eine Frage eingibt, kann diese in einen Vektor umgewandelt werden. Anschließend kann ein Algorithmus zur Suche nach Vektorähnlichkeit in einer Datenbank oder Suchmaschine ausgeführt werden, der semantisch ähnliche Ergebnisse liefert.

Die Mechanik der RAG
Wie funktioniert RAG eigentlich?
In ihrer einfachsten Form verwendet die RAG-Architektur zwei Arten von Modellen: ein Einbettungsmodell und ein Sprachgenerierungsmodell (aka LLM). Sie beinhaltet auch eine Vektordatenbank, um die Vektoren zu speichern, und einen Mechanismus, um die Daten aus den Datenquellen zu holen.

Im Folgenden wird die Funktionsweise Schritt für Schritt erläutert:
- Datenaggregation: Ein ETL oder ein ähnlicher Mechanismus kann verschiedene Datenformen - strukturierte Datenbanken, Blogs, Newsfeeds oder sogar Chat-Transkripte - in ein standardisiertes Format konsolidieren, wobei das Embeddings-Modell zur Speicherung der Vektordarstellungen in der Vektordatenbank verwendet wird.
- Retrieval: Diese Vektordatenbanken sind für eine schnelle Suche ausgelegt, damit das System schnell die richtigen Informationen finden und nutzen kann.
- Generierung: Wenn Sie dem System eine Frage stellen, durchsucht es die Vektordatenbank, um die wichtigsten und aktuellsten Informationen zu finden. Diese Informationen, kombiniert mit dem grundlegenden Wissen des LLM, ergeben eine detaillierte und genaue Antwort. Mit anderen Worten: Sie erstellen eine Eingabeaufforderung, die die ursprüngliche Frage, den Verlauf der Konversation (möglicherweise) und die Suchergebnisse enthält, und bitten dann das LLM, anhand der Suchergebnisse vorherzusagen, was als Nächstes kommt.
Ein großer Vorteil dieses Prozesses ist, dass er die Halluzinationen der LLMs einschränkt und es ermöglicht, dass die Antworten tatsächlich referenziert werden, was bedeutet, dass die RAG-Architektur besonders nützlich ist, um einige der bekannten Probleme und Einschränkungen der LLMs anzugehen. Lassen Sie uns einen genaueren Blick auf diese Einschränkungen werfen.
Die Beschränkungen von großen Sprachmodellen (LLMs)
Die meisten von uns sind bereits mit den Fähigkeiten von Large Language Models vertraut. Sie sind in der Lage, Text auf der Grundlage von Text (Input) und einem Kontext (Kurzzeitgedächtnis) zu generieren, und zwar mithilfe eines gigantischen neuronalen Netzes, das oft aus Tausenden von Millionen von Parametern besteht (oder Milliarden, wenn Sie in den USA leben). Das derzeit bekannteste Beispiel ist GPT-4 von OpenAI (Closed Source, verfügbar über API und die sehr bekannte Anwendung ChatGPT).
Trotz des enormen Potenzials von LLMs gibt es jedoch einige Einschränkungen, die man im Auge behalten sollte und die durch Retrieval-Augmented Generation minimiert werden können.
Daten sind möglicherweise nicht aktuell
LLMs können robust sein, menschenähnlichen Text erzeugen und sind dabei bemerkenswert effizient. Sie werden jedoch auf einem endlichen Datensatz trainiert, der manchmal auf veralteten Informationen beruht. Zum Zeitpunkt der Abfassung dieses Artikels liefert GPT-4 beispielsweise Ergebnisse aus Daten, für die es nur bis September 2021 trainiert wurde. Das ist mehr als 2 Jahre her. Dies kann sich zwangsläufig auf einige der von ihm gelieferten Ergebnisse auswirken.
Die Retrieval-Augmented Generation geht dieses Problem an, indem sie auf die Vektordatenbank zurückgreift, die alle aktuellen Informationen enthält.
LLMs sind nicht in der Lage, auf ihre Quelle zu verweisen
Wenn Sie einem Modell eine Frage zu einem Thema stellen, auf das das Modell trainiert wurde (z. B. Wikipedia), kann es zwar antworten, aber nicht sagen, woher diese Informationen stammen. Das liegt daran, dass diese Art von Modellen nicht in der Lage sind, die Quelle ihrer Informationen anzugeben.
Bei RAG werden die Wissensartikel in der Vektordatenbank zusammen mit Verweisen auf die Originalquelle gespeichert.
Halluzinationen
Modelle neigen auch zu "Halluzinationen". Das bedeutet, dass sie sich Dinge ausdenken können. Es gibt Parameter (z. B. die Temperatur), die angepasst werden können, um dies zu minimieren, aber es gibt keine Garantie dafür, dass eine Antwort richtig ist oder dass das Modell nicht gerade eine neue Tatsache "erfunden" hat. Was diese Halluzinationen angeht, so können Modelle manchmal sehr plausible Fiktionen hervorbringen, manchmal aber auch einfach offensichtlichen Unsinn.
Durch RAG werden Halluzinationen begrenzt, da der LLM aufgefordert wird, ausdrücklich nur die Ergebnisse der Suche zu verwenden. Dies schränkt Halluzinationen ein.
Kein Zugang zu privaten Daten
Hinzu kommt, dass LLMs nichts über die privaten Daten einer Organisation wissen. Das liegt ganz einfach daran, dass sie diese noch nie "gesehen" haben. Das heißt, sie wurden nicht anhand dieser Daten geschult.
Dies kann durch eine Technik namens "Feinabstimmung" abgemildert werden, bei der ein Basismodell auf spezifischere Daten trainiert wird, um es zu "spezialisieren". CODEX zum Beispiel ist ein Modell, das auf das Verständnis von Programmiersprachen abgestimmt ist.
Dies ist jedoch oft nicht praktikabel, da es entweder zu ressourcenintensiv ist, sehr spezielle Fähigkeiten erfordert oder einfach nicht genügend Daten (Qualität und Quantität) vorhanden sind, um ein nützliches Modell zu trainieren.
Wie bereits erwähnt, kombiniert RAG die Abfrage privater Daten mit der Generierung von Sprachen, was den Zugang zu privaten Daten ermöglicht und in vielen Fällen besser funktioniert als der Ansatz der Feinabstimmung.

Praktische Anwendungen von RAG
Nachdem Sie nun verstanden haben, was RAG ist, wie es funktioniert und welche Bedeutung es hat, stellen Sie sich das Potenzial eines solchen Systems in Bereichen wie
- Verstärkung von Fachmitarbeitern: Die Mitarbeiter können in Echtzeit auf Daten, Branchenkenntnisse und organisatorisches Wissen zugreifen, was zu einer verbesserten Entscheidungsfindung und Produktivität führt.
- Kundenbetreuung: Chatbots, die von RAG betrieben werden, können zeitnahe, präzise und kontextgenaue Antworten geben, was die Zufriedenheit der Benutzer erheblich steigert.
- Software-Entwicklung: Kopiloten, die Software-Entwickler im gesamten Software-Lebenszyklus unterstützen, von den Anforderungen über die Codierung und Prüfung bis hin zur Dokumentation.
Fazit
Besonders vielversprechend an der RAG-Architektur ist die Fähigkeit, die Grenzen von LLMs zu überwinden. Durch die ständige Aktualisierung des Wissensspeichers stellt der Retrieval-Augmented Generation (RAG)-Ansatz sicher, dass die Daten, auf die er zurückgreift, aktuell sind. Darüber hinaus fördert er durch die Möglichkeit, die genaue Quelle seiner Informationen zu referenzieren, die Transparenz und Vertrauenswürdigkeit, die beide im heutigen datengesteuerten Zeitalter von entscheidender Bedeutung sind.