SynthID: Tools zum Einbetten von Wasserzeichen und Erkennen von LLM-generiertem Text

Generative künstliche Intelligenz (generative KI) kann ein breiteres Spektrum an hochgradig und in einem Umfang, der bisher unvorstellbar war. Die Mehrheit dieser Nutzungen legitim sind, wird befürchtet, dass dies zu Fehlinformationen und Fehlzuordnungen. Wasserzeichen sind eine Möglichkeit, diese potenziellen Auswirkungen zu minimieren. KI-generierte Inhalte können mit Wasserzeichen versehen werden, die für Menschen nicht wahrnehmbar sind. Erkennungsmodelle können beliebige Inhalte bewerten, um die Wahrscheinlichkeit anzugeben, dass sie mit einem Wasserzeichen versehen wurden.

SynthID ist eine Technologie von Google DeepMind, mit der KI-generierte Inhalte mit digitalen Wasserzeichen versehen und identifiziert werden, indem diese direkt in KI-generierte Bilder, Audioinhalte, Texte oder Videos eingebettet werden. SynthID-Text wurde als Open Source zur Verfügung gestellt um Entwicklern Wasserzeichen für die Textgenerierung zur Verfügung zu stellen. Eine ausführlichere technische Beschreibung der Methode finden Sie in diesem Artikel in Nature.

Eine Produktionsimplementierung von SynthID Text ist in Hugging Face Transformers Version 4.46.0 und höher verfügbar. Sie können sie im offiziellen SynthID Text Space ausprobieren. Eine Referenzimplementierung ist auch auf GitHub verfügbar. Sie kann für Open-Source-Maintainer und ‑Entwickler nützlich sein, die diese Technik in anderen Frameworks verwenden möchten.

Wasserzeichenanwendung

Im Grunde ist SynthID Text ein Logits-Prozessor, der auf Ihre nach den Top-K- und Top-P- die die Logits des Modells mit einer pseudozufälligen g-Funktion zur Codierung Informationen so mit Wasserzeichen zu versehen, dass ein ausgewogenes Verhältnis zwischen Generierungsqualität und die Erkennung von Wasserzeichen. Eine vollständige technische Beschreibung des Algorithmus und Analysen dazu, wie sich verschiedene Konfigurationswerte auf die Leistung auswirken, finden Sie im Artikel.

Wasserzeichen werden konfiguriert, um die g-Funktion und ihre Anwendung bei der Generierung zu parametrisieren. Jedes von Ihnen verwendete Modell sollte eine eigene Wasserzeichenkonfiguration haben, die sicher und privat gespeichert werden sollte. Andernfalls kann Ihr Wasserzeichen von anderen ganz einfach kopiert werden.

Sie müssen in jeder Wasserzeichenkonfiguration zwei Parameter definieren:

  • Der Parameter keys ist eine Liste eindeutiger, zufälliger Ganzzahlen, mit denen g-Funktionswerte für das gesamte Vokabular des Modells berechnet werden. Die Länge dieser Liste bestimmt, wie viele Ebenen des Wasserzeichens angewendet werden. Weitere Informationen finden Sie unter Anhang C.1 im Artikel enthält weitere Informationen.
  • Mit dem Parameter ngram_len lässt sich ein Gleichgewicht zwischen Robustheit und Erkennbarkeit herstellen. Je größer der Wert, desto besser ist das Wasserzeichen sichtbar, aber desto anfälliger ist es für Änderungen. Eine Länge von 5 ist ein guter Standardwert.

Du kannst das Wasserzeichen je nach deinen Leistungsanforderungen weiter konfigurieren:

  • Eine Stichprobentabelle wird mit zwei Properties konfiguriert: sampling_table_size und sampling_table_seed. Sie möchten einen sampling_table_size von mindestens \( 2^{16} \) um eine unverzerrte und stabile g-Funktion bei der Stichprobenerhebung zu gewährleisten, Beachten Sie jedoch, dass sich die Größe der Stichprobentabelle auf die Menge zur Inferenzzeit erforderlichen Arbeitsspeicher. Sie können eine beliebige Ganzzahl als sampling_table_seed verwenden.
  • Wiederholte n-Gramme in den context_history_size vorherigen Tokens sind nicht um die Sichtbarkeit zu verbessern.

Für die Generierung von Text mit einem SynthID-Text-Wasserzeichen mit Ihren Modellen ist kein zusätzliches Training erforderlich. Es reicht eine Konfiguration für das Hinzufügen von Wasserzeichen, die an die .generate()-Methode des Modells übergeben wird, um den Logit-Prozessor für SynthID-Text zu aktivieren. Weitere Informationen finden Sie in der Blogpost und Space für Codebeispiele in der Ihnen gezeigt wird, wie Sie ein Wasserzeichen in der Transformers-Bibliothek anwenden.

Erkennung und Überprüfbarkeit von Wasserzeichen

Die Wasserzeichenerkennung erfolgt probabilistisch. Ein bayesianischer Detector wird mit Hugging Face Transformers und auf GitHub bereitgestellt. Dieser Detektor kann drei mögliche Erkennungsstatus ausgeben: „Mit Wasserzeichen“, „Ohne Wasserzeichen“ oder „Unsicher“. Das Verhalten kann durch Festlegen von zwei Schwellenwerten angepasst werden. Siehe Anhang C.8 der Papier.

Sie können die Schwellenwerte so anpassen, dass eine bestimmte Rate falsch positiver und falsch negativer Ergebnisse für eine Reihe von Prompts oder eine bestimmte Länge erreicht wird. Siehe Anhang C.8 der Papier.

Sobald Sie einen trainierten Detector haben, können Sie entscheiden, ob und wie Sie ihn Ihren Nutzern und der Öffentlichkeit allgemein zugänglich machen.

  • Bei der Option Vollständig privat wird der Detektor in keinem der beiden Geräte freigegeben oder sichtbar gemacht.
  • Bei der Option halb privat wird der Detektor nicht freigegeben, über eine API abrufen können.
  • Mit der Option public wird der Detektor freigegeben, damit andere ihn herunterladen und verwenden können.

Sie und Ihre Organisation müssen entscheiden, welcher Ansatz zur Überprüfung der Erkennung Ihren Anforderungen am besten entspricht, basierend auf Ihrer Fähigkeit, die zugehörigen Infrastruktur und Prozesse zu unterstützen.

Beschränkungen

SynthID-Text-Wasserzeichen sind robust für einige Transformationen, also das Zuschneiden von Teilen. Text ändern, einige Wörter ändern oder eine leichte Umschreibung verwenden. haben Einschränkungen.

  • Die Anwendung von Wasserzeichen ist bei sachlichen Antworten weniger effektiv, da es weniger Möglichkeiten gibt, die Generierung zu verbessern, ohne die Genauigkeit zu verringern.
  • Die Konfidenzwerte von Detektoren können stark gesenkt werden, wenn ein KI-generierter Text vollständig umgeschrieben oder in eine andere Sprache übersetzt wurden.

SynthID Text ist nicht dafür gedacht, motivierte Angreifer direkt daran zu hindern, Schaden anzurichten. Es kann jedoch schwieriger werden, KI-generierte Inhalte für böswillige Zwecke zu verwenden. Außerdem kann es mit anderen Ansätzen kombiniert werden, um eine bessere Abdeckung verschiedener Inhaltstypen und Plattformen zu ermöglichen.