Sicherheitshinweise

Large Language Models (LLMs) sind unter anderem so nützlich, dass sie kreative Tools sind, die viele verschiedene Sprachaufgaben erfüllen können. Leider bedeutet dies auch, dass Large Language Models eine unerwartete Ausgabe generieren können, einschließlich Text, der anstößig, unsensibel oder sachlich falsch ist. Darüber hinaus ist es aufgrund der unglaublichen Vielseitigkeit dieser Modelle schwierig, genau vorherzusagen, welche Arten von unerwünschten Ausgaben sie produzieren könnten. Obwohl die Gemini API unter Berücksichtigung der KI-Grundsätze von Google entwickelt wurde, müssen Entwickler diese Modelle verantwortungsvoll anwenden. Um Entwickler dabei zu unterstützen, sichere und verantwortungsvolle Anwendungen zu erstellen, bietet die Gemini API einige integrierte Inhaltsfilter sowie anpassbare Sicherheitseinstellungen, die vier Dimensionen für Schäden berücksichtigen können. Weitere Informationen finden Sie im Leitfaden zu den Sicherheitseinstellungen.

In diesem Dokument werden einige Sicherheitsrisiken vorgestellt, die bei der Verwendung von LLMs auftreten können. Außerdem werden neue Empfehlungen für Sicherheitsdesign und -entwicklung empfohlen. (Beachten Sie, dass Gesetze und Bestimmungen auch Einschränkungen auferlegen können, dies wird jedoch in diesem Leitfaden nicht behandelt.)

Die folgenden Schritte werden beim Erstellen von Anwendungen mit LLMs empfohlen:

  • Sicherheitsrisiken Ihrer Anwendung
  • Anpassungen erwägen, um Sicherheitsrisiken zu mindern
  • Für Ihren Anwendungsfall geeignete Sicherheitstests durchführen
  • Feedback von Nutzenden einholen und die Nutzung überwachen

Die Anpassungs- und Testphase sollten iterativ sein, bis Sie eine für Ihre Anwendung geeignete Leistung erreichen.

Modellimplementierungszyklus

Sicherheitsrisiken Ihrer Anwendung verstehen

In diesem Kontext wird Sicherheit als die Fähigkeit eines LLM definiert, Nutzern Schaden zuzufügen, z. B. durch die Generierung unangemessener Formulierungen oder Inhalte, die Stereotype propagieren. Die über die Gemini API verfügbaren Modelle wurden unter Berücksichtigung der KI-Grundsätze von Google entwickelt. Ihre Verwendung unterliegt der Richtlinie zur unzulässigen Nutzung von Generative AI. Die API bietet integrierte Sicherheitsfilter, um einige häufige Probleme mit Sprachmodellen wie unangemessene Sprache und Hassrede zu lösen und um Inklusion und Stereotype zu vermeiden. Allerdings birgt jede Anwendung andere Risiken für die Nutzer. Als Anwendungsinhaber sind Sie dafür verantwortlich, Ihre Nutzer und die potenziellen Schäden, die Ihre Anwendung verursachen kann, zu kennen und dafür zu sorgen, dass Ihre Anwendung LLMs sicher und verantwortungsvoll nutzt.

Im Rahmen dieser Bewertung solltest du die Wahrscheinlichkeit des Eintretens eines Schadens berücksichtigen und den Schweregrad und die Behebung von Maßnahmen bestimmen. Im Gegensatz zu einer App, die fiktive Geschichten zur Unterhaltung generiert, müsste beispielsweise eine App, die Aufsätze auf faktenbasierten Ereignissen erstellt, mehr Fehlinformationen vermeiden als eine App, die fiktive Geschichten zur Unterhaltung generiert. Informieren Sie sich am besten erst einmal über Ihre Endnutzer und andere, die von den Ergebnissen Ihrer Anwendung betroffen sein könnten. Dies kann viele Formen annehmen, z. B. die Recherche zu aktuellen Studien in Ihrer App-Domain, die Beobachtung, wie Nutzer ähnliche Apps verwenden, eine Nutzerstudie oder Umfrage durchführen oder informelle Interviews mit potenziellen Nutzern durchführen.

Tipps für erfahrene Nutzer

  • Sprechen Sie mit einer heterogenen Mischung von potenziellen Nutzern aus Ihrer Zielpopulation über Ihre Anwendung und ihren beabsichtigten Zweck, um eine breitere Perspektive auf potenzielle Risiken zu erhalten und die Diversitätskriterien nach Bedarf anzupassen.
  • Das vom National Institute of Standards and Technology (NIST) der US-Regierung herausgegebene AI Risk Management Framework bietet detailliertere Anleitungen und zusätzliche Lernressourcen für das KI-Risikomanagement.
  • In der Veröffentlichung von DeepMind zu den ethischen und sozialen Risiken von Sprachmodellen wird ausführlich beschrieben, wie Sprachmodellanwendungen Schaden verursachen können.

Anpassungen erwägen, um Sicherheitsrisiken zu minimieren

Nachdem Sie nun ein Verständnis der Risiken haben, können Sie entscheiden, wie sie gemindert werden sollen. Das Bestimmen der zu priorisierenden Risiken und wie viel Sie tun sollten, um sie zu verhindern, ist eine wichtige Entscheidung, ähnlich wie das Trinken von Fehlern in einem Softwareprojekt. Sobald Sie die Prioritäten festgelegt haben, können Sie darüber nachdenken, welche Arten von Abhilfemaßnahmen am besten geeignet sind. Oft können einfache Änderungen einen Unterschied machen und Risiken reduzieren.

Berücksichtigen Sie beim Entwerfen einer Anwendung beispielsweise Folgendes:

  • Abstimmung der Modellausgabe, um besser widerzuspiegeln, was in Ihrem Anwendungskontext akzeptabel ist Durch die Abstimmung kann die Ausgabe des Modells vorhersehbarer und konsistenter werden und somit dazu beitragen, bestimmte Risiken zu minimieren.
  • Bereitstellung einer Eingabemethode, mit der Einrichtungen sicherere Ausgaben ermöglichen. Die genaue Eingabe, die Sie einem LLM geben, kann einen Einfluss auf die Qualität der Ausgabe haben. Es lohnt sich, mit Eingabeaufforderungen zu experimentieren, um herauszufinden, was in Ihrem Anwendungsfall am sichersten funktioniert, da Sie dann eine UX bereitstellen können, die dies erleichtert. Sie können beispielsweise festlegen, dass Nutzer nur Daten aus einer Drop-down-Liste mit Eingabeaufforderungen auswählen oder Pop-up-Vorschläge mit beschreibenden Wortgruppen anbieten, die in Ihrem Anwendungskontext sicher funktionieren.
  • Unsichere Eingaben blockieren und Ausgabe filtern, bevor sie dem Nutzer angezeigt wird. In einfachen Situationen können Sperrlisten verwendet werden, um unsichere Wörter oder Wortgruppen in Prompts oder Antworten zu identifizieren und zu blockieren. Alternativ können Prüfer dazu auffordern, solche Inhalte manuell zu ändern oder zu blockieren.

  • Sie verwenden trainierte Klassifikatoren, um jede Aufforderung mit potenziellen Schäden oder böswilligen Signalen zu kennzeichnen. Je nach Art des erkannten Schadens können dann unterschiedliche Strategien zur Bearbeitung des Antrags angewendet werden. Wenn die Eingabe beispielsweise übermäßig anstößig oder missbräuchlich ist, kann sie blockiert werden und stattdessen eine vorgegebene Antwort ausgeben.

    Tipp für Fortgeschrittene

    • Wenn Signale feststellen, dass die Ausgabe schädlich ist, kann die Anwendung die folgenden Optionen verwenden:
      • Geben Sie eine Fehlermeldung oder eine vorgegebene Ausgabe an.
      • Versuchen Sie es noch einmal, falls eine alternative sichere Ausgabe generiert wird. Manchmal führt dieselbe Aufforderung zu anderen Ausgaben.

  • Ergreifen von Sicherheitsmaßnahmen gegen vorsätzlichen Missbrauch, z. B. indem Sie jedem Nutzer eine eindeutige ID zuweisen und die Anzahl der Nutzerabfragen, die in einem bestimmten Zeitraum gesendet werden können, begrenzen. Eine weitere Absicherung besteht darin, sich vor einer möglichen Einschleusung von Aufforderungen zu schützen. Ähnlich wie die SQL-Injektion können böswillige Nutzer eine Eingabeaufforderung entwerfen, um die Ausgabe des Modells zu manipulieren. Dazu wird beispielsweise eine Eingabeaufforderung gesendet, die das Modell anweist, vorherige Beispiele zu ignorieren. Weitere Informationen zum vorsätzlichen Missbrauch finden Sie in der Richtlinie zur unzulässigen Nutzung von Generative AI.

  • Die Funktionalität an etwas anpassen, das ein grundsätzlich geringeres Risiko darstellt. Ein geringeres Risiko birgt oft ein geringeres Risiko. Aufgaben mit engerem Umfang (z. B. das Extrahieren von Schlüsselwörtern aus Textpassagen) oder ein größeres menschliches Verständnis (z. B. das Generieren von kurzen Inhalten, die von einem Mitarbeiter überprüft werden), stellen oft ein geringeres Risiko dar. Anstatt also eine Anwendung zu erstellen, mit der eine neue E-Mail-Antwort geschrieben wird, können Sie die Anwendung auf eine Gliederung erweitern oder alternative Formulierungen vorschlagen.

Für Ihren Anwendungsfall geeignete Sicherheitstests durchführen

Tests sind ein wichtiger Bestandteil des Aufbaus robuster und sicherer Anwendungen. Umfang, Umfang und Strategien für Tests variieren jedoch. Ein Haiku-Generator, der einfach nur Spaß macht, birgt in der Regel weniger schwerwiegende Risiken als beispielsweise eine Anwendung, die für Anwaltskanzleien entwickelt wurde, um Rechtsdokumente zusammenzufassen und Verträge zu entwerfen. Da der Haiku-Generator jedoch von einer breiteren Palette von Nutzern verwendet werden kann, ist das Potenzial für Angriffsversuche oder sogar unbeabsichtigte schädliche Eingaben größer. Auch der Kontext der Implementierung spielt eine Rolle. So kann beispielsweise eine Anwendung, deren Ausgaben von Experten überprüft werden, bevor Maßnahmen ergriffen werden, als weniger wahrscheinlich als unwahrscheinlich eingestuft werden, dass eine Anwendung schädliche Ausgaben erzeugt als eine identische Anwendung ohne ein solches Aufsichtsvermögen.

Es ist nicht ungewöhnlich, dass Änderungen und Tests mehrmals durchlaufen werden, bevor Sie sich sicher sind, dass Sie startklar sind – selbst bei Anwendungen mit relativ geringem Risiko. Zwei Arten von Tests sind für KI-Anwendungen besonders nützlich:

  • Beim Sicherheits-Benchmarking werden Sicherheitsmesswerte entwickelt, die zeigen, wie Ihre Anwendung im Zusammenhang mit ihrer voraussichtlichen Nutzung als unsicher eingestuft werden könnte. Anschließend wird mithilfe von Bewertungs-Datasets getestet, wie gut die Anwendung mit den Messwerten funktioniert. Sie sollten sich vor dem Testen über die zulässigen Mindestwerte an Sicherheitsmesswerten Gedanken machen, damit 1) Sie die Testergebnisse anhand dieser Erwartungen bewerten und 2) das Bewertungs-Dataset basierend auf den Tests erfassen können, die die für Sie wichtigsten Messwerte bewerten.

    Tipps für erfahrene Nutzer

    • Verlassen Sie sich nicht zu sehr auf „Standardansätze“, da Sie wahrscheinlich eigene Test-Datasets mit Prüfern erstellen müssen, damit diese optimal auf den Kontext Ihrer Anwendung abgestimmt sind.
    • Wenn Sie mehrere Messwerte haben, müssen Sie entscheiden, wie Sie Kompromisse eingehen möchten, wenn eine Änderung zu einer Verbesserung bei einem Messwert zulasten eines anderen führt. Wie bei anderen Performance Engineering-Tools sollten Sie sich auf die Leistung des Worst-Case-Modells im gesamten Bewertungs-Dataset konzentrieren und nicht auf die durchschnittliche Leistung.
  • Bei Angriffstests wird proaktiv versucht, Ihre Anwendung zu manipulieren. Ziel ist es, Schwachstellen zu identifizieren, damit Sie entsprechende Maßnahmen ergreifen können. Angreifertests können viel Zeit/Aufwand von Bewertern erfordern, die sich mit Ihrer Anwendung auskennen. Je mehr Sie jedoch tun, desto höher ist die Wahrscheinlichkeit, Probleme zu erkennen, insbesondere solche, die selten oder nur nach wiederholter Ausführung der Anwendung auftreten.

    • Angreifertests sind eine Methode zur systematischen Bewertung eines ML-Modells mit der Absicht, herauszufinden, wie es sich verhalten soll, wenn es durch schädliche oder unbeabsichtigt schädliche Eingaben abgedeckt wird:
      • Eine Eingabe kann schädlich sein, wenn sie eindeutig so konzipiert ist, dass sie eine unsichere oder schädliche Ausgabe generiert, z. B. wenn ein Textgenerierungsmodell eine hasserfüllte Schimpftirade zu einer bestimmten Religion generiert.
      • Eine Eingabe ist ungewollt schädlich, wenn die Eingabe selbst zwar harmlos ist, aber zu schädlichen Ergebnissen führt. Beispielsweise kann ein Textgenerierungsmodell eine Person mit einer bestimmten ethnischen Zugehörigkeit beschreiben und rassistische Aussagen erhalten.
    • Der Unterschied zwischen einem kontradiktorischen Test und einer Standardbewertung ist die Zusammensetzung der für die Tests verwendeten Daten. Wählen Sie für Angriffstests Testdaten aus, die mit größter Wahrscheinlichkeit problematische Ausgabedaten vom Modell hervorrufen. Dies bedeutet, das Verhalten des Modells auf alle möglichen Arten von Schäden zu prüfen, einschließlich seltener oder ungewöhnlicher Beispiele und Grenzfälle, die für Sicherheitsrichtlinien relevant sind. Außerdem sollte die Diversität in den verschiedenen Dimensionen eines Satzes einbezogen werden, z. B. Struktur, Bedeutung und Länge. Weitere Informationen dazu, was beim Erstellen eines Test-Datasets zu beachten ist, findest du in den Fairness-Praktiken von Google für Responsible AI.

      Tipps für erfahrene Nutzer

      • Verwenden Sie automatisierte Tests anstelle der herkömmlichen Methode, Personen in „Red Teams“ einzubinden, um Ihre Anwendung zu stören. Bei automatischen Tests ist das „Red Team“ ein weiteres Sprachmodell, das Eingabetext findet, der schädliche Ausgaben vom getesteten Modell verursacht.

Überwachung auf Probleme

Unabhängig davon, wie viel Sie testen und abschwächen, können Sie niemals Perfektion garantieren. Planen Sie daher im Voraus, wie Sie auftretende Probleme erkennen und damit umgehen werden. Zu den gängigen Ansätzen gehört die Einrichtung eines überwachten Kanals, in dem Nutzer Feedback geben können (z.B. mit „Mag ich“ oder „Mag ich nicht“), und die Durchführung einer Nutzerstudie, um proaktiv Feedback von einer heterogenen Nutzergruppe einzuholen – besonders nützlich, wenn die Nutzungsmuster von den Erwartungen abweichen.

Tipps für erfahrene Nutzer

  • Wenn Nutzer Feedback zu KI-Produkten geben, kann dies die KI-Leistung und die Nutzererfahrung im Laufe der Zeit erheblich verbessern, z. B. weil Sie bessere Beispiele für die Feinabstimmung von Prompts auswählen können. Im Kapitel Feedback und Kontrolle im Google-Leitfaden „Personen und KI“ werden wichtige Aspekte hervorgehoben, die beim Entwerfen von Feedbackmechanismen zu berücksichtigen sind.

Nächste Schritte

  • Im Leitfaden zu Sicherheitseinstellungen finden Sie Informationen zu den anpassbaren Sicherheitseinstellungen, die über die Gemini API verfügbar sind.
  • In der Einführung zu Prompts erfahren Sie, wie Sie Ihre ersten Prompts schreiben.