AWS Germany – Amazon Web Services in Deutschland
Bewertung von RAG mit neuen LLM-als-Richter-Fähigkeiten von Amazon Bedrock
von Danilo Poccia übersetzt durch Tobias Wasle
Heute kündigen wir zwei neue Evaluierungsfunktionen in Amazon Bedrock an, die Ihnen dabei helfen, generative KI Anwendungen schneller zu umzusetzen und zu bewerten:
Amazon Bedrock Knowledge Bases unterstützt jetzt RAG-Evaluierung (Vorschau) — Sie können nun eine automatische Wissensdatenbank-Evaluierung durchführen, um Retrieval Augmented Generation (RAG)-Anwendungen mit Amazon Bedrock Knowledge Bases zu bewerten und zu optimieren. Der Evaluierungsprozess verwendet ein großes Sprachmodell (englisch „Large Language Model“, LLM), um die Qualtität der RAG anhand von gegebenen Metriken zu bewerten. Auf Basis dieser Metriken können Sie verschiedene Konfigurationen vergleichen und Ihre Einstellungen anpassen, um die für Ihren Anwendungsfall benötigten Ergebnisse zu erzielen.
Amazon Bedrock Model Evaluation beinhaltet jetzt LLM-as-a-judge (Vorschau) — Sie können nun Tests durchführen und Modelle zu einem Bruchteil der Kosten und Zeit menschlicher Begutachtung bewerten — bei vergleichbarer Qualität der Evaluierung.
Diese neuen Funktionen erleichtern den Weg zur produktiven Nutzung von LLM’s, indem sie eine schnelle, automatisierte Bewertung von KI-gestützten Anwendungen ermöglichen, Feedback-Schleifen verkürzen und Verbesserungen beschleunigen. Diese Evaluierungen bewerten mehrere Qualitätsdimensionen, einschließlich Korrektheit, Nützlichkeit und Kriterien für verantwortungsvolle KI. Etwa Antwortverweigerung und Schädlichkeit.
Um die Interpretation einfach und intuitiv zu gestalten, liefern die Evaluierungsergebnisse Erklärungen für jede Bewertung in natürlicher Sprache, in der Ausgabe, so wie auf der Konsole. Die Bewertungen werden zur einfachen Interpretierbarkeit von 0 bis 1 normalisiert. Die Kategorien werden vollständig mit den jeweiligen Bewertungs-Prompts in der Dokumentation veröffentlicht, sodass auch Nicht-Wissenschaftler verstehen können, wie die Bewertungen zustande kommen.
Lassen Sie uns sehen, wie diese Bewertungen in der Praxis funktionieren.
Verwendung von RAG-Evaluierungen in Amazon Bedrock Knowledge Bases
Wählen Sie in der Amazon Bedrock-Konsole unter dem Abschnitt Inference and Assessment, Evaluations aus. Dor finden Sie den neuen Tab Knowledge Bases
In der Amazon Bedrock-Konsole wählen Sie Evaluationen im Abschnitt Inference and Assessment. Dort finden Sie den neuen Tab Knowledge Bases.
Klicken Sie auf Create und wählen sie einen Namen und eine Beschreibung für die Evaluierung ein. Wählen Sie dann das Evaluator model aus, das die Metriken berechnen soll. Verwenden Sie in diesem Fall Anthropics Claude 3.5 Sonnet.
Wählen Sie die zu evaluierende Wissensdatenbank aus. Für den Test können Sie eine einfache Wissensdatenbank mit einer einzelnen Datei verwenden — etwa den„AWS Lambda Developer Guide„. Damit können für die Evaluierung Fragen zu AWS Lambda gestellt werden.
Sie können entweder die Abruffunktion allein oder den gesamten Abruf-und-Generierungs-Workflow evaluieren. Diese Wahl beeinflusst die Metriken, die im nächsten Schritt verfügbar sind. Wählen Sie „Retrieval and Response Generation“ um den Gesamtprozess zu evaluieren aus Dokumentabruf, Zusammenfassung und Antwort-Generierung zu evaluieren. Wählen Sie dann das Modell, dass die Bewertung durchführen soll — in diesem Beispiel Anthropics Claude 3 Haiku. Sie können auch Amazon Bedrock Guardrails verwenden und die Laufzeit-Inferenzeinstellungen anpassen, indem Sie den Link configurations unter der Modellauswahl verwenden.
Danach können Sie auswählen, welche Metriken evaluiert werden sollen. In diesem Beispiel sind Helpfulness (Nützlichkeit) und Correctness (Korrektheit) im Abschnitt Quality ausgewählt, sowie Harmfulness (Schädlichkeit) im Abschnitt Responsible AI metrics.
Erstellen Sie einen Datensatz, der zur Evaluierung verwenden soll. Das ist eine JSONL-Datei, die Angaben zur Evaluierung enthält und die vorab in Amazon Simple Storage Service (Amazon S3) hochgeladen wird. Jede Zeile enthält eine Konversation, und für jede Nachricht gibt es eine Referenzantwort.
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"A trigger is a resource or configuration that invokes a Lambda function such as an AWS service."}]}],"prompt":{"content":[{"text":"What is an AWS Lambda trigger?"}]}}]}
{"conversationTurns":[{"referenceResponses":[{"content":[{"text":"An event is a JSON document defined by the AWS service or the application invoking a Lambda function that is provided in input to the Lambda function."}]}],"prompt":{"content":[{"text":"What is an AWS Lambda event?"}]}}]}
Geben Sie die S3-Prefix an, in dem die Ergebnisse der Evaluierung gespeichert w
erden sollen. Der Evaluierungsauftrag erfordert, dass das S3-Bucket mit den im Amazon Bedrock User Guide beschriebenen Cross-Origin Resource Sharing (CORS)-Berechtigungen konfiguriert ist ([EN]).
Für den Servicezugriff müssen Sie eine AWS Identity and Access Management (IAM)-Servicerolle erstellen oder auswählen, die Amazon Bedrock annehmen kann und die den Zugriff auf die von der Evaluierung verwendeten Amazon Bedrock- und Amazon S3-Ressourcen erlaubt.
Nach einigen Minuten ist die Evaluierung abgeschlossen, und Sie können die Ergebnisse einsehen. Die tatsächliche Dauer einer Evaluierung hängt von der Größe des Prompt-Datensatzes und den verwendeten Generator- und Evaluator-Modellen ab. Die Metric summary bewertet die Gesamtleistung anhand der durchschnittlichen Bewertung über alle Konversationen hinweg.
Danach gibt das Tab Generation metrics breakdowns Aufschluss zu jeder ausgewählten Evaluierungsmetrik. In diesem Fall war der Evaluierungsdatensatz sehr klein (zwei Zeilen), daher gibt es keine Verteilung zu betrachten.
Von hier aus können Sie einzelne Konversationen ansehen und wie diese bewertet wurden. Um alle Konversationen zu sehen, können Sie die vollständige Ausgabe im S3-Bucket einsehen.
Um herauszufinden, warum Helpfulness etwas unter eins liegt können Sie die Daten aufklappen und in den Bereich Helpfulness hineinsehen. Hier sehen sie den vorgegebenen Prompt der für das Beispiel, die generierte Antwort die Referenzantwort aus den Evaluierungdaten sowie die berechnete Bewertung im Bezug auf die ausgewählte Metrik Helpfulness). Wählen Sie die Bewertung aus, um die Begründung des Modells zu sehen. Laut dem Modell wäre es hilfreich gewesen, ausführlichere Informationen zu bekommen. Modelle sind wahrlich strenge Richter.
Vergleich von RAG-Evaluierungen
Das Ergebnis einer Evaluierung kann für sich genommen schwer zu interpretieren sein. Aus diesem Grund erlaubt die Konsole den Vergleich von Ergebnissen aus mehreren Evaluierungen, um die Unterschiede zu verstehen. Auf diese Weise können Sie erkennen, ob sich für Sie wichtigen Metriken verbessern oder nicht.
In diesem Beispiel habe ich zuvor zwei andere Wissensdatenbank-Evaluierungen durchgeführt. Sie beziehen sich auf die gleiche Wissensdatenbanken mit den gleichen Datenquellen, verwenden aber unterschiedlichen Chunking- und Parsing-Konfigurationen und andere Embedding-Modelle.
Ich wähle die beiden Evaluierungen aus und wähle Compare. Um in der Konsole vergleichbar zu sein, müssen die Evaluierungen die gleichen Metriken abdecken.
Im Tab At a glance sehen Sie einen visuellen Vergleich der Metriken anhand in Form eines Netzdiagrams. In diesem Fall unterscheiden sich die Ergebnisse nicht besonders. Der Hauptunterschied liegt in der Faithfulness-Bewertung (Zuverlässigkeit).
Im Tab Evaluation details finden Sie einen detaillierten Vergleich der Ergebnisse für jede Metrik, einschließlich der Unterschiede in den Bewertungen.
Verwendung von LLM-as-a-judge in Amazon Bedrock Model Evaluation (Vorschau)
Wählen Sie erneut Evaluations in der Amazon Bedrock-Konsole im Abschnitt Inference and Evaluation in der Navigationsleiste. Wählen Sie Create und dann die neue Option Automatic: Model as a judge.
Geben Sie einen Namen und eine Beschreibung für die Evaluierung ein und wählen das Evaluator-Modell, das zur Generierung von Evaluierungsmetriken verwendet wird. In diesem Beispiel wird Anthropics Claude 3.5 Sonnet verwendet.
Wählen Sie dann das große Sprachmodell, das Sie evaluieren möchten. Eine solche Modellevaluierung kann helfen zu verstehen, ob ein kleineres und kostengünstigeres Modell die Anforderungen ihres Anwendungsfalls erfüllt. Dazu können Sie beispielsweise Anthropics Claude 3 Haiku auswählen.
Im nächsten Abschnitt können Sie die zu evaluierenden Metriken auswählen. Im Beispiel sind Helpfulness und Correctness im Abschnitt Quality und Harmfulness im Abschnitt Responsible AI metrics ausgewählt.
Geben sie unter Dataset den Amazon S3-Speicherort an, an dem der Evaluierungsdatensatz gespeichert ist, und den Ordner in einem S3-Bucket, in dem die Ergebnisse des Evaluierungsauftrags gespeichert werden.
Für den Evaluierungsdatensatz habe ich eine weitere JSONL-Datei vorbereitet. Jede Zeile enthält eine Eingabeaufforderung und eine Referenzantwort. Beachten Sie, dass das Format im Vergleich zu Wissensdatenbank-Evaluierungen unterschiedlich ist.
{"prompt":"Write a 15 words summary of this text:\n\nAWS Fargate is a technology that you can use to run containers without having to manage servers or clusters. With AWS Fargate, you no longer have to provision, configure, or scale clusters of virtual machines to run containers. This removes the need to choose server types, decide when to scale your clusters, or optimize cluster packing.","referenceResponse":"AWS Fargate allows running containers without managing servers or clusters, simplifying container deployment and scaling."}<br />{"prompt":"Give me a list of the top 3 benefits from this text:\n\nAWS Fargate is a technology that you can use to run containers without having to manage servers or clusters. With AWS Fargate, you no longer have to provision, configure, or scale clusters of virtual machines to run containers. This removes the need to choose server types, decide when to scale your clusters, or optimize cluster packing.","referenceResponse":"- No need to manage servers or clusters.\n- Simplified infrastructure management.\n- Improved focus on application development."}
Schließlich wählen Sie eine IAM-Servicerolle aus, die Amazon Bedrock Zugriff auf die Ressourcen gewährt die diese Evaluierung benötigt.
Nach wenigen Minuten nachdem die Evaluierung angelegt wurde ist sie abgeschlossen. Ähnlich wie bei der Wissensdatenbank-Evaluierung beginnt das Ergebnis mit einer Metric Summary.
Die Generation metrics breakdown detailliert jede Metrik, und Sie können Antworten und Details für einige Beispiel-Prompts einsehen, wie etwa für die Helpfulness (Nützlichkeit).
Die Prompts in der Evaluierung wurden vom Modell korrekt verarbeitet. Die Evaluierung gibt Ihnen Aufschluss, wie geeignet das Modell für Ihren Anwendungsfall ist. Wenn Ihre Anwendung ähnliche Prompts verarbeiten soll, wie die Prompts die in dieser Evaluierung verwendeten wurden, ist das evaluierte Modell eine gute Wahl.
Wissenswertes
Diese neuen Evaluierungsfunktionen sind als Vorschau in den folgenden AWS-Regionen verfügbar:
- RAG-Evaluierung in US East (N. Virginia), US West (Oregon), Asien-Pazifik (Mumbai, Sydney, Tokio), Kanada (Zentral), Europa (Frankfurt, Irland, London, Paris) und Südamerika (São Paulo)
- LLM-as-a-judge in US East (N. Virginia), US West (Oregon), Asien-Pazifik (Mumbai, Seoul, Sydney, Tokio), Kanada (Zentral), Europa (Frankfurt, Irland, London, Paris, Zürich) und Südamerika (São Paulo)
Beachten Sie, dass die verfügbaren Evaluierungsmodelle von der Region abhängen.
Die Preisgestaltung basiert auf der Standard-Amazon Bedrock-Preisgestaltung([EN]) für Modellinferenz. Es fallen keine zusätzlichen Gebühren für Evaluierungsaufträge selbst an. Die Evaluierungsmodelle und evaluierte Modelle werden gemäß ihrer üblichen On-Demand- oder provisionierten Preisgestaltung abgerechnet. Die Richter-Prompt-Vorlagen sind Teil der Eingabe-Tokens, und diese Richter-Prompts können in der AWS-Dokumentation zur Transparenz eingesehen werden.
Der Evaluierungsdienst ist initial für englischsprachige Inhalte optimiert, auch wenn die zugrunde liegenden Modelle mit Inhalten in anderen Sprachen arbeiten können, die sie unterstützen.
Um zu beginnen, besuchen Sie die Amazon Bedrock-Konsole. Um mehr zu erfahren, können Sie auf die Amazon Bedrock-Dokumentation([EN]) zugreifen und Feedback an AWS re:Post für Amazon Bedrock senden. Sie finden tiefgehende technische Inhalte und entdecken, wie unsere Builder-Communities Amazon Bedrock nutzen, auf community.aws([EN]). Lassen Sie uns wissen, was Sie mit diesen neuen Funktionen bauen!
Über die Autoren
Danilo Poccia arbeitet mit Startups und Unternehmen jeder Größe zusammen, um deren Innovation zu unterstützen. In seiner Rolle als Chief Evangelist (EMEA) bei Amazon Web Services nutzt er seine Erfahrung, um Menschen dabei zu helfen, ihre Ideen zum Leben zu erwecken. Dabei konzentriert er sich auf serverlose Architekturen und ereignisgesteuerte Programmierung sowie auf die technischen und geschäftlichen Auswirkungen von maschinellem Lernen und Edge Computing. Er ist der Autor von „AWS Lambda in Action“ aus dem Manning-Verlag. |