Accéder au contenu principal

SynthID de Google : Un guide illustré d'exemples

Découvrez ce qu'est le SynthID de Google, comment il fonctionne et comment implémenter un filigrane SynthID pour du texte.
Actualisé 8 juil. 2025  · 8 min de lecture

Avec la diffusion rapide des contenus générés par l'IA et les progrès technologiques, il devient à la fois plus difficile et plus important de distinguer les contenus créés par l'homme de ceux créés par des machines.

Les outils de filigranage par IA tels que SynthID visent à rendre traçable l'origine des contenus numériques et à aider les utilisateurs à vérifier leur authenticité. Dans cet article, je vais vous expliquer ce qu'est SynthID, comment cela fonctionne et comment vous pouvez l'utiliser pour ajouter des filigranes à du texte.

Qu'est-ce que SynthID ?

SynthID est un outil développé par Google DeepMind qui intègre des filigranes invisibles dans les contenus générés par l'IA. Ces filigranes sont conçus pour aider à déterminer si un média a été créé par une intelligence artificielle.

L'objectif du tatouage numérique par IA est de rendre les contenus numériques plus transparents et traçables, en particulier à mesure que l'IA devient plus avancée. Sans marqueurs fiables, les contenus générés par l'IA peuvent facilement se fondre dans le décor et se propager sans être remarqués, ce qui peut entraîner divers problèmes, tels que la diffusion de fausses informations et de deepfakes. deepfakes ou l'utilisation non autorisée d'œuvres créatives.

SynthID prend en charge le tatouage numérique sur du texte, des images, des vidéos et des fichiers audio. Son approche s'adapte à chaque type de média, que nous examinerons en détail plus tard. Le filigrane est conçu pour résister aux modifications courantes telles que le rognage, le bruit, la compression, le recadrage et le filtrage, ce qui le rend extrêmement robuste.

SynthID est déjà intégré aux produits d'IA générative de Google : Gemini pour le texte, Imagen pour les images, Lyria pour l'audio et Veo pour la vidéo. Cela signifie que ces modèles peuvent intégrer des filigranes imperceptibles directement dans leur sortie. En collaboration avec le portail SynthID Detector, Google propose une solution complète de filigranage qui permet aux utilisateurs de vérifier rapidement le contenu généré par l'IA dans tous les formats pris en charge.

Comment fonctionne SynthID ?

Le processus de filigranage dépend du format du support. Je vais vous expliquer leur procédure et leur résilience un par un.

SynthID pour les images et les vidéos

Pour les données d'images, SynthID utilise deux réseaux neuronaux. Le premier modifie subtilement les valeurs de couleur individuelles (valeurs de pixels) de l'image de manière si minime que l'œil humain ne peut percevoir aucune différence.

Les modifications sont sélectionnées de manière à ce que le filigrane reste détectable par le deuxième réseau neuronal, même après des modifications courantes telles que le recadrage, la compression, le filtrage, la rotation ou même la capture d'écran. Cela rend le filigrane particulièrement résistant aux manipulations courantes qui surviennent souvent lorsque les images sont partagées ou réutilisées.

SynthID pour les vidéos

Chaque image d'une vidéo est traitée de la même manière qu'une image individuelle : chaque image est marquée individuellement, ce qui garantit que la marque reste détectable, quelle que soit la durée de la vidéo. Cela rend le filigrane vidéo invisible de SynthID résistant aux modifications de base telles que le rognage, la compression ou le recadrage mineur.

Les utilisateurs déterminés ou les services commerciaux de contournement peuvent toujours supprimer ou masquer le filigrane, en particulier lorsqu'ils sont motivés par le contournement des filtres multimédias sur les plateformes publicitaires ou pour la modération de contenu. Par exemple, l'application de filtres agressifs, tels que la distorsion des couleurs ou les changements de contraste extrêmes, ou le réencodage de la vidéo avec des ajustements importants de la compression, de la fréquence d'images ou du profil de couleurs, peut dégrader le filigrane au point de rendre sa détection fiable difficile.

SynthID pour l'audio

Pour l'audio, SynthID convertit la forme d'onde en un spectrogramme, qui est une représentation visuelle du spectre de fréquences d'un signal audio au fil du temps. Il intègre ensuite le filigrane dans le spectrogramme et reconstitue enfin le fichier audio à partir de celui-ci. Le filigrane reste inaudible, mais résiste aux traitements audio standard.

Pour gérer les formats conventionnels, le filigrane est intégré de manière à résister à une compression avec perte. Cependant, des manipulations extrêmes telles que le changement de hauteur ou l'étirement temporel peuvent déformer le spectrogramme, réduisant ainsi la précision de la détection. De plus, bien qu'il soit résistant à la compression MP3, l'efficacité de SynthID peut varier selon les formats audio propriétaires.

SynthID pour le texte

Lorsqu'un LLM génère du texte, il décompose le langage en tokens (mots, caractères ou parties de mots), puis prédit le token suivant en fonction de scores de probabilité. SynthID utilise cette caractéristique pour intégrer des filigranes pendant le processus de génération en ajustant ces scores de probabilité. La modification est effectuée de manière contrôlée et pseudo-aléatoire, ce qui rend certains choix de mots légèrement plus probables.

Le modèle statistique qui en résulte dans le texte est invisible pour les lecteurs et n'affecte ni le sens, ni la qualité, ni même la créativité du texte généré. Lorsqu'une détection est nécessaire, SynthID analyse le texte à la recherche de ces modèles de probabilité subtils, en les comparant à ce que l'on attendrait d'un contenu avec ou sans filigrane. Le filigrane résiste généralement à des modifications mineures et à la paraphrase, mais il peut être affaibli par une réécriture importante ou une traduction.

Limitations de SynthID

SynthID présente des limitations importantes dans le cadre d'une utilisation réelle. Bien que son tatouage numérique de texte fonctionne de manière cohérente dans toutes les langues, contrairement aux détecteurs a posteriori qui échouent sur les langues non entraînées, les taux de détection diminuent considérablement en cas de paraphrase ou de traduction intensive.

Pour les modalités non textuelles (images, vidéo, audio), les mesures de précision publiées sont remarquablement absentes, ce qui empêche toute validation quantitative des affirmations de Google en matière de résilience.

De plus, l'intégration de filigranes s'avère moins efficace pour les réponses factuelles, où les options de génération limitées restreignent l'insertion de motifs sans compromettre la précision.

À l'instar d'autres outils de détection de l'IA, SynthID n'explique pas comment il parvient à ses conclusions afin d'empêcher tout contournement. Si les critères ou les algorithmes de détection exacts étaient rendus publics, il serait beaucoup plus facile pour les utilisateurs de manipuler le contenu de manière spécifique afin d'échapper à la détection.

De plus, les modèles sous-jacents sont complexes et fonctionnent souvent à l'aide de modèles statistiques ou de scores de probabilité, ce qui rend leurs décisions difficiles à interpréter en termes simples, même pour les experts.

À l'heure actuelle, la détection la plus fiable de SynthID est obtenue avec du contenu généré par les propres modèles de Google, où le tatouage numérique est profondément intégré. Bien qu'une version open source de SynthID-Text soit disponible et puisse être utilisée avec des modèles linguistiques compatibles via Hugging Face Transformers, les taux de détection et la robustesse sont généralement inférieurs à ceux des implémentations natives de Google.

Par conséquent, l'applicabilité universelle de SynthID reste limitée et il se peut qu'il ne parvienne pas à identifier de manière cohérente les contenus générés par l'IA provenant d'autres fournisseurs tels qu'OpenAI ou Meta, en particulier lorsque les contenus sont modifiés par différents systèmes d'IA.

Mise en œuvre pratique : SynthID pour texte

Commençons ! Vous n'avez besoin d'aucun accès spécial à l'API Google : SynthID fonctionne localement dans le cadre de l'transformers. Tout ce dont vous avez besoin, c'est :

  • Un environnement Python (version 3.8 ou supérieure) avec les paquets transformers et torch installés.
  • Accès à un LLM via Hugging Face.

Créer l'environnement

L'environnement Python peut, par exemple, être configuré à l'aide de la commande suivante : Anaconda et les commandes suivantes. Veuillez noter que la version du package transformers doit être 4.46.0 ou plus récente pour prendre en charge SynthID pour le texte.

conda create -n synthid-env python=3.9
conda activate synthid-env
pip install "transformers>=4.46.0" torch

Téléchargement du modèle

Pour la génération de texte, nous utiliserons le modèle léger gemma-2b, car il est spécialement conçu pour fonctionner efficacement sur du matériel grand public tout en offrant de solides performances dans toute une série de tâches linguistiques. Comme il s'agit d'un modèle fermé, il est nécessaire de se connecter à un compte Hugging Face et d'accepter les conditions d'utilisation du modèle dans le navigateur.

Le modèle Gemma-2b est disponible en deux formats principaux :

  1. La variante d'safetensors à utiliser avec PyTorch et Hugging Face Transformers
  2. La variante d'gguf pour les moteurs d'inférence spécialisés tels que llama.cpp

Pour ce tutoriel, vous n'avez besoin que des fichiers safetensors, car ils sont nécessaires pour charger et exécuter le modèle dans Python avec transformers. Cependant, vous devez également télécharger les fichiers de configuration et de tokenizer associés, car ces fichiers contiennent des informations essentielles sur l'architecture du modèle et le traitement du texte. Sans eux, le modèle ne peut pas être correctement chargé ou utilisé, quel que soit le format de poids choisi.

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

Chargement du modèle

Pour pouvoir utiliser Gemma-2b ou d'autres modèles à portes de Hugging Face, nous devons également fournir un jeton d'accès Hugging Face. Le jeton d'accès nécessite uniquement les autorisations d', d' et de lecture de. Lors de la création de votre jeton dans les paramètres Hugging Face, veuillez sélectionner le rôle « lecture » ; aucune autorisation d'écriture ou d'administration n'est requise.

# Logging in to Hugging Face
from huggingface_hub import login
login("<your_huggingface_token>")

Nous devons importer AutoTokenizer et AutoModelForCausalLM à partir du package transformers, puis initialiser les deux avec le modèle de notre choix.

# 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)

Configuration de SynthID

Pour appliquer des filigranes SynthID à du texte généré par IA, vous devez créer un objet de configuration de filigrane à l'aide de l'SynthIDTextWatermarkingConfig. Cet objet contrôle la manière dont les filigranes sont intégrés lors de la génération du texte.

Le paramètre « keys » est une liste d'entiers aléatoires (généralement entre 20 et 30 valeurs) qui servent de signature numérique privée. Ils déterminent comment les probabilités de choix des mots sont subtilement modifiées lors de la génération du texte afin de créer un modèle détectable. Veuillez noter que ces paramètres d'keys s sont confidentiels. S'ils sont divulgués, des attaquants pourraient falsifier les filigranes ou générer du texte IA indétectable.

Le paramètre « ngram_len » définit la longueur de la séquence de mots utilisée pour l'analyse du motif du filigrane. Plus les valeurs sont faibles, plus les filigranes ont de chances de résister à des modifications importantes, mais plus ils sont difficiles à détecter. À l'inverse, des valeurs plus élevées améliorent la détection mais ne fonctionnent pas en cas de modifications mineures. Une valeur de 5 est recommandée comme meilleur compromis pour une utilisation dans le monde réel.

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
)

Ajouter un filigrane à du texte

La invite pour le texte à filigraner doit d'abord être tokenisée dans un tenseur PyTorch, afin que le modèle obtienne les tokens numériques qu'il comprend. tokenized_prompt Cette information est ensuite transmise à la méthode d'generate() du modèle avec l'objet de configuration. Le paramètre « do_sample » doit être défini sur « True » pour activer l'échantillonnage compatible avec les filigranes.

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
)

Cela modifie les probabilités de choix des mots lors de la génération, en intégrant un modèle invisible tout en préservant la qualité du texte. Afin de garantir la réutilisabilité, veuillez utiliser le même identifiant de session ( keys ) d'une session à l'autre, afin que les filigranes puissent être détectés de manière cohérente.

Dans cet exemple, nous avons demandé au modèle de nous donner sa définition de l'IA. Commençons par examiner la réponse en reconvertissant les jetons en texte lisible à l'aide de la méthode « batch_decode() ».

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.']

Comment détecter les filigranes IA dans un texte

En ce qui concerne la détection des filigranes SynthID dans les textes générés par IA, trois options pratiques sont actuellement disponibles.

À des fins de démonstration et d'expérimentation, Hugging Face Transformers fournit une classe de détecteur bayésien. classe de détecteurs bayésiens. Cette classe permet de tester le workflow de détection dans le code Python à l'aide d'un modèle factice open source. Il est toutefois important de noter que ce modèle est uniquement destiné à des fins de démonstration et n'offre pas une précision fiable ni une robustesse adaptée à la production. 

Pour les organisations nécessitant une détection sur mesure, la classe de détecteurs bayésiens peut être utilisée pour créer des détecteurs personnalisés compatibles avec SynthID. Cet exemple complet illustre la manière dont le service de gestion des flux exemple complet montre comment il est possible de former le modèle sur du texte filigrané généré avec une configuration spécifique et un tokenizer partagé afin de permettre une vérification cohérente du filigrane sur plusieurs modèles internes.

Une fois formés, les détecteurs peuvent être téléchargés vers un référentiel privé Hugging Face Hub pour un accès sécurisé au sein de l'organisation. De plus, la boîte à outils Responsible GenAI de Google fournit des conseils supplémentaires pour le déploiement en production.

Pour une détection authentique des filigranes SynthID dans le contenu généré par les modèles d'IA de Google (tels que Gemini ou Imagen), Google propose un portail de détection SynthID basé sur le cloud. .. Le service est convivial et ne nécessite aucune connaissance en codage, mais il est propriétaire, actuellement disponible uniquement via une liste d'attente et limité à la vérification du contenu provenant de l'écosystème Google. Il n'existe actuellement aucune API publique ni version locale pour les développeurs.

Discussions supplémentaires sur SynthID

Normalisation et confidentialité des données

SynthID n'a pas été adopté comme norme industrielle, car les principaux acteurs tels que Microsoft et Meta continuent d'utiliser leurs propres systèmes de filigranage propriétaires, créant ainsi un écosystème fragmenté où la détection multiplateforme reste inefficace. À l'heure actuelle, il n'existe aucun protocole d'évaluation normalisé pour la robustesse des filigranes dans les modalités texte, image, audio et vidéo.

Les partenariats industriels, tels que celui établi avec Nvidia, qui utilise SynthID dans sa plateforme Cosmos, existent, mais ils sont rares. Ainsi, malgré ses perspectives prometteuses, SynthID est encore loin d'être considéré comme une norme universellement acceptée.

Contrairement à certaines préoccupations, SynthID ne permet pas en soi la surveillance ou le suivi du contenu par Google, car le filigrane est un identifiant passif intégré lors de la génération et nécessite un téléchargement volontaire sur le portail SynthID Detector pour vérification. Il n'existe aucune preuve que Google surveille la distribution ou l'utilisation du contenu au-delà du processus de scan et de suppression du portail. Google n'a pas précisé si les fichiers téléchargés étaient conservés à long terme ou réutilisés, ce qui pourrait entraîner des failles en matière de confidentialité.

Conséquences juridiques et sociales

La suppression des filigranes des contenus générés par l'IA complique l'application des droits d'auteur, d'autant plus que des lois telles que la loi américaine sur l'IA (EU AI Act) loi européenne sur l'IA ne définissent pas clairement la propriété des résultats de l'IA. Bien que la loi américaine COPIED Act (2024) criminalise ce type de suppression, les attaquants exploitent des failles, telles que la traduction de textes ou la réédition de médias, pour supprimer les filigranes sans conséquences juridiques. Cette ambiguïté rend les créateurs vulnérables.

Les outils tels que SynthID, limités à l'écosystème Google, ne permettent pas de résoudre le problème à grande échelle, car seule une petite partie des publications comporte des filigranes détectables. Les filigranes statiques ne peuvent à eux seuls lutter contre la désinformation générée par l'IA en raison de vulnérabilités techniques, de faux positifs et d'incompatibilités entre les plateformes. Dans le pire des cas, des outils tels que SynthID pourraient encourager une confiance excessive en suggérant une détection fiable alors qu'ils échouent avec des contenus non Google ou des médias modifiés.

Les filigranes génératifs tels que SynthID-Text ne constituent pas une solution complète pour détecter l'IA ; il s'agit plutôt d'un outil tactique qui complète d'autres stratégies. Leur efficacité dépend de la collaboration entre les fournisseurs qui intègrent effectivement le filigrane lors de la génération du texte. Pour identifier les textes générés par l'IA à partir de sources qui n'utilisent pas de filigrane, d'autres méthodes, telles que la détection a posteriori, restent nécessaires.

Conclusion

SynthID offre un moyen de marquer et de vérifier les textes générés par l'IA, rendant ainsi l'origine des contenus plus transparente à l'ère des médias synthétiques. Cependant, son efficacité est limitée par l'absence de normes à l'échelle du secteur et par la facilité avec laquelle les filigranes peuvent être supprimés ou contournés.

Pour en savoir plus sur le tatouage numérique par IA et d'autres pratiques responsables en matière d'IA, n'hésitez pas à consulter les ressources suivantes :

Sujets

Apprenez l'IA grâce à ces cours !

Cours

Éthique de l'IA

1 h
54.1K
Explorez les principes éthiques de l’IA : équité, réduction des biais et confiance dans le design responsable.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow