SynthID: ferramentas para adicionar marca-d'água e detectar texto gerado por LLM

A inteligência artificial generativa (GenAI) pode gerar uma variedade maior de conteúdo extremamente diversificado em escalas antes inimagináveis. A maioria desse uso for para fins legítimos, existe a preocupação de que possa contribuir de problemas de desinformação e problemas de atribuição incorreta. A marca d'água é uma técnica para mitigar esses possíveis impactos. Marcas d'água imperceptíveis para humanos podem ser aplicados a conteúdo gerado por IA, e os modelos de detecção podem para indicar a probabilidade de ter uma marca-d'água.

O SynthID é uma tecnologia do Google DeepMind que marca e identifica conteúdo gerado por IA ao incorporar marcas-d'água digitais diretamente em imagens, áudio, texto ou vídeo gerados por IA. O SynthID Text foi aberto para disponibilizar a marca d'água para geração de texto aos desenvolvedores. Leia o artigo na Nature para uma descrição técnica mais completa do método.

Uma implementação de nível de produção do SynthID Text está disponível no Hugging Face Transformers v4.46.0+, que você pode testar em no SynthID Text Space oficial. Uma implementação de referência também está disponível no GitHub e pode ser útil para administradores e colaboradores de código aberto que querem usar essa técnica em outros frameworks.

Aplicação de marca-d'água

Na prática, o SynthID Text é um processador de logits aplicado pipeline de geração do modelo após Top-K e Top-P, que aumenta os logits do modelo usando uma função g pseudoaleatória para codificar Inclua marca-d'água nas informações para equilibrar a qualidade da geração detectabilidade da marca d'água. Consulte o documento para ter acesso descrição técnica do algoritmo e análises de como os diferentes os valores de configuração afetam o desempenho.

As marcas d'água são configuradas para parametrizar o g e como ela é aplicada durante a geração. Cada modelo usado precisa ter a própria configuração de marca d'água que precisa ser armazenada de forma segura e privada. Caso contrário, sua marca d'água poderá ser facilmente replicada por outras pessoas.

É necessário definir dois parâmetros em cada configuração de marca-d'água:

  • O parâmetro keys é uma lista de números inteiros únicos e aleatórios usados para calcular as pontuações da função g no vocabulário do modelo. O tamanho dessa lista determina quantas camadas de marca d'água são aplicadas. Consulte Apêndice C.1 no documento para mais detalhes.
  • O parâmetro ngram_len é usado para equilibrar a robustez e a detectabilidade. Quanto maior o valor, mais detectável será a marca d'água, mas isso torna a marca mais frágil para mudanças. Um comprimento de 5 é um bom valor padrão.

Você pode configurar a marca d'água com base nas suas necessidades de performance:

  • Uma tabela de amostragem é configurada por duas propriedades, sampling_table_size e sampling_table_seed. Você quer usar um sampling_table_size de pelo menos \( 2^{16} \) para garantir uma função g imparcial e estável ao fazer a amostragem, mas lembre-se de que o tamanho da tabela de amostragem afeta a quantidade de memória necessária no momento da inferência. Você pode usar qualquer número inteiro como sampling_table_seed.
  • n-gramas repetidos nos tokens context_history_size anteriores não são marca d'água para melhorar a detecção.

Nenhum treinamento adicional é necessário para gerar texto com um texto SynthID marca d'água usando seus modelos, configuração de marca-d'água que é transmitida ao Método .generate() para ativar o texto SynthID processador logit. Consulte a postagem do blog e espaço para exemplos de código mostrando como aplicar uma marca-d'água na biblioteca Transformers.

Detecção e verificação de marcas-d'água

A detecção de marca-d'água é probabilística. Um detector bayesiano é fornecido com Hugging Face Transformers e no GitHub. Esse detector pode gerar três tipos de detecção estados (marca-d'água, sem marca-d'água ou incerto) e o comportamento podem ser personalizados definindo dois valores de limite. Consulte o Apêndice C.8 no documento para mais detalhes.

É possível ajustar os limites para alcançar determinados falsos positivos e falsos uma taxa negativa em um conjunto de comandos ou comprimentos. Consulte o apêndice C.8 no artigo para mais detalhes.

Depois de treinar um detector, você pode escolher se e como ele será exposto aos usuários e ao público em geral.

  • A opção totalmente privada não libera nem expõe o detector de nenhuma forma.
  • A opção semi-private não libera o detector, mas expõe por uma API.
  • A opção público libera o detector para download e uso por outras pessoas.

Você e sua organização precisam decidir qual abordagem de verificação de detecção é melhor para suas necessidades, com base em sua capacidade de oferecer suporte aos associados infraestruturas e processos do setor.

Limitações

As marcas-d'água de texto do SynthID são eficientes para algumas transformações: recortar partes de texto, modificando algumas palavras ou paráfrases leves, mas esse método não têm limitações.

  • A aplicação de marca d'água é menos eficaz em respostas factuais, porque há menos oportunidades de aumentar a geração sem diminuir a precisão.
  • As pontuações de confiança do detector podem ser bastante reduzidas quando um texto gerado por IA seja totalmente reescrito ou traduzido para outro idioma.

O texto do SynthID não foi projetado para impedir diretamente que adversários motivados causem mal No entanto, pode dificultar o uso de conteúdo gerado por IA para sites maliciosos para fins diversos e pode ser combinada com outras abordagens para oferecer uma cobertura melhor em vários tipos de conteúdo e plataformas.