Os atuais detectores de texto gerados por LLM carecem de robustez contra ataques: eles degradam a precisão da detecção simplesmente parafraseando textos gerados por LLM. Além disso, existe o risco inexplorado de que utilizadores mal-intencionados possam explorar LLMs para criar textos especificamente concebidos para evitar a detecção.
Neste artigo, propomos OUTFOX , uma estrutura que melhora a robustez dos detectores LLM, permitindo que tanto o detector quanto o invasor considerem a saída um do outro . Nessa estrutura, o invasor usa os rótulos de previsão do detector como exemplos para aprendizagem no contexto e gera ensaios adversários que são mais difíceis de detectar, enquanto o detector usa os ensaios gerados adversamente como exemplos de aprendizagem no contexto para aprender a detectar ensaios de um atacante forte.
Experimentos no domínio das redações dos alunos mostram que...
$ python -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt
Execute qualquer script no diretório scripts
.
scripts/detection.sh
é um script para nossa detecção OUTFOX e detecções de linha de base.
scripts/attacking.sh
é um script para nosso ataque OUTFOX e ataque de paráfrase de linha de base.
Criamos nosso conjunto de dados com base no Prêmio Kaggle FeedBack, e nosso conjunto de dados contém 15.400 trigêmeos de declarações de problemas dissertativos, ensaios escritos por humanos (alunos nativos) e ensaios gerados por LLM. Os alunos nativos vão do 6º ao 12º ano nos EUA
Instruímos três LMs para gerar ensaios: ChatGPT( gpt-3.5-turbo-0613
), GPT-3.5( text-davinci-003
) e FLAN-T5-XXL
. Dividimos o conjunto de dados em três partes: treinamento/validação/teste com 14.400/500/500 exemplos, respectivamente.
Estas são informações complementares sobre os nomes dos arquivos que compõem nosso conjunto de dados.
Nome do arquivo | Contente |
---|---|
(train|valid|test)_problem_statements.pkl | Ensaio de declarações de problemas em cada conjunto. |
(train|valid|test)_humans.pkl | Ensaios escritos por humanos em cada conjunto. |
(train|valid|test)_lms.pkl | Ensaios gerados pelo LLM em cada conjunto. |
Além disso, (train|valid|test)_contexts.pkl
inclui os prompts usados para gerar ensaios em cada conjunto. Nós os usamos para calcular a probabilidade em detectores estatísticos de valores discrepantes.
Também fornecemos os ensaios atacados por nosso invasor OUTFOX em data/chatgpt/test/test_outfox_attacks.pkl
e os ensaios atacados por DIPPER em data/dipper/(chatgpt|text_davinci_003|flan_t5_xxl)/test_attacks.pkl
.
@InProceedings{Koike:OUTFOX:2024,
author = {Ryuto Koike and Masahiro Kaneko and Naoaki Okazaki},
title = {OUTFOX: LLM-Generated Essay Detection Through In-Context Learning with Adversarially Generated Examples},
booktitle = {Proceedings of the 38th AAAI Conference on Artificial Intelligence},
year = {2024},
month = {February},
address = {Vancouver, Canada}
}