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. Auch wenn die meisten dieser Anwendungen legitim sind, besteht die Sorge, dass sie zu Fehlinformationen und Fehlzuordnungen beitragen könnten. 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 veröffentlicht, um Entwicklern die Möglichkeit zu geben, Text mit Wasserzeichen zu versehen. 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 Logitprozessor, 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.

Mithilfe von Wasserzeichen können Sie die g-Funktion und ihre Anwendung bei der Generierung 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. Anhand der Länge dieser Liste wird festgelegt, wie viele Ebenen des Wasserzeichens angewendet werden. Weitere Informationen finden Sie im Artikel im Anhang C.1.
  • 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 erkennbar, aber desto anfälliger ist es für Änderungen. Eine Länge von 5 ist ein guter Standardwert.

Sie können das Wasserzeichen je nach Ihren Leistungsanforderungen weiter konfigurieren:

  • Eine Stichprobentabelle wird mit zwei Properties konfiguriert: sampling_table_size und sampling_table_seed. Sie sollten eine sampling_table_size von mindestens216 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 Erkennbarkeit 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 Logits-Prozessor für 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 Erkennung von Wasserzeichen ist 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 ungewiss. Das Verhalten kann durch Festlegen von zwei Schwellenwerten angepasst 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 ein gemeinsames Wasserzeichen verwenden, sofern das Trainingsset des Detectors Beispiele aus allen Modellen enthält, die das Wasserzeichen gemeinsam nutzen.

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 keiner Weise freigegeben oder freigelegt.
  • 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 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 des Detektors können stark sinken, 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 die Verwendung von KI-generierten Inhalten für böswillige Zwecke erschweren und mit anderen Ansätzen kombiniert werden, um eine bessere Abdeckung über Inhaltstypen und Plattformen hinweg zu ermöglichen.