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

Mithilfe generativer KI können eine größere Vielfalt an sehr unterschiedlichen Inhalten in einem bisher nicht für möglich gehaltenen Umfang generiert werden. Obwohl dies größtenteils für legitime Zwecke ist, gibt es Bedenken, dass dies zu Fehlinformationen und Fehlzuordnungen führen könnte. 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-Software veröffentlicht, damit Entwickler Wasserzeichen für die Textgenerierung verwenden können. 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 ‑Mitarbeiter nützlich sein, die diese Technik in anderen Frameworks verwenden möchten.

Wasserzeichenanwendung

In der Praxis ist SynthID Text ein Logit-Prozessor, der nach Top-K und Top-P auf die Generierungspipeline Ihres Modells angewendet wird. Er erweitert die Logits des Modells mit einer pseudozufälligen g-Funktion, um Informationen zum Watermarking so zu codieren, dass Sie feststellen können, ob der Text von Ihrem Modell generiert wurde, ohne die Textqualität wesentlich zu beeinträchtigen. 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 während der Generierung zu parametrisieren. Jede von Ihnen verwendete Wasserzeichenkonfiguration sollte sicher und privat gespeichert werden, da sie sonst von anderen ganz einfach nachgebaut werden kann.

In jeder Wasserzeichenkonfiguration müssen zwei Parameter definiert werden:

  • Der Parameter keys ist eine Liste eindeutiger, zufälliger Ganzzahlen, mit denen g-Funktionsbewertungen 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 in Anhang C.1 des Artikels.
  • Der Parameter ngram_len wird verwendet, um ein ausgewogenes Verhältnis zwischen Robustheit und Erkennbarkeit zu schaffen. Je größer der Wert, desto besser ist das Wasserzeichen erkennbar, was jedoch die Auswirkungen auf Änderungen etwas spröderer ist. Eine Länge von 5 ist ein guter Standardwert.

Du kannst das Wasserzeichen je nach deinen Leistungsanforderungen weiter konfigurieren:

  • Eine Stichprobentabelle wird durch zwei Attribute konfiguriert: sampling_table_size und sampling_table_seed. Sie sollten eine sampling_table_size von mindestens\( 2^{16} \) verwenden, um eine unvoreingenommene und stabile g-Funktion bei der Stichprobenerhebung zu gewährleisten. Beachten Sie jedoch, dass sich die Größe der Stichprobentabelle auf die Menge des benötigten Arbeitsspeichers bei der Inferenz auswirkt. Sie können eine beliebige Ganzzahl als sampling_table_seed verwenden.
  • Wiederholte n-Gramme in den context_history_size vorangehenden Tokens werden nicht mit einem Wasserzeichen versehen, um die Erkennung zu verbessern.

Zum Generieren von Text mit einem SynthID-Text-Wasserzeichen unter Verwendung Ihrer Modelle ist kein zusätzliches Training erforderlich. Es wird lediglich eine Wasserzeichenkonfiguration an die Methode .generate() des Modells übergeben, um den Logits-Prozessor von SynthID Text zu aktivieren. Im Blogpost und im Space finden Sie Codebeispiele zum Anwenden eines Wasserzeichens in der Transformers-Bibliothek.

Erkennung und Überprüfbarkeit von Wasserzeichen

Die Wasserzeichenerkennung erfolgt probabilistisch. Ein bayesianischer Detector wird mit Hugging Face Transformers und auf GitHub bereitgestellt. Dieser Detector kann drei mögliche Erkennungsstatus ausgeben: „Mit Wasserzeichen“, „Ohne Wasserzeichen“ oder „Unsicher“. Das Verhalten kann angepasst werden, indem zwei Schwellenwerte festgelegt werden, um eine bestimmte Rate falsch positiver und falsch negativer Ergebnisse zu erreichen. Weitere Informationen finden Sie in Anhang C.8 des Artikels.

Modelle, die denselben Tokenizer verwenden, können auch die Konfiguration und den Detector für das Hinzufügen von Wasserzeichen gemeinsam nutzen. Das bedeutet, dass sie auch dasselbe Wasserzeichen verwenden, sofern das Trainingsset des Detectors Beispiele aus allen Modellen enthält, die dasselbe Wasserzeichen verwenden.

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

  • Durch die Option Vollständig privat wird der Detektor nicht freigegeben oder in irgendeiner Weise offengelegt.
  • Bei der Option Semi-privat wird der Detektor nicht freigegeben, sondern über eine API bereitgestellt.
  • Mit der Option öffentlich können andere den Detector herunterladen und verwenden.

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 gegenüber einigen Transformationen, z. B. Textausschnitten, der Änderung einiger Wörter oder einer leichten Umformulierung. Diese Methode hat jedoch Einschränkungen.

  • Die Wasserzeichenanwendung ist bei sachlichen Antworten weniger effektiv, da die Generierung weniger Möglichkeiten zur Ergänzung gibt, ohne die Genauigkeit zu verringern.
  • Die Konfidenzwerte von Detektoren können stark reduziert werden, wenn ein KI-generierter Text gründlich umgeschrieben oder in eine andere Sprache übersetzt wird.

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.