Während ein verantwortungsvoller Ansatz für KI Sicherheitsrichtlinien, Techniken zur Verbesserung der Sicherheit von Modellen und das Erstellen von Transparenzartefakten umfassen sollte, sollten Sie nicht einfach nur einer Checkliste folgen, um mit generativer KI verantwortungsvoll umzugehen. Produkte mit generativer KI sind relativ neu und das Verhalten einer Anwendung kann sich stärker unterscheiden als frühere Formen von Software. Daher sollten Sie die verwendeten Modelle für maschinelles Lernen prüfen, Beispiele für das Modellverhalten untersuchen und Überraschungen aufdecken.
Prompts sind heute sowohl Kunst als auch Wissenschaft, aber es gibt Tools, mit denen Sie Prompts für Large Language Models empirisch verbessern können, z. B. das Learning Interpretability Tool (LIT). LIT ist eine Open-Source-Plattform, die zum Visualisieren, Verstehen und Debuggen von KI-/ML-Modellen entwickelt wurde. Im Folgenden finden Sie ein Beispiel dafür, wie LIT verwendet werden kann, um Gemmas Verhalten zu untersuchen, potenzielle Probleme zu antizipieren und seine Sicherheit zu verbessern.
Sie können LIT auf Ihrem lokalen Computer, in Colab oder in Google Cloud installieren. Importieren Sie zum Einstieg in LIT Ihr Modell und ein zugehöriges Dataset (z.B. ein Dataset zur Sicherheitsbewertung) in Colab. LIT generiert mithilfe Ihres Modells eine Reihe von Ausgaben für das Dataset und bietet Ihnen eine Benutzeroberfläche, in der Sie das Modellverhalten untersuchen können.
Gemma-Modelle mit LIT analysieren
Codelab starten | Google Colab starten |
Auf diesem Bild ist die Benutzeroberfläche von LIT zu sehen. Im Datapoint Editor oben können Nutzer ihre Eingabeaufforderungen bearbeiten. Mit dem LM Salience-Modul können sie unten die Auffälligkeitsergebnisse prüfen.
Fehler in komplexen Prompts erkennen
Zwei der wichtigsten Prompt-Techniken für hochwertige LLM-basierte Prototypen und Anwendungen sind wenige Prompts (einschließlich Beispielen für das gewünschte Verhalten im Prompt) und Chain of-Thought, einschließlich einer Form der Erklärung oder Begründung vor der endgültigen Ausgabe des LLM. Das Erstellen eines effektiven Prompts ist jedoch oft immer noch schwierig.
Nehmen wir ein Beispiel, mit dem Sie jemandem dabei helfen können, einzuschätzen, ob ihm ein Essen aufgrund seines Geschmacks gefällt. Eine erste Prompt-Vorlage für eine Prototyp-Chain-of-Thought-Prompt-Vorlage könnte so aussehen:
Analyze a menu item in a restaurant. ## For example: Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Onion soup Analysis: it has cooked onions in it, which you don't like. Recommendation: You have to try it. Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Baguette maison au levain Analysis: Home-made leaven bread in France is usually great Recommendation: Likely good. Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Macaron in France Analysis: Sweet with many kinds of flavours Recommendation: You have to try it. ## Now analyse one more example: Taste-likes: {{users-food-like-preferences}} Taste-dislikes: {{users-food-dislike-preferences}} Suggestion: {{menu-item-to-analyse}} Analysis:
Haben Sie Probleme mit diesem Prompt festgestellt? LIT hilft Ihnen beim Prüfen des Prompts mit dem LM-Salience-Modul.
Auffälligkeit für Sequenzen zur Fehlerbehebung verwenden
Der Salience-Wert wird auf der kleinstmöglichen Ebene berechnet (d. h. für jedes Eingabetoken), aber LIT kann die Token-Salience in besser interpretierbaren größeren Spans zusammenfassen, wie z. B. Zeilen, Sätzen oder Wörtern. Weitere Informationen zu Auffälligkeit und ihrer Verwendung zur Identifizierung unbeabsichtigter Verzerrungen finden Sie in Interactive Saliency.
Beginnen wir damit, der Aufforderung eine neue Beispieleingabe für die Variablen der Eingabeaufforderung zu geben:
{{users-food-like-preferences}} = Cheese {{users-food-dislike-preferences}} = Can't eat eggs {{menu-item-to-analyse}} = Quiche Lorraine
Danach lässt sich eine überraschende Beendigung des Modells beobachten:
Taste-likes: Cheese Taste-dislikes: Can't eat eggs Suggestion: Quiche Lorraine Analysis: A savoury tart with cheese and eggs Recommendation: You might not like it, but it's worth trying.
Warum schlägt das Modell Ihnen vor, etwas zu essen, von dem Sie eindeutig gesagt haben, dass Sie es nicht essen dürfen?
Sequenzauffälligkeit kann helfen, das Grundproblem hervorzuheben, wie in unseren wenigen Beispielen beschrieben. Im ersten Beispiel stimmt die Chain-of-Thought-Argumentation im Analyseabschnitt nicht mit der endgültigen Empfehlung überein. Die Analyse Es enthält Zwiebeln darin gekocht, die Sie nicht mögen wird mit der Empfehlung Sie müssen es ausprobieren kombiniert werden.
Dadurch wird ein Fehler in der ersten Eingabeaufforderung hervorgehoben: Beim ersten Beispiel wurde die Empfehlung (You have to try it!
) versehentlich kopiert. Sie können die Stärke der Schärfe im Prompt an der Dunkelheit der violetten Markierung erkennen. Die höchste Saliency ist im ersten Beispiel mit wenigen Aufnahmen und insbesondere in den Zeilen, die Taste-likes
, Analysis
und Recommendation
entsprechen. Dies deutet darauf hin, dass das Modell diese Linien am stärksten verwendet, um seine endgültige falsche Empfehlung zu geben.
Dieses Beispiel zeigt auch, dass ein frühes Prototyping Risiken aufdecken kann, an die Sie möglicherweise nicht im Voraus denken. Da Sprachmodelle fehleranfällig sind, müssen Sie Ihr Design proaktiv auf Fehler entwickeln. Dies wird in unserem Leitfaden zu Menschen und KI zum Thema KI-Designs ausführlicher erläutert.
Hypothesen testen, um das Modellverhalten zu verbessern
Mit LIT können Sie Änderungen an Prompts auf derselben Benutzeroberfläche testen. Versuchen Sie in diesem Fall, eine Konstitution hinzuzufügen, um das Modellverhalten zu verbessern. Verfassungen beziehen sich auf Design-Prompts mit Prinzipien, die beim Generieren des Modells helfen. Neuere Methoden ermöglichen sogar eine interaktive Ableitung von Verfassungsprinzipien.
Mithilfe dieser Idee können wir die Aufforderung weiter verbessern. Verwenden Sie den Datenpunkteditor von LIT, um oben in unserer Eingabeaufforderung einen Abschnitt mit den Prinzipien für die Generierung hinzuzufügen, der jetzt so beginnt:
Analyze a menu item in a restaurant. * The analysis should be brief and to the point. * It should provide a clear statement of suitability for someone with specific dietary restrictions. * It should reflect the person's tastes ## For example: Taste-likes: I've a sweet-tooth Taste-dislikes: Don't like onions or garlic Suggestion: Onion soup Analysis: it has cooked onions in it, which you don't like. Recommendation: Avoid.
Nach diesem Update kann das Beispiel noch einmal ausgeführt werden und eine ganz andere Ausgabe beobachten:
Taste-likes: Cheese Taste-dislikes: Can't eat eggs Suggestion: Quiche Lorraine Analysis: This dish contains eggs, which you can't eat. Recommendation: Not suitable for you.
Die Aufforderung kann dann noch einmal überprüft werden, um zu verstehen, warum diese Änderung erfolgt:
In diesem Beispiel wird „Nicht für dich geeignet“ durch den Grundsatz Gib eine klare Aussage der Eignung für eine Person mit bestimmten Ernährungseinschränkungen und die erklärende Analyseaussage beeinflusst, die besagt, dass das Gericht Eier enthält (die sogenannte Denkkette).
Nicht-technische Teams in Modellprüfung und -exploration einbeziehen
Interpretierbarkeit ist als Teamarbeit zu verstehen, das Fachwissen über Richtlinien, Recht und mehr umfasst. Wie Sie gesehen haben, können das visuelle Medium und die interaktive Möglichkeit von LIT, Auffälligkeit zu untersuchen und Beispiele zu untersuchen, verschiedenen Stakeholdern helfen, Ergebnisse zu teilen und zu kommunizieren. Auf diese Weise können Sie eine größere Vielfalt von Teammitgliedern für die Modelluntersuchung, die Prüfung und die Fehlerbehebung einbinden. Wenn Sie sie mit diesen technischen Methoden vertraut machen, können sie besser verstehen, wie Modelle funktionieren. Darüber hinaus kann ein vielfältigeres Fachwissen in Bezug auf frühe Modelltests dazu beitragen, unerwünschte Ergebnisse zu ermitteln, die verbessert werden können.
Zusammenfassung
Wenn Sie in Ihren Modellbewertungen problematische Beispiele finden, übertragen Sie sie zur Fehlerbehebung in LiT. Analysieren Sie zuerst die größte sinnvolle Inhaltseinheit, die sich logisch auf die Modellierungsaufgabe bezieht. Verwenden Sie die Visualisierungen, um zu sehen, wo das Modell den Inhalt des Prompts korrekt oder falsch anwendet, und schlüsseln Sie dann in kleinere Inhaltseinheiten auf, um das falsche Verhalten weiter zu beschreiben und mögliche Lösungen zu identifizieren.
Entwicklerressourcen
- LIT-Website
- Leitfaden zu Menschen und KI für die Entwicklung mit KI