Kurs
Da KI-generierte Inhalte immer schneller verbreitet werden und die Technologie immer besser wird, wird es immer schwieriger und wichtiger, zwischen von Menschen und von Maschinen erstellten Inhalten zu unterscheiden.
KI-Wasserzeichen Tools wie SynthID wollen die Herkunft digitaler Inhalte nachverfolgbar machen und Nutzern helfen, die Echtheit zu überprüfen. In diesem Artikel erkläre ich dir, was SynthID ist, wie es funktioniert und wie du damit Wasserzeichen auf Text anbringen kannst.
Was ist SynthID?
SynthID ist ein Tool von Google DeepMind, das unsichtbare Wasserzeichen in KI-generierte Inhalte einbaut. Diese Wasserzeichen sollen dabei helfen, zu erkennen, ob ein Medieninhalt von einer künstlichen Intelligenz erstellt wurde.
Das Ziel von KI-Wasserzeichen ist, digitale Inhalte transparenter und besser nachverfolgbar zu machen, vor allem, weil KI immer besser wird. Ohne zuverlässige Marker kann KI-generiertes Material leicht unbemerkt untergemischt werden und sich verbreiten, was zu verschiedenen Problemen führen kann, wie zum Beispiel der Verbreitung von Fake News und Deepfakes oder die unerlaubte Nutzung kreativer Werke.
SynthID kann Wasserzeichen in Text, Bildern, Videos und Audiodateien einfügen. Der Ansatz passt sich an jeden Medientyp an, was wir später genauer anschauen werden. Das Wasserzeichen ist so gemacht, dass es gängige Bearbeitungen wie Zuschneiden, Rauschunterdrückung, Komprimierung, Beschneiden und Filtern übersteht, was es echt robust macht.
SynthID ist schon in die generativen KI-Produkte von Google eingebaut: Gemini für Text, Imagen für Bilder, Lyria für Audio und Veo für Videos. Das heißt, diese Modelle können nicht erkennbare Wasserzeichen direkt in ihre Ausgabe einbauen. Zusammen mit dem SynthID Detector-Portal bietet Google eine komplette Wasserzeichen-Lösung, mit der man schnell KI-generierte Inhalte in allen unterstützten Formaten überprüfen kann.
Wie funktioniert SynthID?
Wie das Wasserzeichen genau aussieht, hängt vom Format der Datei ab. Ich erkläre euch mal, wie sie das machen und wie robust sie sind.
SynthID für Bilder und Videos
Für Bilddaten nutzt SynthID zwei neuronale Netze. Der erste verändert einzelne Farbwerte (Pixelwerte) im Bild so minimal, dass das menschliche Auge keinen Unterschied sieht.
Die Änderungen sind so ausgewählt, dass das Wasserzeichen auch nach typischen Bildbearbeitungen wie Zuschneiden, Komprimieren, Filtern, Drehen oder sogar Screenshots für das zweite neuronale Netzwerk erkennbar bleibt. Dadurch ist das Wasserzeichen besonders widerstandsfähig gegen gängige Manipulationen, die beim Teilen oder Wiederverwenden von Bildern oft vorkommen.
SynthID für Videos
Jeder Frame eines Videos wird wie ein einzelnes Bild behandelt: Jeder Frame bekommt einen eigenen Wasserzeichen, sodass das Wasserzeichen immer zu sehen ist, egal wie viel vom Video abgeschnitten wird. Dadurch sind die unsichtbaren Videowasserzeichen von SynthID robust gegen einfache Bearbeitungen wie Trimmen, Komprimieren oder geringfügiges Zuschneiden.
Entschlossene Nutzer oder kommerzielle Umgehungsdienste können das Wasserzeichen trotzdem entfernen oder verdecken, vor allem wenn sie Medienfilter auf Werbeplattformen umgehen oder Inhalte moderieren wollen. Wenn du zum Beispiel starke Filter wie Farbverzerrungen oder extreme Kontraständerungen anwendest oder das Video mit großen Änderungen an der Komprimierung, Bildrate oder dem Farbprofil neu codierst, kann das Wasserzeichen so stark beeinträchtigt werden, dass es schwer zu erkennen ist.
SynthID für Audio
Bei Audio wandelt SynthID die Wellenform in ein Spektrogramm um. Das ist eine visuelle Darstellung des Frequenzspektrums in einem Audiosignal, wie es sich im Laufe der Zeit verändert. Dann wird das Wasserzeichen in das Spektrogramm eingebettet und schließlich wird der Ton daraus wiederhergestellt. Das Wasserzeichen bleibt unhörbar, hält aber einer normalen Audiobearbeitung stand.
Um mit normalen Formaten klarzukommen, wird das Wasserzeichen so eingebaut, dass es auch bei verlustbehafteter Komprimierung erhalten bleibt. Allerdings können extreme Manipulationen wie Tonhöhenverschiebungen oder Zeitdehnung das Spektrogramm verzerren und die Erkennungsgenauigkeit beeinträchtigen. Außerdem ist SynthID zwar robust gegenüber MP3-Komprimierung, aber die Effektivität kann bei proprietären Audioformaten variieren.
SynthID für Text
Wenn ein LLM Text generiert, zerlegt er die Sprache in Tokens – Wörter, Zeichen oder Wortteile – und sagt dann anhand von Wahrscheinlichkeitswerten das nächste Token voraus. SynthID nutzt diese Eigenschaft, um während der Generierung Wasserzeichen einzubauen, indem es diese Wahrscheinlichkeitswerte anpasst. Die Änderung wird auf eine kontrollierte, pseudo-zufällige Art gemacht, die bestimmte Wortwahlen etwas wahrscheinlicher macht.
Das statistische Muster im Text ist für die Leser nicht zu sehen und hat keinen Einfluss auf die Bedeutung, Qualität oder sogar Kreativität des generierten Textes. Wenn eine Erkennung nötig ist, schaut SynthID nach diesen subtilen Wahrscheinlichkeitsmustern im Text und vergleicht sie mit dem, was man bei Inhalten mit und ohne Wasserzeichen erwarten würde. Das Wasserzeichen bleibt in der Regel auch bei leichter Bearbeitung und Umformulierung erhalten, kann jedoch durch umfangreiche Überarbeitungen oder Übersetzungen abgeschwächt werden.
SynthID-Einschränkungen
SynthID hat in der Praxis einige Einschränkungen. Während die Text-Wasserzeichen in allen Sprachen gut funktionieren – anders als bei Detektoren, die nachträglich eingebaut werden und bei unbekannten Sprachen versagen –, sinken die Erkennungsraten bei starker Umformulierung oder Übersetzung ziemlich stark.
Für Nicht-Text-Inhalte (Bilder, Videos, Audio) fehlen veröffentlichte Genauigkeitsmetriken komplett, was eine quantitative Überprüfung der Angaben von Google zur Ausfallsicherheit unmöglich macht.
Außerdem ist das Einbetten von Wasserzeichen bei sachlichen Antworten nicht so effektiv, weil die eingeschränkten Generierungsoptionen das Einfügen von Mustern einschränken, ohne die Genauigkeit zu beeinträchtigen.
Wie andere KI-Erkennungs-Tools erklärt SynthID nicht, wie es zu seinen Entscheidungen kommt, um Umgehungen zu verhindern. Wenn die genauen Kriterien oder Algorithmen für die Erkennung bekannt wären, wäre es für Nutzer viel einfacher, Inhalte gezielt so zu manipulieren, dass sie nicht erkannt werden.
Außerdem sind die zugrunde liegenden Modelle ziemlich kompliziert und nutzen oft statistische Muster oder Wahrscheinlichkeitswerte, was die Entscheidungen selbst für Experten schwer zu verstehen macht.
Im Moment funktioniert die SynthID-Erkennung am besten mit Inhalten, die von Googles eigenen Modellen erstellt wurden, wo die Wasserzeichen tief eingebaut sind. Es gibt zwar eine Open-Source-Version von SynthID-Text, die mit kompatiblen Sprachmodellen über Hugging Face Transformers genutzt werden kann, aber die Erkennungsraten und die Robustheit sind im Vergleich zu den nativen Implementierungen von Google im Allgemeinen niedriger.
Deshalb ist SynthID nicht überall einsetzbar und kann vielleicht nicht immer Inhalte von anderen Anbietern wie OpenAI oder Meta erkennen, vor allem wenn die Inhalte von verschiedenen KI-Systemen bearbeitet wurden.
Praktische Umsetzung: SynthID für Text
Lass uns loslegen! Du brauchst keinen speziellen Google-API-Zugang – SynthID läuft lokal im Rahmen des „ transformers “-Frameworks. Du brauchst nur:
- Eine Python-Umgebung (Version 3.8 oder höher) mit den Paketen „
transformers“ und „torch“ installiert. - Zugang zu einem LLM über Hugging Face.
Die Umgebung gestalten
Die Python-Umgebung könnte zum Beispiel mit folgendem Befehl eingerichtet werden Anaconda und den folgenden Befehlen eingerichtet werden. Bitte beachte, dass die Version des Pakets „ transformers “ 4.46.0 oder höher sein sollte, damit SynthID für Text unterstützt wird.
conda create -n synthid-env python=3.9
conda activate synthid-env
pip install "transformers>=4.46.0" torch
Modell runterladen
Für die Textgenerierung nehmen wir das schlanke Modell „ gemma-2b “, weil es speziell dafür gemacht ist, auf normaler Hardware gut zu laufen und trotzdem bei vielen Sprachaufgaben eine starke Leistung bringt. Da es sich um ein geschütztes Modell handelt, musst du dich bei einem Hugging Face-Konto anmelden und die Lizenzbedingungen des Modells im Browser akzeptieren.
Das Gemma-2b-Modell gibt's in zwei Hauptformaten:
- Die Variante „
safetensors” für die Verwendung mit PyTorch und Hugging Face Transformers - Die Variante „
gguf” für spezielle Inferenz-Engines wie llama.cpp
Für dieses Tutorial brauchst du nur die Dateien „ safetensors “, weil du die brauchst, um das Modell in Python mit „ transformers “ zu laden und auszuführen. Du musst aber auch die dazugehörigen Konfigurations- und Tokenizer-Dateien runterladen, weil diese wichtige Infos über die Modellarchitektur und die Textverarbeitung haben – ohne sie kann das Modell nicht richtig geladen oder benutzt werden, egal welches Gewichtsformat du wählst.
huggingface-cli download google/gemma-2b model-00001-of-00002.safetensors model-00002-of-00002.safetensors config.json tokenizer.json tokenizer.model tokenizer_config.json special_tokens_map.json
Modell wird geladen
Um Gemma-2b oder andere gated Modelle von Hugging Face nutzen zu können, brauchen wir auch einen Hugging Face-Zugangstoken. Der Zugriffstoken braucht nur die Leserechte für „ “, „ “ und „“. Wähle beim Erstellen deines Tokens in den Hugging Face-Einstellungen die Rolle „Lesen“ aus; Schreib- oder Administratorrechte sind nicht nötig.
# Logging in to Hugging Face
from huggingface_hub import login
login("<your_huggingface_token>")
Wir müssen „ AutoTokenizer “ und „ AutoModelForCausalLM “ aus dem Paket „ transformers “ importieren und beide mit dem Modell unserer Wahl initialisieren.
# Loading the models
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "google/gemma-2b"
tokenizer = AutoTokenizer.from_pretrained(generator_model_name)
model = AutoModelForCausalLM.from_pretrained(generator_model_name)
SynthID-Konfiguration erstellen
Um SynthID-Wasserzeichen auf KI-generierten Text anzuwenden, musst du ein Wasserzeichen-Konfigurationsobjekt über „ SynthIDTextWatermarkingConfig “ erstellen. Dieses Objekt legt fest, wie Wasserzeichen beim Erstellen von Texten eingebaut werden.
Der Parameter „ keys “ ist eine Liste von zufälligen ganzen Zahlen (normalerweise 20 bis 30 Werte), die als deine private digitale Signatur dienen. Sie zeigen, wie die Wahrscheinlichkeit, dass bestimmte Wörter gewählt werden, beim Schreiben von Texten ganz subtil verändert wird, um ein erkennbares Muster zu schaffen. Bitte denk dran, dass diese „ keys ” geheim sind – wenn sie offengelegt werden, könnten Angreifer Wasserzeichen fälschen oder nicht erkennbare KI-Texte generieren.
Der Parameter „ ngram_len “ legt fest, wie viele Wörter hintereinander für die Analyse des Wasserzeichenmusters berücksichtigt werden. Je niedriger die Werte sind, desto besser halten die Wasserzeichen starker Bearbeitung stand, aber desto schwieriger sind sie auch zu erkennen. Umgekehrt verbessern höhere Werte die Erkennung, brechen aber bei kleinen Änderungen zusammen. Für den Einsatz in der Praxis ist ein Wert von 5 als bester Kompromiss empfohlen.
from transformers import SynthIDTextWatermarkingConfig
# SynthID configuration
watermark_config = SynthIDTextWatermarkingConfig(
keys=[634, 300, 846, 15, 310, ...], # list of 20-30 integer numbers, keep this secret!
ngram_len=5
)
Wasserzeichen auf Text anwenden
Der Text, der mit einem Wasserzeichen versehen werden soll, muss erst in einen PyTorch-Tensor zerlegt werden, damit das Modell die numerischen Tokens versteht. Dieser „ tokenized_prompt ” wird dann zusammen mit dem Konfigurationsobjekt an die Methode „ generate() ” des Modells weitergegeben. Der Parameter „ do_sample “ muss auf „ True “ gesetzt sein, damit wasserzeichenkompatibles Sampling funktioniert.
tokenized_prompt = tokenizer(
["Answer in two sentences: What is AI?"],
return_tensors=”pt”
)
output_sequences = model.generate(
**tokenized_prompt,
watermarking_config=watermark_config,,
do_sample=True
)
Das ändert die Wahrscheinlichkeit, dass bestimmte Wörter bei der Generierung verwendet werden, und fügt ein unsichtbares Muster ein, ohne dass der Text dabei an Qualität verliert. Damit alles wiederverwendet werden kann, solltest du in allen Sitzungen denselben „ keys “ verwenden, damit Wasserzeichen immer erkannt werden.
In diesem Beispiel haben wir das Modell gefragt, wie es KI definiert. Schauen wir uns erst mal die Antwort an, indem wir die Tokens mit der Methode „batch_decode()” wieder in lesbaren Text umwandeln.
watermarked_text = tokenizer.batch_decode(
output_sequences , # Model's tokenized output
skip_special_tokens=True # Removes control tokens like [BOS], [EOS], etc.
)
print(watermarked_text)
['Answer in two sentences: What is AI?
Answer:
Artificial intelligence (AI) is a branch of computer science that deals with the development of intelligent machines that can perform tasks that normally require human intelligence, such as visual perception, speech recognition, decision-making, and language translation.
AI applications include autonomous vehicles, chatbots, and virtual personal assistants.']
Wie man KI-Wasserzeichen in Texten findet
Wenn es darum geht, SynthID-Wasserzeichen in KI-generierten Texten zu erkennen, gibt es im Moment drei praktische Möglichkeiten.
Für Demos und Experimente bietet Hugging Face Transformers eine Bayesian-Detektorklasse. Mit dieser Klasse kannst du den Erkennungs-Workflow in Python-Code mit einem Open-Source-Dummy-Modell testen. Aber, wichtig: Dieses Modell ist nur für Demo-Zwecke gedacht und nicht für zuverlässige Genauigkeit oder Robustheit in der Produktion.
Für Organisationen, die eine maßgeschneiderte Erkennung brauchen, kann die Bayes'sche Detektorklasse verwendet werden, um eigene SynthID-kompatible Detektoren zu erstellen. Dieses End-to-End-Beispiel zeigt, wie man mit einem Wasserzeichen versehenen Text trainieren kann, der mit einer bestimmten Konfiguration und einem gemeinsamen Tokenizer erstellt wurde, um eine einheitliche Wasserzeichenüberprüfung über mehrere interne Modelle hinweg zu ermöglichen.
Nach dem Training können die Detektoren in ein privates Hugging Face Hub-Repository hochgeladen werden, wo sie sicher für die Organisation zugänglich sind. Das Responsible GenAI Toolkit von Google bietet zusätzliche Anleitungen für den Einsatz in der Produktion.
Für die zuverlässige Erkennung von SynthID-Wasserzeichen in Inhalten, die von Googles KI-Modellen (wie Gemini oder Imagen) erstellt wurden, bietet Google ein Cloud-basiertes SynthID Detector Portal. Der Service ist super einfach zu benutzen und man braucht keine Programmierkenntnisse, aber er ist proprietär, im Moment nur über eine Warteliste verfügbar und beschränkt sich auf die Überprüfung von Inhalten aus dem Google-Eigenen Ökosystem. Im Moment gibt's keine öffentliche API oder lokale Version für Entwickler.
Weitere Diskussionen zu SynthID
Standardisierung und Datenschutz
SynthID hat sich nicht als Standard in der Branche durchgesetzt, weil große Unternehmen wie Microsoft und Meta weiterhin ihre eigenen Wasserzeichensysteme nutzen, was zu einem uneinheitlichen Ökosystem führt, in dem die plattformübergreifende Erkennung immer noch nicht richtig funktioniert. Im Moment gibt's kein einheitliches Protokoll, um die Robustheit von Wasserzeichen in Text, Bildern, Audio und Videos zu checken.
Industriepartnerschaften – wie die mit Nvidia, die SynthID in ihrer Cosmos-Plattform nutzen – gibt es zwar, aber sie sind eher selten. Trotz der vielversprechenden Aussichten ist SynthID also noch weit davon entfernt, als allgemein akzeptierter Standard zu gelten.
Entgegen einiger Bedenken ermöglicht SynthID nicht automatisch eine Überwachung oder das Verfolgen von Inhalten durch Google, da das Wasserzeichen ein passiver Identifikator ist, der bei der Erstellung eingebettet wird und freiwillig zum Verifizieren auf das SynthID Detector-Portal hochgeladen werden muss. Es gibt keine Hinweise darauf, dass Google die Verbreitung oder Nutzung von Inhalten über den Scan- und Löschvorgang des Portals hinaus überwacht. Google hat nicht gesagt, ob hochgeladene Dateien langfristig gespeichert oder wiederverwendet werden, was zu möglichen Datenschutzlücken führen könnte.
Rechtliche und soziale Auswirkungen
Das Entfernen von Wasserzeichen aus KI-generierten Inhalten macht die Durchsetzung von Urheberrechten kompliziert, vor allem weil Gesetze wie das EU-KI-Gesetz nicht klar regeln, wem die Ergebnisse von KI gehören. Während das US-Gesetz COPIED Act (2024) so was verbietet, nutzen Angreifer Lücken aus – zum Beispiel durch Übersetzen von Texten oder Bearbeiten von Medien –, um Wasserzeichen ohne rechtliche Konsequenzen zu entfernen. Diese Unklarheit macht die Urheber angreifbar.
Tools wie SynthID, die nur im Google-Umfeld funktionieren, können das Problem nicht richtig lösen, weil nur ein kleiner Teil der Posts mit erkennbaren Wasserzeichen versehen ist. Statische Wasserzeichen allein können KI-Fehlinformationen nicht bekämpfen, weil es technische Schwachstellen, falsche positive Ergebnisse und Probleme mit der Kompatibilität von Plattformen gibt. Im schlimmsten Fall könnten Tools wie SynthID gefährliche Selbstüberschätzung fördern, indem sie eine zuverlässige Erkennung suggerieren, obwohl sie bei Nicht-Google-Inhalten oder bearbeiteten Medien versagen.
Generative Wasserzeichen wie SynthID-Text sind keine Komplettlösung für die KI-Erkennung, sondern eher ein taktisches Tool, das andere Strategien ergänzt. Wie gut das funktioniert, hängt davon ab, wie gut die Leute zusammenarbeiten, die die Wasserzeichen beim Erstellen der Texte einbauen. Um KI-generierte Texte aus Quellen zu erkennen, die keine Wasserzeichen verwenden, braucht man immer noch andere Methoden, wie zum Beispiel die nachträgliche Erkennung.
Fazit
SynthID bietet eine Möglichkeit, KI-generierte Texte mit einem Wasserzeichen zu versehen und zu überprüfen, wodurch die Herkunft von Inhalten im Zeitalter synthetischer Medien transparenter wird. Allerdings ist die Wirksamkeit begrenzt, weil es keine Standards in der Branche gibt und Wasserzeichen leicht entfernt oder umgangen werden können.
Wenn du mehr über KI-Wasserzeichen und andere verantwortungsbewusste KI-Praktiken erfahren möchtest, schau dir einfach diese Ressourcen an:
