Blog
Pesquisa

DetectGPT explicado: como detecta IA pela curvatura de probabilidade

O DetectGPT identifica texto de máquina verificando se pequenas reescritas tornam um trecho menos provável. Veja como o método funciona, o que alcançou e onde falha.

O DetectGPT é um método zero-shot para detectar texto gerado por IA que faz uma pergunta simples: se você mexer levemente em um trecho com pequenas reescritas, o modelo de linguagem passa a gostar menos dele? O texto escrito por máquina tende a ficar em um pico local da probabilidade do modelo, então quase qualquer alteração reduz sua pontuação. O texto humano normalmente não mostra esse pico acentuado.

A ideia vem de um artigo de 2023 de Eric Mitchell e colegas, apresentado na ICML 2023. Ele moldou boa parte da pesquisa em detecção que veio depois, inclusive os métodos mais rápidos usados hoje por muitas ferramentas. Este texto explica o método em termos simples, os resultados relatados pelos autores e o que isso significa se a sua própria escrita passa por um detector.

O problema que o DetectGPT queria resolver

Antes do DetectGPT, os detectores se dividiam em duas grandes famílias. Os classificadores treinados aprendem com exemplos rotulados de texto humano e de máquina, o que funciona bem com dados parecidos com os de treinamento e pior com qualquer coisa nova. As estatísticas zero-shot, como a log-probabilidade média ou o ranking dos tokens, não exigem treinamento, mas são grosseiras: um trecho pode ser muito provável só porque o tema é comum ou o estilo é formal.

Mitchell e colegas queriam algo no meio do caminho. O detector usaria apenas as log-probabilidades do modelo suspeito de ter escrito o texto, mais uma ferramenta genérica para fazer pequenas edições. Sem conjunto de dados rotulado, sem treinar classificador e sem marca d'água inserida na geração. Se você quiser o contexto mais amplo primeiro, nossa visão geral de como funcionam os detectores de IA apresenta as principais famílias de detectores.

Como o DetectGPT funciona: curvatura de probabilidade em linguagem simples

Um modelo de linguagem atribui uma probabilidade a cada trecho. Imagine todos os trechos possíveis como um terreno de morros e vales, em que a altura indica o quanto o modelo considera um trecho provável. Quando um modelo gera texto, tende a escolher palavras de alta probabilidade a cada passo, então suas saídas ficam perto do topo dos morros.

Agora pegue um trecho e faça algumas edições pequenas que preservem o sentido. Se o trecho estava no topo de um morro, qualquer passo para longe é morro abaixo, e as versões editadas pontuam menos. Se o trecho estava em uma encosta suave ou em terreno plano, como costuma acontecer com a escrita humana, algumas edições sobem, outras descem, e a variação média fica perto de zero. O artigo chama esse formato de curvatura negativa: o topo de um morro se curva para baixo em todos os lados.

O texto de máquina fica perto de um pico, então as cópias perturbadas caem em log-probabilidade; o texto humano fica em terreno mais plano
  • Trecho gerado por modelo
  • Trecho escrito por humano
Exemplo ilustrativo da ideia, não dados do artigo

Na prática, o método tem quatro etapas.

  1. Pontuar o originalCalcule a log-probabilidade do trecho segundo o modelo que você suspeita tê-lo escrito.
  2. PerturbarMascare pequenos trechos de palavras e deixe um modelo separado, o T5, preenchê-los com alternativas plausíveis.
  3. Pontuar as cópiasCalcule a log-probabilidade de cada cópia perturbada segundo o mesmo modelo suspeito.
  4. CompararSe o original pontuar claramente acima da média das cópias, sinalize o trecho como provavelmente gerado por máquina.

O modelo de perturbação faz diferença. Os autores usaram o T5, um modelo de preenchimento de máscaras, para substituir pequenos trechos de modo que as cópias continuassem fluentes e próximas no sentido. Na configuração principal, mascararam cerca de 15% das palavras em trechos de duas palavras e geraram 100 amostras perturbadas por trecho. A pontuação final é a diferença entre o original e a média das perturbações, normalizada pela variação das pontuações perturbadas.

Ilustração abstrata sobre o DetectGPT: um trecho no pico de uma superfície curva de probabilidade, cercado por cópias levemente alteradas mais abaixo na encosta

O que o artigo do DetectGPT relatou

O resultado principal veio da detecção de notícias falsas. Em notícias geradas pelo modelo GPT-NeoX, de 20 bilhões de parâmetros, o DetectGPT chegou a uma AUROC de 0,95, contra 0,81 da linha de base zero-shot mais forte. A AUROC mede o quanto uma pontuação separa dois grupos em todos os limiares possíveis: 0,5 é cara ou coroa e 1,0 é separação perfeita.

0,81AUROC da linha de base zero-shot anterior mais forte (notícias do GPT-NeoX)
0,95AUROC do DetectGPT na mesma tarefa
100perturbações com T5 por trecho na configuração principal

Os autores testaram modelos de 1,5 bilhão de parâmetros (GPT-2) até modelos de 175 bilhões, como o GPT-3, em notícias (XSum), parágrafos da Wikipedia (contextos do SQuAD) e prompts de escrita criativa do Reddit. Também fizeram um teste simples de revisão no estilo humano: substituir porções crescentes do texto de máquina por reescritas do T5. A detecção ficou acima de 0,8 de AUROC mesmo quando quase um quarto do texto tinha sido substituído.

Por que o DetectGPT importa para quem tem a escrita verificada

A maioria dos detectores comerciais não publica como funciona por dentro, e muitos são classificadores treinados, não testes no estilo do DetectGPT. Ainda assim, o artigo dá nome ao sinal em que boa parte da detecção se apoia: texto previsível demais para um modelo. Isso tem algumas consequências práticas para pesquisadores.

  • A prosa formal é previsível por natureza. Seções de métodos, ressalvas padronizadas e expressões da área se repetem em milhares de artigos. Um modelo as considera prováveis, o que aproxima a escrita humana cuidadosa do lado da máquina. Discutimos isso em por que a prosa formal pode parecer escrita por IA.
  • A pontuação é sobre o trecho, não sobre o autor. O DetectGPT mede uma propriedade do texto segundo um modelo. Ele não vê seus rascunhos, suas anotações nem sua intenção.
  • Textos curtos são mais difíceis. Menos tokens significam uma estimativa de curvatura mais ruidosa. Um único resumo dá ao teste menos material do que um capítulo inteiro.

O detector também depende do modelo específico usado para pontuar o texto. Um texto que está em um pico para um modelo pode não estar para outro, o que é um dos motivos pelos quais ferramentas diferentes discordam sobre o mesmo parágrafo.

Limitações do DetectGPT

O artigo é franco sobre suas restrições, e trabalhos posteriores revelaram outras.

Ele precisa do modelo certo e de muito processamento

O DetectGPT funciona melhor quando consegue consultar as log-probabilidades do modelo que escreveu o texto. Em modelos comerciais fechados, esse acesso é limitado, e usar outro modelo para pontuar enfraquece o sinal. O custo é o outro problema: cada trecho exige cem passagens adicionais pelo modelo. O artigo seguinte, do Fast-DetectGPT, cronometrou o DetectGPT em 79.113 segundos no seu benchmark, contra 233 segundos do próprio método na mesma GPU A100, uma diferença de cerca de 340 vezes.

A paráfrase quebra o sinal de curvatura

O método supõe que o trecho continua onde o modelo o deixou. Uma paráfrase o tira do lugar. Krishna e colegas testaram isso diretamente no artigo da NeurIPS 2023 sobre o parafraseador DIPPER: reescrever o texto de máquina reduziu a taxa de detecção do DetectGPT de 70,3% para 4,6%, com taxa fixa de falsos positivos de 1%. Mais tarde, Sadasivan e colegas relataram que a paráfrase derrubou a AUROC desse tipo de detector zero-shot de 96,5% para 25,2%. A mesma fraqueza explica por que truques de prompt sempre voltam; veja por que prompts simples raramente deixam o texto do ChatGPT indetectável.

Taxa de detecção do DetectGPT antes e depois da paráfrase com DIPPER (com 1% de falsos positivos)
  • Texto de máquina original70,3%
  • Após paráfrase com DIPPER4,6%
Fonte: Krishna et al., "Paraphrasing evades detectors of AI-generated text, but retrieval is an effective defense", NeurIPS 2023

O modelo de perturbação molda o resultado

Os autores observam que a abordagem precisa de uma função de perturbação razoável. O T5 funciona para o inglês, mas em domínios em que um preenchedor de máscaras pronto não produz reescritas realistas, o desempenho pode cair. A linguagem científica especializada é um caso plausível.

O que veio depois do DetectGPT

O DetectGPT deu início a uma linha de detectores zero-shot que mantêm a intuição central e reduzem o custo. O Fast-DetectGPT troca as reescritas do trecho inteiro por amostragem no nível do token, e o Binoculars compara dois modelos relacionados para corrigir temas que já são surpreendentes por si sós. Falamos dos dois em Fast-DetectGPT e Binoculars explicados. Do outro lado, a pesquisa sobre ataques de paráfrase, resumida em é possível detectar texto gerado por IA de forma confiável?, mostra o quanto esses sinais dependem de o texto continuar próximo do que um modelo produziria.

Onde o Academic Humanizer se encaixa

Detectores baseados na ideia de previsibilidade tendem a reagir a frases isoladas que soam lisas ou genéricas demais, mesmo em rascunhos cujas ideias e dados são inteiramente do autor. O Academic Humanizer trabalha nesse nível: analisa o rascunho em busca de frases que os detectores sinalizam, reescreve só essas, mantendo afirmações, números, citações e terminologia, e deixa o resto exatamente como foi escrito. O Relatório de Detecção de IA integrado mostra cada frase sinalizada ao lado da reescrita para que você confira cada alteração antes de usá-la, e vale confirmar a política de IA da sua instituição ou revista como parte dessa revisão.

Suas ideias, sem rastro de IA

Cole um rascunho, veja quais frases os detectores de IA marcam e humanize só essas frases.

Experimente o Humanizer grátis

Continue lendo