Fast-DetectGPT 与 Binoculars 详解:低成本AI检测
两款零样本检测器让 AI 文本检测变得又快又便宜。本文介绍 Fast-DetectGPT 和 Binoculars 的原理与结果,以及我们为何仍担心正式文体被误判。
Fast-DetectGPT 和 Binoculars 是两款零样本 AI 文本检测器,它们让 DetectGPT 的思路变得足够便宜,可以大规模运行。两者都通过考察一段文字的用词对语言模型来说有多可预测,来判断它是否由机器写成;而且都只需一次计算,而不是 DetectGPT 所需的上百次改写。Fast-DetectGPT 发表于 ICLR 2024,Binoculars 发表于 ICML 2024。
本文面向非 NLP 领域的读者讲解这两种方法,列出作者报告的数据,然后探讨对研究者最重要的问题:这些检测器如何对待严谨、正式的人类文字。
缘起:DetectGPT 的成本问题
DetectGPT 证明了机器文本往往位于模型概率的局部峰值。为了测量这一点,它用另一个模型把每段文字改写约一百次,再给每个副本重新打分。方法有效,但很慢。Fast-DetectGPT 的作者在其基准上用 A100 GPU 计时,DetectGPT 耗时 79,113 秒,他们自己的方法只用了 233 秒。
Fast-DetectGPT 如何工作:条件概率曲率
关键的一步是逐词处理。在段落的每个位置上,语言模型都会根据前面的词,给出下一个词的概率分布。Fast-DetectGPT 要问的是:与模型在该位置通常会选的词相比,实际使用的这个词是不是模型最偏爱的选择之一?
- 固定上下文保留真实段落不动,让每个位置都有其真实的前文。
- 采样替代词在每个位置上,从采样模型中独立地抽取替代词元,与其他位置互不影响。
- 分别打分打分模型给出真实词元和采样词元的对数概率。
- 归一化减去采样得分的平均值,再除以其离散程度。结果越高,说明文本选用模型最偏爱的词的频率异常地高。
作者称之为条件概率曲率。由于采样是在固定真实上下文的前提下逐词元进行的,整个计算只需一两次前向计算,而不是一百次。在源模型未知的黑盒设置中,他们使用 GPT-J 作为采样模型,GPT-Neo-2.7B 作为打分模型。
Fast-DetectGPT 报告的结果
在白盒设置下,对五个源模型取平均,Fast-DetectGPT 的 AUROC 达到 0.9887,DetectGPT 为 0.9554。在黑盒设置下的 ChatGPT 和 GPT-4 文本上,它达到 0.9338,DetectGPT 为 0.7225。AUROC 的范围从 0.5(相当于抛硬币)到 1.0(完美区分)。
- DetectGPT,白盒0.9554
- Fast-DetectGPT,白盒0.9887
- DetectGPT,黑盒(ChatGPT、GPT-4)0.7225
- Fast-DetectGPT,黑盒(ChatGPT、GPT-4)0.9338

Binoculars 如何工作:困惑度除以交叉困惑度
Abhimanyu Hans 等人提出的 Binoculars 针对的是另一个弱点。单纯的困惑度(衡量模型对一段文字有多意外)混淆了两件事:文本是不是机器写的,以及话题本身是否少见。作者举了一个令人印象深刻的例子,称之为“水豚问题”:让聊天机器人写一只当天体物理学家的水豚,结果会让模型感到意外,尽管它确实是机器写的,因为题材本身就很怪。
Binoculars 用两个密切相关的模型来修正这一点:观察者模型和执行者模型(论文中分别为 Falcon-7B-Instruct 和 Falcon-7B)。它计算两个量:
- 对数困惑度:观察者模型对实际文本有多意外。
- 对数交叉困惑度:观察者模型对执行者模型在每个位置上的预测平均有多意外。这相当于一个基线,表示机器就这个话题写出的文本会有多出人意料。
Binoculars 分数就是前者除以后者。古怪的提示会让两个数字同时升高,因此机器文本的比值仍然较低。人类写作往往比机器基线更出人意料,所以比值更高。
- 机器撰写的文本
- 人类撰写的文本
Binoculars 报告的结果
在多种文档类型上,Binoculars 在 0.01% 的误报率下(即每一万篇人类文本中误判一篇)检出了 90% 以上的 ChatGPT 生成样本。开发过程中它从未接触过 ChatGPT 数据。作者还测试了一个在线作文论坛上非英语母语者的作文,包括原始版本和语法修正版本,两者的准确率相同,都是 99.67%。商业工具能否在各种聊天机器人之间同样泛化,是另一个问题,见 Turnitin 能查出 ChatGPT、Claude 和 Gemini 吗?
局限,以及正式文本上的误报
两篇论文在各自的基准上都报告了很好的数据。但当这些思路被用于评判真实稿件的工具时,有几点需要注意。
可预测的人类写作依然会被判为可预测
两款检测器奖励的都是“出人意料”。学术写作却常常刻意避免意外:标准的方法描述、固定表达、谨慎的限定语和学科术语,都让文本更容易预测。Fast-DetectGPT 的作者自己也提醒,这类检测器对非英语母语者的文本可能有更高的误报率。Binoculars 在其 ESL 作文测试中表现良好,这令人鼓舞,但一个学生作文数据集不等于临床研究的方法部分。我们在检测器对非母语写作者的偏见一文中介绍了引发这一担忧的研究。
被记住的文本看起来像机器文本
Binoculars 团队测试了 11 篇著名文本,其中三篇落在了阈值的机器一侧,因为模型记住的段落对它来说高度可预测。作者指出,这与检测器的工作方式一致,对某些用途来说或许可以接受,对另一些用途则是个问题。学术写作中引用的定义和标准段落也会引发类似的担忧。
改写与模型不匹配
两篇论文都没有声称能抵御刻意的改写,Binoculars 的作者还说明他们没有研究对抗攻击。当打分模型与源模型不同、或段落较短时,Fast-DetectGPT 的效果也会变弱。由于这类零样本方法读取的都是词元概率,一段被大幅改写的文字对它们来说就是一个不同的打分对象。关于改写攻击的研究(见 AI 生成的文本能被可靠检测吗?)显示了分数可以变动多大。
这对使用 Academic Humanizer 意味着什么
由于这类检测器响应的是每段文字的可预测程度,一份基本由人撰写的草稿中仍可能有几句读起来像机器写的。Academic Humanizer 针对的正是这些句子:找出检测器标记的句子,只改写它们,同时保留你的论证、数据、引用和术语,其他句子一律不动。随后,AI 检测报告用同一指标比较原稿和修改稿,方便你审阅每一处修改;提交前仍应确认所在机构或期刊的 AI 政策。
保留你的想法,去除 AI 痕迹
粘贴草稿,查看哪些句子被 AI 检测器标记,然后只用 Humanizer 改写这些句子。
免费试用 Humanizer


