KI trIFFT auf Domain Driven Design
Wie wir mit Knowledge Maps bessere RAG-Systeme bauen
Was ist ein RAG (Retrieval Augmented Generation)-Modell?
Große Sprachmodelle, auch als LLMs bekannt, sind durch das Training mit enormen Datenmengen und die Nutzung von Milliarden von Parametern in der Lage, Texte für eine Vielzahl von Aufgaben wie Fragebeantwortung, Sprachübersetzung und Textergänzung zu generieren.
ChatGPT ist nur in der Lage, auf Basis der Daten, mit denen es trainiert wurde, antworten zu liefern. Fehlen die nötigen Informationen zur Beantwortung einer Frage in den Trainingsdaten, generieren Sprachmodelle mitunter völlig frei erfundene, inkorrekte Antworten: Sie halluzinieren.
Ein RAG System kann die Fähigkeit der natürlichen Sprachgenerierung eines Sprachmodells nutzen, dabei aber auf eigene Datenquellen zugreifen. Das heißt, das System generiert Antworten nicht nur auf Basis der Daten, mit denen es trainiert wurde, sondern auf Basis der Daten, die man dem System zur Verfügung stellt. Dies können zum Beispiel Unternehmens-spezifische Daten oder externe Quellen sein.
RAG Systeme liefern immer korrekte Antworten! Oder doch nicht?
In einem RAG-System könnte also das Risiko, dass inkorrekte Antworten auf firmenspezifische Fragen generiert werden – also das Halluzinieren – als minimal betrachtet werden, vorausgesetzt, es greift auf eine qualitativ hochwertige Wissensdatenbank zurück.
Dies ist zumindest das gängige Versprechen, das mit den üblichen RAG-Systemen verbunden ist.
Leider sind diese Versprechen (aktuell noch) falsch, wie wir bereits empirisch in unseren Enterprise AI Leaderboard nachweisen konnten:
Dieses Enterprise AI Leaderboard zeigt, dass ChatGPT-4, gpt-4-0125 RAG, ChatPDF sowie Ask Your PDF allesamt bei dem Versuch scheiterten, 10 korrekte Antworten auf Basis eines bereitgestellten PDFs zu liefern.
Woran scheitern gängige RAG-Systeme?
Um diese Frage zu beantworten, tauchen wir noch kurz etwas in die Technik gängiger RAG-Systeme ein:
Vektordatenbanken und Chunks
Vektorbasiertes Retrieval-Augmented Generation (RAG) zerlegt umfangreiche Dokumente in kleinere, handhabbare „Chunks“, um die Informationsverarbeitung zu optimieren. Ähnlich wie ein großes Buch, das in kürzere Abschnitte aufgeteilt wird, erleichtern diese Chunks die schnelle Durchsuchung und den Zugriff auf Informationen. Die meisten lokal nutzbaren Modelle erlauben Chunks in der Größe von maximal nur 512 Zeichen.
Sehen wir uns an, wie ein Text in Chunks unterschiedlicher Größen zerlegt werden kann:
Chunks führen zum Verlust von Bedeutung
Gehostete Modelle wie OpenAI-Einbettungen erlauben zwar größere Chunks, berechnen aber ebenso letztendlich nur eine Liste an Zahlen (Vektor), um den gesamten Chunk zu repräsentieren. Diese Darstellung als Vektor, egal wie groß oder klein die Chunks sind, führt mitunter dazu, dass die Bedeutung verloren geht.
Chunking und das Speichern in einer Vektordatenbank ist ein rein technischer Ansatz zum Verstehen von Dokumenten und Wissen. Dies ist auch der Grund, warum er nicht gut funktioniert: Es fehlt an dem grundlegenden Verständnis der Zusammenhängen und einer Beschreibung davon, wie das Unternehmen überhaupt funktioniert.
In der Sprache des Domain Driven Designs sagen wir: Es fehlt an grundlegendem Domain Knowledge.
Die Grenzen vektorbasierter Datenbanken im Geschäftskontext
Das Problem mit vektorbasierten Datenbanken liegt darin, dass sie versuchen, fachliche Herausforderungen ausschließlich mit technologischen Mitteln zu bewältigen.
Um jedoch ein Geschäft und dessen Probleme wirklich zu verstehen, ist ein tiefgreifendes Verständnis des jeweiligen Business notwendig. Genau deswegen arbeiten wir mit Knowledge Maps.
Wie Knowledge Maps zu besseren RAG-Systemen führen
Wie wir also feststellen konnten, reicht es nicht aus, Dokumente in Chunks zu zerlegen, in einer Vektrodatenbank zu speichern und darauf zu hoffen, dass dadurch die komplexen Zusammenhänge, Abhängigkeiten und Nuancen aller Firmen-Spezifika erkannt werden können und somit korrekte, nützliche Antworten geliefert werden.
Bevor eine Antwort generiert werden kann, braucht das System ein Verständnis über die komplexen Zusammenhänge und Strukturen dessen, was wir im Domain Driven Design als “Domain” bezeichnen: Die fachliche Ebene dessen, wofür wir eine technische Lösung entwickeln.
Knoweldge Maps
Bevor wir mit der technischen Umsetzung starten, bereiten wir zuerst das Wissen rund um die Geschäftsdomäne auf. Wir analysieren das Business und bereiten die Informationen auf, um es dem Sprachmodell zugänglich zu machen. Diese Information rund um das Business nennen wir: Knowledge Maps.
Domain Experts
Wir erhalten diese Information, indem wir mit Menschen, die fachliches Wissen besitzen, sprechen. Wir nennen diese: Domain Experts.
Das Wissen der fachlichen Experten wird also in ein Modell übersetzt, das Informationen rund um die Zusammenhänge der Domäne beinhaltet.
Das Modell wird in Form einer Knowledge Map in das System integriert, wodurch die Informationen, die bei der Abfrage der bereitgestellten Daten durchsucht werden, im fachlichen Domänen-Kontext validiert werden. Wie wir bereits feststellen konnten, werden somit die durch das RAG System generierten Antworten um ein Vielfaches besser.
Knowledge Maps: Leicht anpassbar, einfach zu optimieren
In einer vektorbasierten Datenbank ist die Überprüfung der Qualität der Datensegmentierung unmöglich, da sie ausschließlich aus numerischen Werten besteht.
Wenn man jedoch einem Domain Experten, der/die keine technischen Kenntnisse hat, eine Knowledge Map präsentiert, kann diese sofort verstehen und korrigiert werden.
Mit diesem Ansatz kann man mit sehr wenig Aufwand in kurzer Zeit Verbesserungen vornehmen und das System stärker an die Geschäftsbedürfnisse anpassen. Im Gegensatz zu vektorbasierten RAGs, die nicht die Fähigkeit zum "Lernen" besitzen, erleichtert dieser Ansatz die kontinuierliche Anpassung und Verbesserung des Systems.
Zusammenfassung
Gängige RAG-Systeme nutzen einen rein technischen Ansatz, um aus Datenquellen relevante Informationen zu suchen und Antworten in Form von natürlicher Sprache auszugeben.
Dafür werden die bereitgestellten Daten in Chunks zerlegt und in Vektordatenbanken gespeichert. Das Problem dieser Technik zeigt sich in der oftmals schlechten Qualität der Antworten. Beim Vorgang des Chunkings und der Speicherung als Vektor geht mitunter die Bedeutung verloren, was zu qualitativ schlechten Antworten auf Nutzerfragen führt.
Unsere Lösung besteht darin, dem KI-System Wissen über die Domäne, also über die Fachlichkeit bereitzustellen: In Form von Knowledge Maps kreieren wir Modelle, welche einem RAG-System Wissen über ein Unternehmen und dessen spezifische komplexe Zusammenhänge und Strukturen liefert. Dank dieser Knowledge Maps können Nutzeranfragen zielgerichteter und erfolgreicher auf die vorhandene Datenbasis gelenkt werden, um korrekte Antworten zu liefern und somit den Mehrwert zu erhöhen.
Das könnte Sie auch Interessieren
Das 101 der KI-Sprachmodelle und ihr Nutzen für Unternehmen
Wir erläutern die Grundlagen sogenannter Large Language Models (Sprachmodelle) und erklären, wie man sie in Unternehmen einsetzen kann.
Interessiert an einer KI-Lösung für Ihr Unternehmen?
Wir freuen uns, von Ihnen zu hören!
mail: christoph.hasenzagl@trustbit.tech
tel: +43 664 88454881