Wer sich schon länger mit dem Thema Large Language Model (LLM) beschäftigt, weiß, dass die Ausgabe dieser KI-Modelle nicht immer gleich ist, selbst bei identischen Eingaben. Mit der zunehmenden Nutzung von LLMs in produktionsreifen Anwendungen wird es daher notwendig, eine Reihe von Sicherheitsmaßnahmen zu implementieren, um unangemessene Antworten wie Halluzinationen, falsche Syntax oder Verstöße gegen Content-Richtlinien zu vermeiden. Diese Maßnahmen nennt man „Guardrails“.
Was sind Guardrails?
Guardrails dienen als Schutzmechanismen, um potenzielle Fallstricke von LLMs zu umgehen. In der Praxis sind Guardrails zusätzliche LLM-Prompts, die die Eingabe des Nutzers und die Ausgabe des Modells auf gewisse Risiken überprüfen. Guardrails lassen sich in zwei Kategorien unterteilen: Input- und Output-Guardrails, die jeweils dabei helfen, unbeabsichtigte Antworten, schädliche Aktionen oder Datenlecks zu verhindern.
Input Guardrails
Input Guardrails filtern ungeeignete Inhalte, bevor diese vom LLM verarbeitet werden. Dies stellt sicher, dass nur relevante und sichere Anfragen bearbeitet werden. Zu den Anwendungsfällen gehören:
- Thematische Einschränkungen: Themenfremde Eingaben werden erkannt und blockiert.
- Jailbreaking-Erkennung: Die Eingabe wird mit einer Datenbank bekannter Jailbreaking-Prompts verglichen und bei Missbrauch blockiert.
- Prompt Injection Vermeidung: Bösartige Nutzereingaben, die schädliche Aktionen auslösen könnten, werden blockiert.
Beispiel: Thematischer Guardrail
Um eine thematische Einschränkung umzusetzen, könnte ein kostengünstigeres Modell mit einem einfachen Prompt genutzt werden, um themenfremde Fragen zu erkennen. Bevor die Eingabe vom „Haupt-LLM“ (GPT 4o) bearbeitet wird, prüft beispielsweise eine Instanz von GPT-3.5 Turbo die Nutzereingabe mit dem Prompt: „Bezieht sich die folgende Anfrage auf das Thema X? Falls nicht, gebe ‚NEIN‘ zurück.“
Output Guardrails
Output Guardrails validieren die Ausgabe des LLM, bevor sie an den Nutzer zurückgesendet wird. Dies stellt sicher, dass der generierte Inhalt gewissen Kommunikationsanforderungen entspricht. Häufige Formen von Output-Guardrails sind:
- Halluzination bzw. Fact-Checking Guardrail: Die generierte Antwort wird mit verifizierten Informationsquellen verglichen, um Falschinformationen zu entdecken.
- Content Moderation Guardrail: Die Ausgabe wird mit der Content-Richtlinie verglichen, um sicherzustellen, dass z.B. keine Schimpfwörter verwendet werden.
- Syntax Guardrail: Bei der Generierung von strukturiertem Code überprüft dieser Guardrail ob die Syntax auch richtig stimmt. (Einige LLM formatieren JSON-Dateien falsch, was zu Fehlern wie fehlenden Kommas führt)
Beispiel: Content Moderation Guardrail
Nehmen wir an, Sie entwickeln eine Chat-Applikation, die mit Kunden interagiert. Ihre Content-Richtlinie verlangt, dass Anfragen höflich, frei von Vulgarität und allgemein verständlich sind. Hierfür kann das Open-Source-Paket Guardrails.AI verwendet werden, das vordefinierte Guardrails wie "Profanity Free, Politeness Check und Reading Level bietet. Weitere Informationen finden Sie unter Guardrails Hub | Guardrails AI. Alternativ bietet NVIDIA mit NeMo ein weiteres Open-Source Toolkit für die Entwicklung von Guardrails an.
Ein harter Kompromiss: Genauigkeit, Latenz und Kosten
Bei der Entwicklung von Guardrails gilt es, einen Kompromiss zwischen Genauigkeit, Latenz und Kosten zu finden. Hohe Genauigkeit erfordert oft komplexere Modelle und führt zu höheren Kosten, was sich auf die Benutzererfahrung und die Gesamtleistung der Anwendung auswirken kann.
- Genauigkeit: Zur Verbesserung der Genauigkeit werden fortschrittlichere Modelle, Modelle mit Finetuning oder komplexere Prompts in Kombination mit Few-Shot Learning verwendet. Dies erhöht jedoch den Rechenaufwand und somit die Latenz.
- Latenzzeit: Fortgeschrittene Modelle und eine große Menge an Guardrails erhöhen die Latenzzeit. Um dies zu optimieren, können kleinere Modelle oder Modelle auf optimierter Hardware genutzt werden (Bsp: Groq auf LPU Inferenz). Die Entwicklung von Asynchronen Applikationen kann ebenfalls helfen, da Guardrails theoretisch parallel ausgeführt werden können.
- Kosten: Um die Kosten im Rahmen zu halten, müssen Modelle und Infrastruktur so gewählt werden, dass sie innerhalb des Budgets bleiben und dennoch zuverlässige Leistung bieten. Jedes zusätzliche Guardrail erhöht die Anzahl der generierten Token und somit die Kosten pro Anfrage.
Durch die sorgfältige Balance dieser Faktoren lassen sich robuste und effiziente Guardrails implementieren, die die Sicherheit und Zuverlässigkeit von LLM-basierten Anwendungen erhöhen.
Zusammenfassung
Definition: Guardrails sind Schutzmechanismen, die potenzielle Risiken in LLMs vermeiden, indem sie Eingaben und Ausgaben überprüfen.
Input Guardrails: Sie filtern ungeeignete Inhalte vor der Verarbeitung durch das LLM, um relevante und sichere Anfragen sicherzustellen.
Output Guardrails: Sie validieren die LLM-Ausgaben, um sicherzustellen, dass der generierte Inhalt den vordefinierten Anforderungen entspricht.
Kompromisse: Bei der Entwicklung von Guardrails muss ein Balanceakt zwischen Genauigkeit, Latenz und Kosten gefunden werden.
Quellen
How to implement LLM guardrails | OpenAI Cookbook
FAQ
1. Was sind Guardrails?
Guardrails sind Schutzmechanismen für LLMs, die sicherstellen, dass nur relevante und sichere Inhalte verarbeitet und ausgegeben werden. Sie verhindern unangemessene Antworten und Datenlecks durch zusätzliche Prüfungen.
2. Wie funktionieren Input Guardrails?
Input Guardrails filtern ungeeignete Inhalte vor der Verarbeitung durch das LLM. Beispiele sind thematische Einschränkungen, Jailbreaking-Erkennung und die Vermeidung von schädlichen Prompt Injections.
3. Was machen Output Guardrails?
Output Guardrails überprüfen die vom LLM generierten Antworten auf Korrektheit, Einhaltung der Content-Richtlinien und korrekte Syntax, bevor sie an den Nutzer zurückgesendet werden.
4. Kann ich auch foundation models ohne Guardrails nutzen?
Ja, es gibt unzensierte Modelle die man Lokal ausführen kann wie beispielsweise Llama-2 uncensored.
5. Nutzt ChatGPT auch Guardrails?
Ja, ChatGPT hat eingebaute Content Moderation Filter um unangemessene Antworten zu vermeiden. Außerdem soll der Trainingsdatensatz von ChatGPT strengen ethischen Richtlinien befolgen um das generieren von unangemessenen Antworten zu vermeiden.