Es gibt viele Fragen, die man sich zu einer RAG-Lösung stellen kann:
Eine klare Strategie während der gesamten Entwicklung einer RAG-basierten Lösung ist entscheidend für einen erfolgreichen Weg zur Produktion. Wir beobachten im Rahmen von Pilotprojekten die unterschiedlichsten empirischen Auswertungen, die mitunter nicht reproduzierbar sind. Um die Leistung einer in Entwicklung befindlichen RAG-basierten Lösung zu verbessern oder ein Produktionsproblem richtig zu diagnostizieren, müssen die Evaluierungsaufgaben reproduzierbar und schnell durchführbar sein. RAG-Pipelines sollten sowohl hinsichtlich ihrer Abruf- als auch ihrer Generierungskomponenten systematisch und konsistent evaluiert werden.
Das Verständnis der RAG-basierten Lösungsleistung spielt eine entscheidende Rolle in verschiedenen Schritten des Lösungslebenszyklus während der:
Allerdings sollte der Aufwand für den Aufbau einer Bewertungs-Engine nicht unterschätzt werden, insbesondere wenn es darum geht, einen Goldstandard-Datensatz (Referenzdatensatz) mit Referenzantworten und Referenzkontexten zu erstellen.
In diesem Dokument werden wir verschiedene Bewertungsansätze und -metriken diskutieren und einige der wiederverwendbaren Assets hervorheben, die die Bewertung dieser Lösungen erleichtern.
LLMaaJ (LLM as a Judge) hat sich im letzten Jahr als eine führende Metrik herauskristallisiert, um die Herausforderung des Aufbaus einer referenzbasierten Bewertungs-Engine zu meistern. Es hat sich gezeigt, dass diese Auswertungstechnik eine gute Korrelation mit der menschlichen Beurteilung aufweist. Hier sind mehrere Eigenschaften, die nicht durch bestehende Metriken und Benchmarks quantifiziert werden können, aber mit LLMaaJ ausgewertet werden können:
Wenn beispielsweise ein Bewertungsmodell zur Bewertung der Ausgabe anderer Modelle verwendet wird, sollte der Bewertungsprompt eine Beschreibung der zu bewertenden Attribute und der Bewertungsskala enthalten und interpoliert werden, um die zu bewertende Antwort einzubeziehen.
In diesem Beispiel wird das Modell gebeten, den Sprachstil der Antwort zu bewerten und eine Klassifikation zurückzugeben.
Du bist ein fairer und unvoreingenommener Wertungsrichter. Du wirst gebeten, die Antwort eines Chatbots nach seiner Stimmung zu klassifizieren. Werte die folgende Antwort aus und extrahiere die entsprechende Klasse. Die möglichen Klassen sind POSITIV, NEUTRAL, NEGATIV. Erläutere deine Argumentation und fasse abschließend die klassifizierte Stimmungslage zusammen.
{{response}}
Als weitere Option finden Sie im Folgenden ein Few-Shot-Prompting-Beispiel für eine LLM-gesteuerte Bewertung für NER-Aufgaben (Named Entity Recognition).
-------------------------------------------------Prompt-------------- xxx-------------------------- Du bist ein professioneller Gutachter und deine Aufgabe ist es, die Genauigkeit der Entitätsextraktion als Score in einem bestimmten Text zu bewerten. Du erhältst einen Text, eine Entität und den Wert der Entität. Bitte gib ein numerisches Ergebnis auf einer Skala von 0 bis 1 an, wobei 1 das beste Ergebnis und 0 das schlechteste Ergebnis ist. Verwende ausschließlich numerische Werte für die Bewertung. Hier sind die Beispiele: Text: Wo befindet sich das IBM-Büro in New York? Entität: Unternehmen Wert: IBMs Score: 0 Text: Rufen Sie den Kundenservice unter 1-800-555-1234 an, um Hilfe zu erhalten. Entität: Telefonnummer Wert: +1 888 426 4409 Score: 1 Text: watsonx besteht aus drei Komponenten: watsonx.ai, watsonx.data und watsonx.governance. Entität: Produktname Wert: Google Score: 0,33 Text: Die Konferenz ist für den 15. August 2024 geplant. Entität: Datum Wert: 15. August 2024 Score: 1 Text: Meine Kollegen John und Alice werden an der Besprechung teilnehmen. Entität: Name einer Person Wert: Alice Score: 1 -----------------------------------Ausgabe---------------------------------------------Score: 0,67 ----------------------------------------------------------------------
Die Komplexität von RAG-Systemen wird maßgeblich von der rätselhaften Natur der Large Language Models (LLMs) sowie von den komplexen und miteinander verbundenen Komponenten innerhalb der RAG-Pipeline beeinflusst. Angesichts der Weiterentwicklung der Technologie in bahnbrechendem Tempo wird die Bewertung eines so komplexen Systems zu einer zunehmend mühsamen Aufgabe. Um dieser Herausforderung zu begegnen, wurden zahlreiche Benchmarks und Bewertungstools speziell für RAG-Systeme entwickelt. Diese Ressourcen dienen dazu, einen standardisierten und systematischen Ansatz zur Bewertung der Leistung und Wirksamkeit dieser Systeme bereitzustellen.
Wie beispielsweise in der folgenden Tabelle (adaptiert aus „Evaluation of Retrieval-Augmented Generation: A Survey“) dargestellt, gibt eine Vielzahl von RAG-Evaluierungsmethoden und -tools, von denen jede(s) eigene Stärken und Anwendungsgebiete hat. Diese Tabelle erhebt keinen Anspruch auf Vollständigkeit und dient dazu, einen kurzen Überblick über die aktuelle Geschäftswelt der RAG-Bewertung zu geben.
Im Zusammenhang mit der Abrufkomponente von RAG-Systemen ergeben sich mehrere Herausforderungen:
Im Hinblick auf die Abrufkomponente entstehen Herausforderungen hauptsächlich aufgrund der umfangreichen und dynamischen Natur prospektiver Wissens-Repositories, der zeitlichen Aspekte von Daten und der Heterogenität der Informationsquellen. Angesichts dieser Herausforderungen wird deutlich, dass herkömmliche Bewertungskennzahlen wie Recall und Precision unzureichend und schlecht für eine umfassende Bewertung geeignet sind. Stattdessen werden differenziertere und kontextabhängige Metriken benötigt, die die Komplexität und Feinheiten des Abrufprozesses effektiv erfassen können.
In Bezug auf die Generierungskomponente ist es wichtig, die komplizierte Beziehung zwischen der Präzision des Abrufprozesses und der Qualität der generierten Ausgabe zu berücksichtigen. Dies erfordert die Entwicklung und Implementierung umfassender Metriken, die eine ganzheitliche und nuancierte Bewertung der Leistung ermöglichen können.
Die Bewertung des RAG-Systems als Ganzes erfordert wiederum eine gründliche Untersuchung der Auswirkungen der Abrufkomponente auf den Generierungsprozess sowie eine Beurteilung der Gesamteffektivität und -effizienz des Systems bei der Erreichung seiner beabsichtigten Ziele.
RAG Triad ist ein Evaluation Framework zur Bewertung der Zuverlässigkeit und kontextuellen Genauigkeit der Antworten des Large Language Model (LLM). Es besteht aus drei Bewertungen: Kontextrelevanz, Fundiertheit und Antwortrelevanz. Diese Bewertungen zielen darauf ab, LLM-Antworthalluzinationen zu identifizieren, indem die Kontextrelevanz, die Zuverlässigkeit der Antworten auf den Kontext und die Übereinstimmung der Antworten mit Benutzeranfragen überprüft werden.
Die RAG-Bewertung kann sowohl mit automatischen referenzbasierten als auch referenzlosen Metriken durchgeführt werden. Es gibt eine Bestenliste auf HuggingFace, die zeigt, wie gut die Open-Source-LLMs im Vergleich zueinander abschneiden.
Die folgenden Abrufmetriken basieren auf Referenzen, was bedeutet, dass jeder Chunk eindeutig identifiziert werden muss (contexts_id) und jede Frage eindeutige IDs der Ground-Truth-Kontexte besitzt.
Die für Empfehlungssysteme verwendeten rangabhängigen Bewertungsmetriken sind für RAG geeignet.
MRR wird in Unitxt verwendet und misst die Position des ersten relevanten Dokuments in den Suchergebnissen. Ein hoher MRR-Wert nahe 1 deutet darauf hin, dass relevante Ergebnisse weiter oben angezeigt werden, was auf eine hohe Suchqualität hinweist. Umgekehrt bedeutet ein niedrigerer MRR eine geringere Suchleistung, wobei relevante Antworten weiter unten in den Ergebnissen positioniert werden.
Vorteile: Betont die Bedeutung des ersten relevanten Ergebnisses, das in Suchszenarien oft entscheidend ist.
Nachteile: Eine Einschränkung besteht darin, dass die Abfrage nicht dafür bestraft wird, anderen Grundwahrheiten einen niedrigen Rang zuzuweisen, zudem ist es nicht für die Auswertung der gesamten Liste der abgerufenen Ergebnisse geeignet, da man sich nur auf das erste relevante Element konzentriert.
Ranking von Qualitätsmetriken, die bewerten, wie gut eine Liste von Elementen im Vergleich zu einem idealen Ranking geordnet ist, bei dem alle relevanten Elemente an der Spitze stehen.
NDCG@k wird berechnet, indem DCG@k durch den idealen DCG@k (IDCG@k) geteilt wird, der die Punktzahl einer perfekt geordneten Liste von Elementen bis zur Position k darstellt. DCG misst die Gesamtrelevanz der Elemente in einer Liste.
liegt zwischen 0 und 1
Vorteile: Berücksichtigt die Position relevanter Elemente und bietet so einen umfassenderen Überblick über die Ranking-Qualität; kann an verschiedene Ranking-Ebenen angepasst werden (z. B. NDCG@k).
Nachteile: Komplexer zu berechnen und zu interpretieren als einfachere Metriken wie MRR; erfordert eine ideale Rangfolge für den Vergleich, die möglicherweise nicht immer verfügbar oder leicht zu definieren ist.
Mean Average Precision (MAP) ist eine Metrik, die die Rangfolge jedes korrekt abgerufenen Dokuments innerhalb einer Ergebnisliste bewertet
Sie ist vorteilhaft, wenn Ihr System die Reihenfolge der Ergebnisse berücksichtigen und mehrere Dokumente in einem einzigen Durchlauf abrufen muss.
Vorteile: Berücksichtigt sowohl Präzision als auch Rückruf und bietet eine ausgewogene Bewertung der Leistung; ist geeignet für Aufgaben, die mehrere relevante Dokumente und deren korrekte Reihenfolge erfordern.
Nachteile: Kann im Vergleich zu einfacheren Metriken rechenintensiver sein; ist möglicherweise nicht so einfach zu interpretieren wie andere Metriken und erfordert mehr Kontext, um die Ergebnisse vollständig zu verstehen.
Misst, ob die Ausgabe auf dem gegebenen Kontext basiert oder ob das Modell halluzinierte Antworten erzeugt.
Vorteile: Gewährleistet, dass die generierten Antworten vertrauenswürdig sind und auf dem bereitgestellten Kontext basieren; unverzichtbar für Anwendungen, bei denen faktische Korrektheit von größter Bedeutung ist.
Nachteile: Die Beurteilung erfordert oft menschliches Urteilsvermögen, was sie arbeitsintensiv und subjektiv macht; partielle Ungenauigkeiten oder subtile Halluzinationen werden möglicherweise nicht vollständig erfasst.
Robustheit wird allgemein als die Funktionen der Lösung definiert, sich an unterschiedliche Eingabevariationen anzupassen, wie z. B. Datenstörungen wie Leerzeichen, Groß-/Kleinschreibung, Tabulatoren usw.
Die Überprüfung der Robustheit ist ein wichtiger Aspekt des Evaluierungsprozesses und kann beispielsweise mithilfe von Unitxt-Semantik erreicht werden
Vorteile: Stellt sicher, dass das Modell zuverlässig unter verschiedenen Eingabebedingungen funktioniert; Anwendbarkeit in der realen Welt: Wichtig für praktische Anwendungen, bei denen die Eingabedaten möglicherweise nicht perfekt formatiert sind.
Nachteile: Erfordert gründliche Tests über viele Varianten hinweg, was zeitaufwändig sein kann; Definition von Varianten: Es ist schwierig, alle möglichen Eingaben zu definieren und zu messen.
Misst die Qualität der Textgenerierung durch den Vergleich der Überlappung von n-Grammen, Wortfolgen und Wortpaaren zwischen dem maschinell erzeugten Text und einer Reihe von Referenztexten. Wird häufig zur Bewertung von Aufgaben wie Textzusammenfassung und Übersetzung eingesetzt.
Vorteile: Etabliert und anerkannt in der NLP-Community, bietet einen Vergleichsstandard; geeignet für Aufgaben, bei denen die Erfassung aller relevanten Informationen wichtig ist.
Konzentriert sich auf die Überlappung von n-Grammen, die möglicherweise nicht die semantische Qualität oder den Sprachfluss erfassen; kann durch die Länge des generierten Textes beeinflusst werden, wodurch kürzere oder prägnantere Ausgaben benachteiligt werden können.
Misst die Qualität maschinell übersetzter Texte durch den Vergleich mit einer oder mehreren Referenzübersetzungen. Bewertet die Genauigkeit der n-Gramme im generierten Text im Vergleich zu den Referenztexten. Wird hauptsächlich zur Bewertung von Übersetzungen verwendet.
Vorteile: Effektiv für Aufgaben, bei denen Präzision und exakte Übereinstimmungen wichtig sind; Standard-Metrik: In der Machine-Translation-Community weit verbreitet, bietet einen Benchmark für den Vergleich.
Nachteile: Legitime Abweichungen in der Formulierung, die nicht exakt mit den Referenztexten übereinstimmen, können bestraft werden; Blindheit gegenüber partiellen Ungenauigkeiten: Teilweise Ungenauigkeiten oder subtile Bedeutungsunterschiede werden möglicherweise nicht vollständig erfasst.
Die CPU-Auslastung wird hauptsächlich für die Abrufphase verwendet, und die GPU-Auslastung wird hauptsächlich für die Generierungsphase eingesetzt.
Beispiel: Kosten von OpenAI-API-Aufrufen
Kosten für Speicher, Netzwerk, Computerressourcen usw.
Kosten für Wartung, Support, Überwachung, Protokollierung, Sicherheitsmaßnahmen usw.
Wenn die Metriken auf eine suboptimale Leistung hinweisen, die Metriken jedoch günstige Ergebnisse liefern, empfiehlt sich Folgendes:
Wenn die Situation umgekehrt ist, also die Abrufmetriken eine starke Leistung zeigen, aber die Ergebnisse der Generierung suboptimal sind, sollten folgende Strategien zur Verbesserung der Modellleistung in Betracht gezogen werden:
In dem Szenario, in dem sowohl die Abruf- als auch die Generierungsmetriken eine unzureichende Leistung aufweisen, wäre es ratsam, die ersten Phasen der Pipeline zu überprüfen und neu zu überdenken, z. B. die Verbesserung der Metadaten, die Verfeinerung der Wissensbasis und die Optimierung des Abrufmechanismus.
Dieser Ansatz betont die Bedeutung einer umfassenden und nuancierten Bewertung des RAG-Systems, die das Zusammenspiel von Abruf- und Generierungskomponenten sowie die allgemeine Effektivität des Systems bei der Erreichung seiner angestrebten Ziele und Vorgaben berücksichtigt.
Vicky Kuo, Amna Jamal, Luke Major, Chris Kirby
Aktualisiert: 15. November 2024