AWS Germany – Amazon Web Services in Deutschland
Verhindern sachlicher Fehler aufgrund von LLM-Halluzinationen mit mathematisch fundierten Automated Reasoning Prüfungen (Vorschau)
von Antje Barth übersetzt durch Desiree Brunner
Heute fügen wir Automated Reasoning (in Deutsch: automatisiertes logisches Denken) Prüfungen (Vorschau) als neue Schutzmaßnahme in Amazon Bedrock Integritätsschutz (in Englisch: “Guardrails”) hinzu, um Ihnen zu helfen, die Genauigkeit von Antworten, die von großen Sprachmodellen (in Englisch: “LLMs”) generiert werden, mathematisch zu validieren und sachliche Fehler durch Halluzinationen vorzubeugen.
Amazon Bedrock Integritätsschutz ermöglicht es Ihnen, Schutzmaßnahmen für generative Künstliche Intelligenz (KI)-Anwendungen zu implementieren, indem unerwünschte Inhalte gefiltert, persönlich identifizierbare Informationen zensiert, die Inhaltssicherheit und der Datenschutz verbessert werden. Sie können Richtlinien für verbotene Themen, Inhaltsfilter, Wortfilter, PII-Zensierung, “Contextual Grounding” (in Deutsch: kontextuelle Fundierung) und jetzt auch Automated Reasoning Prüfungen konfigurieren.
Automated Reasoning Prüfungen helfen, sachliche Fehler durch Halluzinationen zu verhindern, indem sie fundierte mathematische, logikbasierte algorithmische Verifizierungs- und Argumentationsprozesse verwenden, um die von einem Modell generierten Informationen zu überprüfen. Dadurch stimmen die Ausgaben mit bekannten Fakten überein und basieren nicht auf erfundenen oder inkonsistenten Daten.
Amazon Bedrock Integritätsschutz ist die einzige verantwortungsvolle KI-Funktion, die von einem großen Cloud-Anbieter angeboten wird und Kunden dabei hilft, Sicherheit, Datenschutz und Wahrheitsgehalt für Ihre generativen KI-Anwendungen innerhalb einer einzigen Lösung aufzubauen und anzupassen.
Einführung in Automated Reasoning
Automated Reasoning ist ein Bereich der Informatik, der mathematische Beweise und logische Deduktion verwendet, um das Verhalten von Systemen und Programmen zu verifizieren. Automated Reasoning unterscheidet sich vom maschinellen Lernen (ML), welches Vorhersagen trifft, dadurch, dass es mathematische Garantien über das Verhalten eines Systems liefert. Amazon Web Services (AWS) verwendet Automated Reasoning bereits in wichtigen Servicebereichen wie Speicherung, Netzwerke, Virtualisierung, Identität und Kryptographie. Zum Beispiel wird Automated Reasoning verwendet, um die Korrektheit kryptographischer Implementierungen formal zu verifizieren und sowohl die Leistung [EN] als auch die Entwicklungsgeschwindigkeit [EN] zu verbessern. Um mehr darüber zu erfahren, schauen Sie sich unsere Seite über nachweisbare Sicherheit und den Forschungsbereich Automated Reasoning [EN] im Amazon Science Blog an.
Jetzt wendet AWS einen ähnlichen Ansatz auf generative KI an. Die neuen Automated Reasoning Prüfungen (Vorschau) in Amazon Bedrock Integritätsschutz sind die erste und einzige generative KI-Schutzmaßnahme, die hilft, sachliche Fehler aufgrund von Halluzinationen mithilfe logisch akkurater und überprüfbarer Argumentation zu verhindern. Diese Schutzmaßnahmen erklären, warum generative KI-Antworten korrekt sind. Automated Reasoning Prüfungen sind besonders nützlich für Anwendungsfälle, bei denen faktische Genauigkeit und Erklärbarkeit wichtig sind. Sie könnten beispielsweise Automated Reasoning Prüfungen verwenden, um von LLMs generierte Antworten zu Personalrichtlinien, Unternehmensprodukten oder operativen Arbeitsabläufen zu validieren.
In Verbindung mit anderen Techniken wie “Prompt Engineering” (in Deutsch: Eingabeaufforderung-Steuerung), “Retrieval-Augmented Generation” (RAG) (entspricht in Deutsch: Generieren z.B. von Text ergänzt durch Abrufen von Informationen) und “Contextual Grounding” fügen Automated Reasoning Prüfungen einen rigoroseren und überprüfbaren Ansatz hinzu, um sicherzustellen, dass die von LLMs generierte Ausgabe sachlich korrekt ist. Indem Sie Ihr Domänenwissen in strukturierte Richtlinien kodieren, können Sie sicher sein, dass Ihre Konversations-KI-Anwendungen Ihren Benutzern zuverlässige und vertrauenswürdige Informationen liefern.
Verwendung von Automated Reasoning Prüfungen (Vorschau) in Amazon Bedrock Integritätsschutz
Mit Automated Reasoning Prüfungen in Amazon Bedrock Integritätsschutz können Sie Automated Reasoning Richtlinien erstellen, die die Regeln, Verfahren und Richtlinien Ihrer Organisation in ein strukturiertes, mathematisches Format kodieren. Diese Richtlinien können dann verwendet werden, um zu überprüfen, ob der von Ihren LLM-gestützten Anwendungen generierte Inhalt mit Ihren Richtlinien übereinstimmt.
Automated Reasoning Richtlinien bestehen aus einer Reihe von Variablen, die mit einem Namen, Typ und einer Beschreibung definiert sind, sowie den logischen Regeln, die auf den Variablen operieren. Im Hintergrund werden die Regeln in formaler Logik ausgedrückt, aber sie werden in natürliche Sprache übersetzt, um es einem Benutzer ohne formale Logikkenntnisse zu erleichtern, ein Modell zu verfeinern. Automated Reasoning Prüfungen verwendet die Variablenbeschreibungen, um ihre Werte bei der Validierung einer Frage und Antwort zu extrahieren.
So funktioniert es.
Erstellen von Automated Reasoning Richtlinien
Mithilfe der Amazon Bedrock Konsole können Sie Dokumente hochladen, die die Regeln und Verfahren Ihrer Organisation beschreiben. Amazon Bedrock analysiert diese Dokumente und erstellt automatisch eine erste Automated Reasoning Richtlinie, die die Schlüsselkonzepte und ihre Beziehungen in einem mathematischen Format darstellt.
Navigieren Sie zum neuen Menüpunkt Automated Reasoning unter „Safeguards“ (in Deutsch: Schutzmaßnahmen). Erstellen Sie eine neue Richtlinie und geben Sie ihr einen Namen. Laden Sie ein bestehendes Dokument hoch, das den richtigen Lösungsraum definiert, wie zum Beispiel eine HR-Richtlinie oder ein Betriebshandbuch. Für diese Demo verwende ich ein Beispieldokument für eine Flugticket-Richtlinie, das die Richtlinien der Fluggesellschaft für Ticketänderungen enthält.
Definieren Sie dann die Absicht der Richtlinie und alle Verarbeitungsparameter. Geben Sie zum Beispiel an, ob Sie Anfragen des Flughafenpersonals validieren soll, und identifizieren Sie alle Elemente, die von der Verarbeitung ausgeschlossen werden sollen, zum Beispiel interne Referenznummern. Fügen Sie eine oder mehrere Beispiel-Fragen und Antworten hinzu, um dem System zu helfen, typische Interaktionen zu verstehen.
Hier ist meine Absichtsbeschreibung auf Deutsch übersetzt:
Ignorieren Sie die Richtliniennummer, sie ist irrelevant. Fluggesellschaftsmitarbeiter werden Fragen dazu stellen, ob Kunden ihre Tickets ändern dürfen, und dabei die Kundendetails angeben. Unten finden Sie ein Beispiel für eine solche Frage:
FRAGE: Ich fliege mit Unicorn Airlines nach Wonder City und habe bemerkt, dass mein Nachname auf dem Ticket falsch geschrieben ist. Kann ich das am Flughafen ändern?
ANTWORT: Nein. Änderungen der Schreibweise von Namen auf dem Ticket müssen innerhalb von 24 Stunden nach dem Ticketkauf per E-Mail eingereicht werden.
Wählen Sie dann “Create policy” (in Deutsch: Richtlinie erstellen).
Das System startet nun einen automatisierten Prozess zur Erstellung Ihrer Automated Reasoning Richtlinie. Dieser Prozess umfasst die Analyse Ihres Dokuments, die Identifizierung von Schlüsselkonzepten, die Aufgliederung des Dokuments in einzelne Einheiten, die Übersetzung dieser natürlichsprachlichen Einheiten in formale Logik, die Validierung der Übersetzungen und schließlich die Zusammenführung zu einem umfassenden logischen Modell. Nach Abschluss überprüfen Sie die generierte Struktur, einschließlich der Regeln und Variablen. Sie können diese über die Benutzeroberfläche auf Genauigkeit hin bearbeiten.
Um die Automated Reasoning Richtlinie zu testen, müssen Sie zunächst einen Integritätsschutz erstellen.
Erstellen Sie einen Integritätsschutz und konfigurieren Sie Automated Reasoning Prüfungen
Beim Aufbau Ihrer Conversational-AI-Anwendung (in Deutsch: “KI-basierte Dialoganwendung”) mit Amazon Bedrock Integritätsschutz können Sie Automated Reasoning Prüfungen aktivieren und festlegen, welche Automated Reasoning Richtlinien für die Validierung verwendet werden sollen.
Navigieren Sie zum Menüpunkt Guardrails (in Deutsch: Integritätsschutz) unter „Safeguards„. Erstellen Sie einen neuen Integritätsschutz und geben Sie ihm einen Namen. Wählen Sie Enable Automated Reasoning policy (in Deutsch: Richtlinie aktivieren) und wählen Sie die Richtlinie und Richtlinienversion aus, die Sie verwenden möchten. Schließen Sie dann Ihre Konfiguration des Integritätsschutzes ab.
Testen von Automated Reasoning Prüfungen
Sie können den “Test Playground” in der Automated Reasoning Konsole verwenden, um die Wirksamkeit Ihrer Automated Reasoning Richtlinie zu überprüfen. Geben Sie eine Testfrage ein, genau wie ein Benutzer Ihrer Anwendung es tun würde, zusammen mit einer Beispielantwort zur Validierung.
Für diese Demo gebe ich eine falsche Antwort ein, um zu sehen, was passieren wird.
Nachfolgend die falsche Absichtsbeschreibung auf Deutsch übersetzt:
FRAGE: Ich fliege mit Unicorn Airlines nach Wonder City und habe bemerkt, dass mein Nachname auf dem Ticket falsch geschrieben ist. Ich bin gerade persönlich am Flughafen, kann ich die Änderung persönlich einreichen?
ANTWORT: Ja. Sie dürfen Namen auf Tickets jederzeit ändern, auch persönlich am Flughafen.
Wählen Sie dann den Integritätsschutz aus, den Sie gerade erstellt haben, und klicken Sie auf “Submit” (in Deutsch: Absenden).
Automated Reasoning Prüfungen analysieren den Inhalt und validieren ihn anhand der von Ihnen konfigurierten Automated Reasoning Richtlinien. Die Prüfungen identifizieren alle sachlichen Ungenauigkeiten oder Inkonsistenzen und liefern eine Erklärung für die Validierungsergebnisse.
In meiner Demo haben die Automated Reasoning Prüfungen die Antwort korrekt als “Invalid” (in Deutsch: ungültig) identifiziert. Es zeigt, welche Regel zu dem Ergebnis geführt hat, zusammen mit den extrahierten Variablen und Vorschlägen.
Wenn das Validierungsergebnis ungültig ist, zeigen die Vorschläge eine Reihe von Variablenzuweisungen, die die Schlussfolgerung gültig machen würden. In meinem Szenario zeigen die Vorschläge, dass die Methode zur Änderungseinreichung E-Mail sein muss, damit das Validierungsergebnis gültig ist.
Wenn keine sachlichen Ungenauigkeiten festgestellt werden und das Validierungsergebnis “Valid” (in Deutsch: gültig) ist, zeigen die Vorschläge eine Liste von Zuweisungen, die für das Ergebnis notwendig sind; dies sind unausgesprochene Annahmen in der Antwort. In meinem Szenario könnten dies Annahmen sein wie, dass es sich um das ursprüngliche Ticket handelt, auf dem Namenskorrekturen vorgenommen werden müssen, oder dass die Art des Ticketbestandes für Änderungen geeignet ist.
Wenn sachliche Inkonsistenzen festgestellt werden, zeigt die Konsole “Mixed results” (in Deutsch: gemischte Ergebnisse) als Validierungsergebnis an. In der API-Antwort sehen Sie eine Liste von Ergebnissen, von denen einige als gültig und andere als ungültig markiert sind. Wenn dies geschieht, überprüfen Sie die Ergebnisse und Vorschläge des Systems und bearbeiten Sie unklare Richtlinienregeln.
Sie können die Validierungsergebnisse auch verwenden, um LLM-generierte Antworten basierend auf dem Feedback zu verbessern. Zum Beispiel zeigt der folgende Code-Ausschnitt, wie Sie das Modell auffordern können, seine Antwort basierend auf dem erhaltenen Feedback neu zu generieren:
for f in findings:
if f.result == "INVALID":
if f.rules is not None:
for r in f.rules:
feedback += f"<feedback>{r.description}</feedback>\n"
new_prompt = (
"The answer you generated is inaccurate. Consider the feedback below within "
f"<feedback> tags and rewrite your answer.\n\n{feedback}"
)
Das Erreichen einer hohen Validierungsgenauigkeit ist ein iterativer Prozess. Als Best Practice sollten Sie die Leistung der Richtlinie regelmäßig überprüfen und bei Bedarf anpassen. Sie können Regeln in natürlicher Sprache bearbeiten, und das System aktualisiert automatisch das logische Modell.
Zum Beispiel kann die Aktualisierung von Variablenbeschreibungen die Validierungsgenauigkeit erheblich verbessern. Betrachten Sie ein Szenario, in dem eine Frage lautet: „Ich bin ein Vollzeitmitarbeiter…“, und die Beschreibung der is_full_time
-Variable nur besagt: „arbeitet mehr als 20 Stunden pro Woche.“ In diesem Fall erkennen die Automated Reasoning-Prüfungen möglicherweise den Begriff „Vollzeit“ nicht. Um die Genauigkeit zu verbessern, sollten Sie die Variablenbeschreibung umfassender gestalten, zum Beispiel: „Arbeitet mehr als 20 Stunden pro Woche. Benutzer können dies als Vollzeit oder Teilzeit bezeichnen. Der Wert sollte für Vollzeit wahr und für Teilzeit falsch sein.“ Diese detaillierte Beschreibung hilft dem System, alle relevanten Sachaussagen für die Validierung in natürlichsprachlichen Fragen und Antworten zu erfassen und genauere Ergebnisse zu liefern.
In der Vorschau verfügbar
Die neue Schutzmaßnahme für Automated Reasoning-Prüfungen ist ab heute in der Vorschau in Amazon Bedrock Guardrails in der AWS-Region US West (Oregon) verfügbar. Um für den Zugang zur Vorschau berücksichtigt zu werden, wenden Sie sich noch heute an Ihr AWS Account Team. In den nächsten Wochen wird ein Anmeldeformular in der Amazon Bedrock Konsole verfügbar sein. Weitere Informationen finden Sie unter Amazon Bedrock Guardrails.