Les détecteurs de texte générés par LLM actuels manquent de robustesse contre les attaques : ils dégradent la précision de la détection en paraphrasant simplement les textes générés par LLM. En outre, il existe un risque inexploré où des utilisateurs malveillants pourraient exploiter les LLM pour créer des textes spécialement conçus pour échapper à la détection.
Dans cet article, nous proposons OUTFOX , un framework qui améliore la robustesse des détecteurs LLM en permettant à la fois au détecteur et à l'attaquant de prendre en compte les résultats de chacun . Dans ce cadre, l'attaquant utilise les étiquettes de prédiction du détecteur comme exemples d'apprentissage en contexte et génère de manière contradictoire des essais plus difficiles à détecter, tandis que le détecteur utilise les essais générés de manière contradictoire comme exemples d'apprentissage en contexte pour apprendre à détecter les essais d'un attaquant puissant.
Les expériences dans le domaine des dissertations d'étudiants montrent que...
$ python -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt
Exécutez n'importe quel script dans le répertoire scripts
.
scripts/detection.sh
est un script pour notre détection OUTFOX et nos détections de base.
scripts/attacking.sh
est un script pour notre attaque d'attaque et de paraphrase de base OUTFOX.
Nous avons créé notre ensemble de données basé sur le Kaggle FeedBack Prize, et notre ensemble de données contient 15 400 triplets d'énoncés de problèmes d'essai, d'essais écrits par des humains (étudiants natifs) et des essais générés par LLM. Les étudiants natifs vont de la 6e à la 12e année aux États-Unis.
Nous demandons à trois LM de générer des essais : ChatGPT( gpt-3.5-turbo-0613
), GPT-3.5( text-davinci-003
) et FLAN-T5-XXL
. Nous divisons l'ensemble de données en trois parties : entraîner/validation/test avec respectivement 14 400/500/500 exemples.
Il s'agit d'informations supplémentaires sur les noms de fichiers constitués de notre ensemble de données.
Nom de fichier | Contenu |
---|---|
(train|valid|test)_problem_statements.pkl | Rédigez les énoncés du problème dans chaque série. |
(train|valid|test)_humans.pkl | Essais écrits par des humains dans chaque ensemble. |
(train|valid|test)_lms.pkl | Essais générés par LLM dans chaque ensemble. |
De plus, (train|valid|test)_contexts.pkl
inclut les invites utilisées pour générer des essais dans chaque ensemble. Nous les utilisons pour calculer la vraisemblance dans les détecteurs statistiques de valeurs aberrantes.
Nous fournissons également les essais attaqués par notre attaquant OUTFOX dans data/chatgpt/test/test_outfox_attacks.pkl
et les essais attaqués par DIPPER dans 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}
}