Cross-Perplexity

Cross-Perplexity 是基于 GPT-2 Medium + DistilGPT-2 的统计检验,也是 SlopTotal 每次分析都会运行的 23 个检测器之一。比较 GPT-2 Large 与 DistilGPT-2 的困惑度:两者一致时信号增强。本页展示它在 SlopBench 上的得分。

0.618 AUC
  • 平均分:AI 文本 0.68
  • 平均分:现代人类文本 0.58
  • 平均分:1920 年前的人类文本 0.44
架构
GPT-2 Medium + DistilGPT-2
参数量
355M + 82M
类型
统计检验
对旧式文字的偏差
-0.14

在 SlopBench 上测量(2026 年 10 月):1,626 篇写于 ChatGPT 之前的人类文本,以及 14 个当下模型生成的 1,626 篇 AI 文本,涵盖 15 类文体。

Cross-Perplexity 的实测结果

在 SlopBench 上(1,626 篇写于 ChatGPT 之前的人类文本和 14 个当下模型生成的 1,626 篇 AI 文本,涵盖 15 类文体),Cross-Perplexity 的 AUC 为 0.618。它给机器文本的平均分是 0.680,给现代人类文本的是 0.580。AUC 是它把任意一段 AI 文本排在任意一段人类文本之上的概率:1.0 是完美区分,0.5 相当于抛硬币。

其中一部分检验最关键的失误:1532 年至 1915 年间出版的 87 段文字(马基雅维利、奥斯汀、梅尔维尔、卡夫卡),这些作品比语言模型早一个世纪以上,任何高分都必然是误判。Cross-Perplexity 给它们的分数是 0.437。这比它给现代人类写作的分数低 0.143,所以古旧的文字不会触发它。

它在分数中的作用

Cross-Perplexity 是 23 个引擎表中的一行,与神经网络分类器、基于 GPT-2 模型的统计测试以及对文字本身的检查并列。没有哪个引擎能单独决定结论。

总分来自一个在 SlopBench 上拟合的逻辑回归模型,它按照每个引擎在已知其他引擎结果时还能补充多少信息来分配权重。会一起出错的检测器,例如用相似数据训练的分类器,不会被重复计算。

23 个引擎如何得出分数

SlopTotal 不只问一个模型的意见。它运行 23 个独立检测器并展示全部 23 个分数,因为有用的信息往往藏在分歧里。其中 9 个是经过训练、用来区分人类文字和机器文字的神经网络分类器,包括 DeBERTa-v3-large、RoBERTa-large 和一个 440 万参数的 BERT-tiny。7 个是不需要训练的统计测试:它们用困惑度、词元排名、log-rank 以及两个模型之间的交叉熵,衡量文字对 GPT-2 模型来说有多容易预测。其余 7 个直接分析文字本身:句子长度的变化、词汇、结构、含糊其辞的表达,以及 AI 模型常用的套话。

总分不是平均值。一个在 SlopBench 上拟合的逻辑回归模型,会按照每个引擎在已知其他引擎结果的情况下还能补充多少信息来分配权重,因此以同样方式出错的引擎不会被重复计算。很短的文字会被拉向中间值,因为寥寥几个词承载不了多少证据。

判定区间是根据人类文字设定的:45 分是人类文字中得分最高的 5% 的起点,55 分是最高的 2%,80 分是最高的 0.5%。所以 55 分以上意味着只有不到 2% 的人类文字能得这么高。其他语言有各自的模型,每种语言都标注为支持、实验性或尚不可靠。

在 3,252 篇文字上测量

准确度数字如果不说明是在什么上测的,就没有多大意义。SlopTotal 在 SlopBench 上测量。这是一个开放基准,包含 1,626 篇全部写于 ChatGPT 出现之前的人类文字,以及 1,626 篇主题相同、长度相同、由 14 个当前模型(包括 GPT-6、DeepSeek、Qwen、Llama、Mistral、Gemma 和 GLM)写成的 AI 文字。它涵盖新闻、百科、科学摘要、问答回答、Reddit 帖子、评论、学生作文、非母语者写的英语和小说,因为只在一种文字上测试过的检测器,数字一到真实环境就会垮掉。

有两部分专门用来发现不公平:1532 年至 1915 年间出版的 87 段文学作品,任何高分都必然是误判;以及英语为第二语言者写的作文,他们正是最常被检测器冤枉的人。每个主要数字都是在模型没有用来调参的文体上测得的,结果连同失败一起公布在代码库中。

检测在哪里失效

无论哪个检测器,短文字都不可靠。少于大约 80 个词时,分数会因用词不同而大幅波动,从大约 200 个词开始才会稳定。如果一条推文得到了一个非常笃定的结论,请怀疑这个结论。

稍加修改的 AI 文字是最难的情况。人每改写一遍,机器的痕迹就少一些,而且不存在一个改到某种程度就不再重要的临界点。源代码不在检测范围内:这些引擎是用自然语言训练的,无法可靠地检测 AI 写的代码,所以 SlopTotal 不作此承诺。

分数是证据,不是判决。用这 23 个分数决定该看哪里、该问什么,然后去问。任何检测结果都不应单独决定一个成绩、一次录用或一篇文章能否发表。

常见提问

Cross-Perplexity 单独使用准确吗?

它的实测 AUC 为 0.618,但任何单个检测器都不应该决定任何事。它只是 23 行中的一行,有用的信息通常出现在各引擎意见不一的地方。

Cross-Perplexity 会惩罚旧式或正式的文字吗?

在 1532 年至 1915 年出版的 87 段人类文本上,它的平均分是 0.437,而现代人类文本为 0.580。

我可以自己运行 Cross-Perplexity 吗?

可以。SlopTotal 是开源的,每个引擎都能在你自己电脑的 CPU 上运行,不需要调用任何 API。