Bei dieser Methode werden ML-Modelle systematisch ausgewertet, um zu erfahren, wie sich ihr Verhalten bei böswilliger oder unbeabsichtigter Eingabe verhalten wird. In dieser Anleitung wird ein Beispiel für einen Workflow für die generative KI beschrieben.
Was sind aversative Tests?
Tests sind ein wichtiger Bestandteil der Entwicklung robuster und sicherer KI-Anwendungen. Bei aderneren Tests werden Daten, die am wahrscheinlichsten zu einer fehlerhaften Ausgabe führen, proaktiv durch den Versuch gebracht, eine Anwendung zu „zerstören“. Werbetreibende, die Abfragen ausführen, führen wahrscheinlich dazu, dass ein Modell auf unsichere Weise fehlschlägt (z. B. Verstöße gegen Sicherheitsrichtlinien). Dies kann Fehler verursachen, die für Menschen leicht zu identifizieren sind, aber von Maschinen schwer zu erkennen sind.
Suchanfragen können auf unterschiedliche Weise „schwerwiegend“ sein. Bei konkret konflektierenden Abfragen kann es sich um Inhalte handeln, die gegen unsere Richtlinien verstoßen, oder solche, die gegen die Richtlinien verstoßen. In diesen Fällen kann auch versucht werden, das Modell so zu täuschen, dass es unsicher, schädlich oder anstößig ist. Implizierte fragwürdige Suchanfragen können harmlos erscheinen, aber dennoch sensible Themen enthalten, die sensibel, kulturell sensibel oder potenziell schädlich sind. Dazu gehören beispielsweise demografische Merkmale, Gesundheit, Finanzen oder Religion.
Bei diesen Tests können Teams Modelle und Produkte verbessern, indem sie aktuelle Fehler offenlegen, um Beeinträchtigungspfade zu erzielen, z. B. Feinabstimmung, Modellsicherungen oder Filter. Darüber hinaus kann es bei der Entscheidung bei der Produkteinführung helfen, indem es mögliche Risiken misst, z. B. die Wahrscheinlichkeit, dass das Modell mit Ausgaberichtlinien verstößt.
Als neue Best Practices für verantwortungsbewusste KI bietet dieser Leitfaden einen Beispiel-Workflow für kontradritische Tests bei generativen Modellen und Systemen.
Workflow für Beispieltests
Bei diesen Tests geht es ähnlich wie bei der standardmäßigen Modellbewertung.
Eingaben erkennen und definieren
Im ersten Schritt des Workflows zum Testen von Anzeigenanfragen werden Eingaben verwendet, um zu erfahren, wie sich ein System bewusst und systematisch angreift. Sorgfältige Eingaben können die Wirksamkeit des Testworkflows direkt beeinflussen. Die folgenden Eingaben können Ihnen dabei helfen, den Umfang und die Ziele eines Prüftests zu definieren:
- Produktrichtlinien und Fehlermodi
- Anwendungsfälle
- Anforderungen an die Diversität
Produktrichtlinien und Fehlermodi
Für generative KI-Produkte sollten Sicherheitsrichtlinien definiert werden, die das Produktverhalten und nicht erlaubte Modellausgaben beschreiben. Sie werden also als „unsicher“ eingestuft. Die Richtlinie sollte Fehlermodi aufzählen, die als Richtlinienverstöße betrachtet werden. Diese Liste von Fehlermodi sollte als Grundlage für Kampagnentests verwendet werden. Beispiele für Fehlermodi können Inhalte enthalten, die vulgäre Sprache oder finanzielle, rechtliche oder medizinische Hinweise enthalten.
Anwendungsfälle
Eine weitere wichtige Eingabe bei kontraproduktiven Tests sind die Anwendungsfälle, die mit dem generativen Modell oder Produkt ausgeliefert werden sollen. Die Testdaten enthalten also eine bestimmte Darstellung der Art und Weise, wie Nutzer mit dem Produkt in der realen Welt interagieren. Für jedes generative Produkt gibt es leicht unterschiedliche Anwendungsfälle. Gängige Beispiele sind: Ergebnisfindung, Zusammenfassung und Codegenerierung für Sprachmodelle; Bildgenerierung von Hintergründen nach Region oder Gelände, Kunst oder Bekleidung.
Anforderungen an die Diversität
Angreifer-Test-Datasets sollten in Bezug auf alle Zielfehlermodi und Anwendungsfälle ausreichend vielfältig und repräsentativ sein. Das Messen der Diversität von Test-Datasets hilft, potenzielle Verzerrungen zu erkennen, und sorgt dafür, dass Modelle umfassend auf unterschiedliche Nutzerpopulationen getestet werden.
Drei Ansätze zum Thema Diversität:
- Lexikalische Vielfalt: Achten Sie darauf, dass Abfragen eine unterschiedliche Länge haben (z.B. die Anzahl der Wörter), einen umfassenden Wortschatzbereich verwenden, keine Duplikate enthalten und verschiedene Abfrageformulierungen darstellen (z.B. WH-Fragen, direkte und indirekte Anfragen).
- Semantische Vielfalt:Sorgen Sie dafür, dass Abfragen pro Richtlinie eine Vielzahl von unterschiedlichen Themen (z.B. Diabetes für Gesundheit) abdecken, einschließlich sensibler und identitätsbasierter Merkmale (z.B. Geschlecht, ethnische Zugehörigkeit), für verschiedene Anwendungsfälle und globale Kontexte.
- Vielseitigkeit von Richtlinien und Anwendungsfällen:Abfragen sollten alle Richtlinienverstöße (z.B. Hassrede) und Anwendungsfälle (z.B. Expertenrat) abdecken.
Test-Dataset(s) suchen oder erstellen
Test-Datasets für diese Art von Tests sind anders aufgebaut als Test-Datasets für Standardmodelle. In Standardbewertung von Modellen sind Test-Datasets normalerweise darauf ausgelegt, die Verteilung von Daten, die das Modell im Produkt findet, genau abzubilden. Bei adverserativen Tests werden Testdaten ausgewählt, um problematische Ausgaben des Modells zu erzeugen. Dazu wird nachgewiesen, wie das Modell bei Beispielen für Nicht-Verteilungen und Grenzfällen, die für Sicherheitsrichtlinien relevant sind, gezeigt wird. Ein hochwertiges kontraverses Test-Dataset sollte alle Dimensionen der Sicherheitsrichtlinie abdecken und die Abdeckung der Anwendungsfälle maximieren, die das Modell unterstützen soll. Sie sollte lexinisch vielfältig sein (z.B. Suchanfragen in verschiedenen Längen und Sprachen) und semantisch (z.B. über verschiedene Themen und demografische Merkmale).
Vorhandene Test-Datasets auf die Abdeckung von Sicherheitsrichtlinien, Fehlermodi und Anwendungsfällen für die Textgenerierung und Text-to-Image-Modelle prüfen. Teams können vorhandene Datasets verwenden, um eine Referenz zur Leistung ihrer Produkte zu erstellen und dann detaillierte Analysen zu bestimmten Fehlermodi durchführen, mit denen ihre Produkte zu kämpfen haben.
Wenn vorhandene Test-Datasets nicht ausreichen, können Teams neue Daten generieren, um bestimmte Modi und Anwendungsfälle für Fehler zu bestimmen. Eine Möglichkeit, neue Datasets zu erstellen, besteht darin, zuerst ein kleines Dataset mit Abfragen (d.h. Dutzende von Beispielen pro Kategorie) zu erstellen und es dann mithilfe von Tools zur Datensynthese auf dieses „Seed“-Dataset zu erweitern.
Seed-Datasets sollten Beispiele enthalten, die denen in der Produktion so ähnlich wie möglich sind und mit dem Ziel erstellt werden, einen Richtlinienverstoß zu beheben. Sehr wahrscheinlich unangemessene Äußerungen werden von Sicherheitsfunktionen wahrscheinlich erkannt. Achten Sie daher auf Formulierungen und implizite Eingaben.
Sie können direkte oder indirekte Verweise auf sensible Attribute (z.B. Alter, Geschlecht, ethnische Herkunft, Religion) in Ihrem Test-Dataset verwenden. Beachte, dass die Verwendung dieser Begriffe je nach Kultur variieren kann. Variieren Sie den Ton, die Satzstruktur, die Wortwahl und die Bedeutung. Wenn beispielsweise mehrere Labels (z.B. Hassrede oder obszöne Sprache) angewendet werden können, kann dies zu Rauschen und Duplikaten führen. Es wird möglicherweise nicht korrekt von Bewertungs- oder Trainingssystemen verarbeitet.
Analysierte Testsätze sollten analysiert werden, um ihre Zusammensetzung in Bezug auf lexische und semantische Vielfalt, Abdeckung bei Richtlinienverstößen und Anwendungsfällen sowie die Gesamtqualität in Bezug auf Eindeutigkeit, Adverserität und Rauschen zu verstehen.
Modellausgaben generieren
Im nächsten Schritt werden Modellausgaben basierend auf dem Test-Dataset generiert. Die Ergebnisse helfen den Produktteams, die Leistung ihrer Modelle zu beurteilen, wenn sie böswilligen Nutzern oder unbeabsichtigten Eingaben ausgesetzt werden. Das Identifizieren dieses Systemverhaltens und der Antwortmuster kann als Referenzmesswerte dienen, die bei der zukünftigen Modellentwicklung vermieden werden können.
Ausgaben annotieren
Nachdem Sie die Ergebnisse von kontraproduktiven Tests generiert haben, annotieren, um sie in Fehlermodi und/oder Schäden zu kategorisieren. Diese Labels können dazu beitragen, Sicherheitssignale für Text- und Bildinhalte bereitzustellen. Außerdem können die Signale dabei helfen, Schäden über Modelle und Produkte hinweg zu messen und zu mindern.
Sicherheitsklassifizierungen können verwendet werden, um Modellausgaben (oder Eingaben) automatisch für Richtlinienverstöße zu kennzeichnen. Bei Signalen, die konstruierte Konstrukte wie Hassrede erkennen, ist die Genauigkeit möglicherweise gering. Bei diesen Signalen ist es wichtig, mithilfe von menschlichen Bewertern von Klassifikatoren generierte Labels zu prüfen und zu korrigieren, bei denen die Bewertungen „unklar“ sind.
Neben der automatischen Annotation können Sie auch die Evaluatoren der manuellen Bewertung nutzen, um eine Stichprobe Ihrer Daten zu versehen. Dabei ist zu beachten, dass das Annotieren von Modellausgaben im Rahmen von kontraproduktiven Tests dazu verpflichtet ist, problematische und potenziell schädliche Texte oder Bilder zu untersuchen, ähnlich wie bei der manuellen Inhaltsmoderation. Außerdem können diese Inhalte von Personen auf der Grundlage ihres persönlichen Hintergrunds, ihres Wissens oder ihrer Überzeugung unterschiedlich kommentiert werden. Es kann hilfreich sein, Richtlinien oder Vorlagen für Evaluatoren zu entwickeln, wobei zu berücksichtigen ist, dass die Vielfalt des Evaluators auf die Ergebnisse der Annotation beeinflusst werden kann.
Melden und abschwächen
Im letzten Schritt werden die Testergebnisse in einem Bericht zusammengefasst. Führen Sie Compute-Messwerte aus und melden Sie Ergebnisse, um Sicherheitsraten, Visualisierungen und Beispiele problematischer Fehler bereitzustellen. Diese Ergebnisse können Modellverbesserungen unterstützen und Modellsicherheitsmaßnahmen wie Filter oder Sperrlisten zugrunde legen. Die Berichte sind auch für die Kommunikation mit Entscheidungsträgern und Entscheidungsträgern wichtig.
Weitere Ressourcen
Das KI Red-Team von Google: Ethische Hacker, die KI sicherer machen
Red Teaming-Sprachmodelle mit Sprachmodellen
Tests zur Produktgerechtigkeit für Machine Learning-Entwickler (Video in englischer Sprache):
Fairness-Tests für Entwickler (Codelab)