Einführung in RAG-Anwendungen für Auswertung und Überwachung
Auswertung und Überwachung sind wichtige Komponenten, um zu verstehen, ob Ihre RAG-Anwendung die Anforderungen an *Qualität, Kosten und Wartezeit erfüllt, die von Ihrem Anwendungsfall vorgegeben werden. Technisch erfolgt die Auswertung während der Entwicklung, und die Überwachung wird ausgeführt, sobald die Anwendung in der Produktion bereitgestellt wird. Die grundlegenden Komponenten sind jedoch ähnlich.
RAG für unstrukturierte Daten ist ein komplexes System mit vielen Komponenten, die sich auf die Qualität der Anwendung auswirken. Das Anpassen eines einzelnen Elements kann kaskadierende Auswirkungen auf die anderen Elemente haben. Datenformatierungsänderungen können z. B. die abgerufenen Blöcke und die Fähigkeit des LLM zum Generieren relevanter Antworten beeinflussen. Daher ist es wichtig, die einzelnen Anwendungskomponenten zusätzlich zur Anwendung als Ganzes zu bewerten, um sie anhand dieser Bewertungen iterativ zu optimieren.
Auswertung und Überwachung: Klassisches ML und generative KI
Auswertung und Überwachung von generativen KI-Anwendungen, einschließlich RAG, unterscheiden sich in mehrfacher Hinsicht vom klassischen maschinellen Lernen:
Thema | Klassische ML | Generative KI |
---|---|---|
Metriken | Metriken bewerten die Eingaben und Ausgaben der Komponente, z. B. Merkmalsdrift, Genauigkeit, Abruf, Wartezeit und so weiter. Da es nur eine Komponente gibt, sind die Gesamtmetriken == Komponentenmetriken. | Die Komponentenmetriken bewerten die Eingaben und Ausgaben der einzelnen Komponenten, z. B. Genauigkeit @ K, nDCG, Wartezeit, Toxizität usw. Zusammengesetzte Metriken bewerten, wie mehrere Komponenten interagieren: Treue misst die Einhaltung des Wissens eines Retrievers durch den Generator, der die Ketteneingabe, die Kettenausgabe und die Ausgabe des internen Retrievers benötigt. Gesamtmetriken bewerten die gesamte Eingabe und Ausgabe des Systems, z. B. die Richtigkeit und Wartezeit. |
Auswertung | Die Antwort ist deterministisch „richtig“ oder „falsch“. Deterministische Metriken funktionieren. | Die Antwort ist „richtig“ oder „falsch“, aber: • Es gibt viele richtige Antworten (nicht deterministisch). • Einige richtige Antworten sind richtiger. Sie benötigen: • Menschliches Feedback, um zuversichtlich zu sein. • LLM-bewertete Metriken zur Skalierung der Auswertung. |
Komponenten von Auswertung und Überwachung
Für die effektive Bewertung und Überwachung der Qualität, Kosten und Wartezeit von RAG-Anwendungen sind mehrere Komponenten erforderlich:
- Evaluierungssatz: Um Ihre RAG-Anwendung streng auszuwerten, benötigen Sie einen kuratierten Satz von Auswertungsabfragen (und idealerweise Ausgaben), die repräsentativ für die beabsichtigte Nutzung der Anwendung sind. Diese Auswertungsbeispiele sollten anspruchsvoll und vielfältig sein und aktualisiert werden, um die sich ändernde Nutzung und Anforderungen widerzuspiegeln.
- Metrikdefinitionen: Sie können nicht verwalten, was Sie nicht messen. Um die RAG-Qualität zu verbessern, ist es wichtig zu definieren, was Qualität für Ihren Anwendungsfall bedeutet. Abhängig von der Anwendung können wichtige Metriken die Antwortgenauigkeit, Wartezeit, Kosten oder Bewertungen von wichtigen Projektbeteiligten umfassen. Sie benötigen Metriken, die jede Komponente und das Gesamtsystem messen sowie messen, wie die Komponenten miteinander interagieren.
- LLM-Beurteilungen: Angesichts der offenen Art der LLM-Antworten ist es nicht möglich, bei jeder Auswertung jede einzelne Antwort zu lesen, um festzustellen, ob die Ausgabe korrekt ist. Durch die Verwendung eines zusätzlichen, anderen LLM zum Überprüfen von Ausgaben können Auswertungen skaliert und zusätzliche Metriken berechnet werden, z. B. die Fundiertheit einer Antwort auf Tausende von Kontexttoken, die von menschlichen Auswertern im großen Stil nicht effektiv auszuwerten wären.
- Auswertungsumgebung: Während der Entwicklung hilft Ihnen eine Auswertungsumgebung dabei, schnell Ihre Anwendung für jeden Datensatz in Ihrem Auswertungssatz auszuführen und dann jede Ausgabe über Ihre LLM-Beurteilungen und Metrikberechnungen auszuführen. Dies ist besonders schwierig, da dieser Schritt Ihre innere Entwicklungsschleife „blockiert“. Daher ist Geschwindigkeit von größter Bedeutung. Eine gute Auswertungsumgebung parallelisiert diese Arbeit so weit wie möglich, wobei häufig zusätzliche Infrastrukturen wie mehr LLM-Kapazität bereitgestellt werden.
- Benutzeroberfläche für Projektbeteiligte: Als Entwickler sind Sie möglicherweise kein Experte für den Inhalt der Anwendung, die Sie entwickeln. Um Feedback von menschlichen Experten zu sammeln, die die Anwendungsqualität bewerten können, benötigen Sie eine Schnittstelle, über die sie mit der Anwendung interagieren und detailliertes Feedback abgeben können.
- Protokollierung der Produktionsablaufverfolgung: Einmal in der Produktion müssen Sie eine deutlich höhere Anzahl von Anforderungen/Antworten auswerten und bewerten, wie die einzelnen Antworten generiert wurden. Sie müssen beispielsweise wissen, ob die Grundursache einer Antwort mit niedriger Qualität auf den Abrufschritt oder eine Halluzination zurückzuführen ist. Ihre Produktionsprotokollierung muss die Eingaben, Ausgaben und Zwischenschritte nachverfolgen, z. B. das Abrufen von Dokumenten, um eine laufende Überwachung und frühzeitige Erkennung und Diagnose von Problemen zu ermöglichen, die in der Produktion auftreten.
Diese Dokumente behandeln die Bewertung sehr viel ausführlicher unter Auswerten der RAG-Qualität.