Show HN:复现三种 AI 文本检测器,以及过滤为何损害了我的模型
Show HN: Reproducing three AI text detectors, and why filtering hurt my model
一个开源复现包用 GPT-2 和 all-MiniLM-L6-v2 对 600 条训练评论(200 条源评论 + 400 条生成评论)计算困惑度、近重复相似度、嵌入密度及组合分数四种检测指标,并据此训练情感分类器。作者发现过滤这些检测分数反而损害了模型表现,测试集为 200 条源评论。包内还含 Mendeley 数据集审计脚本,首次运行需下载预训练模型并占用约 2 GB 磁盘空间。
本包包含随附文章所述实验所用的确切评审文件和脚本。它让你可以在自己的计算机上重新运行检测器比较、情感分类器评估,以及(如果你下载源归档)Mendeley 集合审计。
要求
- Python 3.11 或更新版本
requirements.txt中的软件包- 首次运行时约 2 GB 的可用磁盘空间,用于下载预训练模型
首次运行会从 Hugging Face 下载 GPT-2 和 all-MiniLM-L6-v2 句子嵌入模型。随后检测器和分类器在本地运行。随附的评审文件保留了所报告运行中使用的确切生成示例,因此可直接用于分析。
运行实验
克隆仓库,进入其目录,创建并激活虚拟环境,然后安装依赖项:
git clone https://github.com/abduldattijo/ai-slop-detection-reproduction.git cd ai-slop-detection-reproduction python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r requirements.txt mkdir -p outputs
使用全部四个检测器分数(困惑度、近重复相似度、嵌入密度及其组合分数)对 600 条训练评审进行评分:
python code/run_experiment.py \ --data data/reviews_train.jsonl \ --out outputs/detector_results.json
使用文章中报告的相同四种数据处理方式训练并评估情感分类器:
python code/downstream_eval.py \ --data data/reviews_train.jsonl \ --results outputs/detector_results.json \ --test-data data/reviews_test.jsonl \ --out outputs/downstream_results.json
测试文件包含 200 条与训练分开保存的源评审。脚本将其结果写入 outputs/ 下。将它们与 reference_outputs/ 中捕获的运行结果进行比较。不同操作系统、硬件或库版本之间可能会出现细微的数值差异。
重复归档审计
从 Mendeley Data 下载源集合的版本 1。解压 Dataset.rar,使解压后的目录包含十个电影文件夹,然后运行:
python code/audit_mendeley_collection.py \ --source-dir /path/to/extracted/Dataset \ --train data/reviews_train.jsonl \ --test data/reviews_test.jsonl \ --out outputs/source_audit.json
Mendeley 评审被视为人类撰写,因为该集合称其提取自 IMDb,且发布于 2019 年,早于 ChatGPT 公开发布。该集合未核实每条评审的作者。审计报告的是检测器标记,而非确认的 AI 作者身份。署名和许可详情见 DATASET-ATTRIBUTION.md。
文件
data/reviews_train.jsonl:用于拟合和评分检测器以及训练分类器的 200 条源评审和 400 条生成评审。data/reviews_test.jsonl:保留用于分类器评估的 200 条源评审。code/:检测器、评估和归档审计脚本。reference_outputs/:用于文章所报告图表和计数的已保存 JSON 结果。
所报告运行中使用的确切生成评审包含在训练文件中。本包不会重新生成它们:这样做需要模型 API 密钥、访问相同的模型版本,并且仍会产生不同的文本和可能不同的结果。
来源:Hacker News · github.com