论文基本信息
标题:Efficent Detection of LLM-generated Texts with a Bayesian Surrogate Model
作者:Yibo Miao, Hongcheng Gao, Hao Zhang, Zhijie Deng
年份:2024(arXiv v3,更新于 2024-06-04)
领域关键词:LLM生成文本检测、零样本检测、DetectGPT、贝叶斯代理模型、高斯过程、BertScore核函数、查询效率
论文链接:arXiv:2305.16617
研究动机与核心问题
本文聚焦一个关键挑战:如何在极少调用大模型的前提下,依然实现对 LLM 生成文本的高精度识别?
传统方法中,基于 token 对数概率(log-prob)的检测器效果有限;而 DetectGPT 虽然性能突出,却需对每段文本执行数百次源模型查询。在当前主流商用大模型按 token 计费的背景下,这种高频率调用导致成本过高,难以实用。
为此,作者提出一种新策略:在保留 DetectGPT 检测逻辑的基础上,引入“贝叶斯代理人”机制。具体而言,仅选取少量最具信息量的扰动样本进行真实查询,并利用高斯过程(Gaussian Process, GP)将这些稀疏得分外推至整个扰动空间,最终仍采用 DetectGPT 的曲率统计量完成判别。
实验结果显示,该方法极为高效:在检测 LLaMA2 系列生成文本时,仅需 2–3 次查询,性能即超越使用 200 次查询的原始 DetectGPT。即便面对 GPT-2 场景,在相同准确率下,其查询次数也降低约 50%,甚至在仅 2 次查询时仍优于基准方法。
更进一步,该框架具备良好的泛化能力,可应用于黑盒模型(如 ChatGPT),只需一个表现尚可的代理模型即可运行。
技术演进脉络与前置工作
理解本研究需回顾 LLM 文本检测的发展路径。
早期方法多依赖监督学习:收集人类撰写与机器生成的文本数据集,训练分类器进行判别。从特征工程到深度神经网络(DNN)、Transformer 架构的检测器,均基于“从数据中学习判别模式”的思路。然而这类方法存在明显局限:训练数据难以覆盖所有领域,分布偏移易导致性能骤降;同时复杂模型本身也面临对抗攻击和后门风险。
随后,社区转向零样本检测方向——不再依赖标注数据,而是利用生成模型自身特性进行判断。典型思路包括:
- 计算文本的平均 per-token log probability:值越高,越可能由该模型生成;
- 参考 GLTR 方法分析每个 token 在输出分布中的排名,判断其是否“过于可预测”。
在此基础上,DetectGPT 实现了重要突破。其核心观点是:模型生成的文本往往处于其对数概率函数的局部峰值区域。因此,不仅要看原句的概率,还需考察其邻域内的语义扰动样本的表现。
由此引出 DetectGPT 的核心判据:
- 生成多个语义相近的重写版本 xi;
- 计算这些扰动样本的平均 log 概率;
- 用原始句子的 log 概率减去该均值,得到类似“局部曲率”的指标。
但这一方法代价高昂:为估计局部形状,需采样大量扰动点,每个点都需调用一次源模型计算 logprob,尤其对于 LLaMA、ChatGPT 或 GPT-4 等大型模型,成本极高。
方法创新与核心思想
受主动学习与贝叶斯优化启发,研究者早已发现:若拥有一个能提供不确定性估计的代理模型(如高斯过程),便可优先在“最不确定”的位置进行真实查询,再通过模型插值预测其余区域。
本文正是将这一经典范式——“贝叶斯代理 + 不确定性驱动采样”——成功融入 DetectGPT 的曲率检测框架中,从而大幅减少实际查询次数,同时保持判别性能。
主要贡献总结
本文的核心贡献可概括为:
在不改变 DetectGPT 基本检测原理的前提下,替换掉其最昂贵的环节——由“全量调用源模型打分”转变为“少量真实查询 + 贝叶斯代理模型插值”。
具体改进体现在以下方面:
- 将 DetectGPT 所依赖的大规模随机扰动视为高维语义邻域,指出其中存在高度冗余,无需逐一查询源模型;
- 引入高斯过程回归器来拟合 log pθ(·) 在该局部区域的函数形态;
- 利用 GP 自带的预测方差作为不确定性度量,指导顺序选择最具价值的查询样本;
- 通过少量真实反馈不断更新代理模型,实现对整体曲率结构的高效逼近。
最终,在极低查询预算下实现了对 DetectGPT 性能的有效复现乃至超越,显著提升了零样本检测的实用性与可扩展性。

5. 方法详解
本文的核心贡献集中在这一部分,我们将按照以下逻辑展开:首先回顾 DetectGPT 的基本思想,接着介绍代理模型的设计思路,然后说明典型样本的选取策略,最后整合为完整流程。
5.1 DetectGPT 原理再解析:曲率统计量的本质
零样本 LLM 文本检测可被建模为一个二分类任务:给定一段文本 x,判断其是由人类撰写,还是由某个语言模型 pθ 生成。所谓“零样本”,意味着不依赖额外训练分类器,仅利用目标模型自身的打分能力进行判断。
DetectGPT 提出的核心判据是如下曲率统计量:
logpθ(x)(1/N)∑i=1Nlogpθ(xi)
其中:
- x 是待检测的原始文本;
- xi 是从扰动分布 q(·|x) 中采样得到的语义相近变体(即“重写版本”);
- logpθ(·) 表示源语言模型对输入序列输出的对数概率。
其直觉在于:若文本 x 正好落在模型生成概率的局部峰值区域,则它在邻域内的 log 概率会显著高于周围扰动样本的平均值,导致该统计量数值较大;而人类写作通常不会恰好处于这种“最优点”,因此统计量趋于平缓。
然而,DetectGPT 的实际应用受限于两点高成本操作:
- 需要生成大量扰动样本(如 N=200)以稳定估计局部曲率;
- 每个扰动样本都需调用一次 LLM 获取 log 概率,造成数十至数百次查询开销。
本论文的目标正是:在保持原有统计量定义不变的前提下,极大降低真实查询次数。
5.2 核心思路转变:从全量评分到典型样本插值
作者的关键洞察是:由于扰动过程通常采用 T5 等 mask-filling 模型进行近义替换,所有生成的扰动样本在语义上高度相似,构成一个局部紧凑的语言空间。
在此区域内,logpθ(·) 函数表现出较强的平滑性——这意味着只要在少数关键点获取真实分数,即可通过函数逼近方法估算其余样本的得分。
基于此,作者提出三步策略:
- 从全部扰动集中筛选出少量具有代表性的“典型样本”,记作集合 Xt;
- 仅对这些典型样本调用 LLM,获取真实 log 概率 yt = logpθ(Xt);
- 训练一个代理模型 f,拟合局部 log 概率函数,并用于预测其余样本的分数,最终代入 DetectGPT 统计量计算。
由此,问题转化为两个核心子问题:
- 选择何种形式的代理模型 f?
- 如何高效且可靠地挑选典型样本集合?
5.3 为何选用高斯过程(GP)作为代理模型?
针对代理模型的选择,作者提出了若干关键要求:
- 在极少量样本条件下具备良好泛化能力,避免过拟合;
- 能够捕捉 log 概率函数的复杂局部曲率特征;
- 提供预测不确定性估计,便于后续主动采样决策;
- 计算开销可控,不能因代理本身引入更高负担。
综合考量后,作者采用了经典的贝叶斯非参数方法——高斯过程回归(Gaussian Process Regression, GP)。其基本框架如下:
假设函数先验分布满足:
f(x) GP(0, k(x, x′))
在观测到有限数据 (Xt, yt) 后,可通过贝叶斯推断获得任意新点集 X* 上的后验预测分布:
fX* N(f*, Σ*)
其中预测均值的形式为:
f* = kX*,Xt(kXt,Xt + σI)1yt
GP 不仅能提供精准的插值结果,还能自然输出方差信息,指导后续样本选择过程,在低数据场景下尤为稳健。
预测均值公式如下:
\bar f_* = k_{X^*, X_t} (k_{X_t, X_t} + \sigma^2 I)^{-1} y_t
该表达式给出了模型对未见样本的 log 概率期望值,即我们估计这些扰动样本出现的可能性大小。
对应的预测协方差为:
\Sigma_* = k_{X^*, X^*} - k_{X^*, X_t} (k_{X_t, X_t} + \sigma^2 I)^{-1} k_{X_t, X^*}

其中,\Sigma_* 的对角线元素代表各个候选点的不确定性程度。那些远离已有数据、未被 kernel 有效覆盖的位置,其不确定性更高。这一特性恰好支持了我们挑选最具代表性的典型样本的目标——优先关注模型最不确定的部分。
5.4 文本空间中的核函数设计:基于 BertScore 的相似性度量
在将高斯过程(GP)应用于文本任务时,关键挑战在于如何定义适用于文本输入的核函数(kernel)。传统方法如 RBF 或多项式核通常要求输入为数值向量,而自然语言以完整句子或段落形式存在,无法直接使用。
为此,作者引入了一个广泛用于文本评估的指标——BertScore。该方法利用预训练 BERT 模型对文本进行编码,并通过 token 层面的语义匹配来计算两段文本之间的相似度。
在此基础上,构建如下形式的核函数:
k(x, x') = \alpha \cdot \text{BertScore}(x, x') + \beta
其中,BertScore 提供了一个有界范围内的语义相似度得分;\alpha > 0 和 \beta 是可学习的超参数,分别控制缩放与偏移,使核矩阵更适应实际建模需求。这种设计偏向实用主义,核心目标明确:确保语义越相近的文本,在 GP 模型中被视为“距离更近”。
5.5 超参数的自适应学习:通过边际似然优化
模型涉及三个关键超参数:\alpha、\beta 以及噪声项方差 \sigma^2。不同于手动调节,作者采用标准的最大化对数边际似然方法进行自动学习:
log p(y_t | X_t, \alpha, \beta, \sigma^2) \propto -\big[y_t^\top (k_{X_t, X_t} + \sigma^2 I)^{-1} y_t + \log |k_{X_t, X_t} + \sigma^2 I|\big]
该目标函数包含两个部分:第一项鼓励模型在当前已知样本上实现良好拟合;第二项通过对核矩阵行列式的对数惩罚复杂结构,起到自动正则化的作用。
由于典型集 X_t 规模较小(一般不超过几十个样本),矩阵求逆和行列式计算的开销可控。实验中采用 Adam 优化器,设置学习率为 0.01,约经过 50 步迭代即可收敛。
5.6 典型样本选择策略:基于贝叶斯不确定性的顺序采样机制
在建立 GP 模型后,最关键的步骤是如何从中筛选出最具代表性的“典型样本”。整个流程采用一种交替迭代的方式运行:
- 初始化阶段:
- 从全部扰动样本集合 X = {x_i} 中随机选取一小部分作为初始典型集 X_t,并强制包含原始文本 x;
- 调用源 LLM 对该子集进行一次前向推理,获取其 log 概率输出 y_t = log p_{\theta}(X_t)。
- 基于当前 (X_t, y_t) 数据,优化 GP 的超参数,得到一个更新后的代理模型;
- 在候选集 X^*(可以是剩余未选样本 X \setminus X_t,或额外生成的扰动样本)上,计算 GP 的预测协方差矩阵 \Sigma_*;
- 识别出 \Sigma_* 对角线上最大值所对应的样本——即不确定性最高的样本;
- 将该样本加入 X_t,并再次查询 LLM 获取其 logprob 值;
- 重复上述步骤,直至达到预设查询次数上限 T,或整体不确定性低于某一阈值为止。
【插图:论文 Algorithm 1 贝叶斯代理检测算法伪代码】
该策略本质上属于贝叶斯主动学习框架中的一种采集(acquisition)方式,其采集函数极为简洁直观:总是选择模型最不确定的样本进行查询。论文后续还展示了相关可视化实验,验证了该方法的有效性。
以一句话“Joe Biden recently made a move to the White House.”为起点,利用 ChatGPT 生成了50个不同版本的表达;随后模拟典型样本选择流程,重点分析前11个被选中的样本。
【插图:论文 Figure 5 典型扰动样本及相似度可视化】
观察结果表明:在所选出的典型样本序列中,排名靠前的句子表现出更高的独特性,而随着位置后移,后续被选中的句子与先前样本之间的语义相似度逐渐上升。这一趋势说明,该方法在初始阶段优先选取了语义空间中处于“边缘区域”的样本,即更具代表性的边界案例,之后逐步填充局部邻域内的空白点,实现对局部结构的精细建模。
5.7 关键步骤:通过代理模型重构 DetectGPT 统计量
经过多轮迭代的典型样本筛选后,研究获得了两个核心组成部分:
- 一组经过真实模型查询得到对数概率(logprob)的小规模样本集 Xt 与对应标签 yt;
- 一个在局部区域拟合良好的高斯过程(GP)代理模型 f。
在此基础上,作者采取了一种看似违背直觉却极为关键的设计:
在估计 DetectGPT 统计量时,仍会在目标文本周围生成大量扰动样本(例如 N=200),但这些样本不再直接提交给原始大语言模型(LLM)进行 logprob 查询,而是输入至训练好的 GP 代理模型中,使用其预测的均值 f* 来近似替代真实的 log pθ(xi) 值。
由此,DetectGPT 的统计量被重新定义为:
log pθ(x) (1/N) ∑Ni=1 f(xi)
其中第一项 log pθ(x) 仍来自实际查询(仅需一次,成本可控),而后半部分的平均扰动得分则完全由 GP 代理模型提供估算。
针对如 LLaMA 等大型模型的实验中,研究人员进一步引入了一个归一化形式:
[ log pθ(x) xq(·|x)[ log pθ(x) ] ] / σ
这里,分母中的 σ 表示所有扰动样本对数概率的标准差,用于缓解不同文本之间因局部变化尺度差异过大而导致评分不可比的问题,从而提升跨样本检测分数的一致性和可解释性。
6. 实验结果概览
本研究的实验设计覆盖广泛,几乎囊括了当前主流的语言模型检测场景,包括白盒环境下对 GPT-2、LLaMA2 和 Vicuna 的检测能力评估,黑盒条件下对 ChatGPT 输出的识别效果,以及不同扰动模型和代理模型组合的影响分析。
6.1 实验配置简要说明
数据集设置沿用了 DetectGPT 的标准方案:
- XSum:新闻摘要语料库,用于模拟“虚假新闻识别”任务;
- SQuAD contexts:来自 Wikipedia 的段落内容,贴近学术或说明类写作风格;
- WritingPrompts:源自 Reddit 的创意写作提示文本,侧重考察创造性语言生成特征。
生成策略为:截取原始人类文本的前30个 token,交由目标 LLM 继续生成后续内容,形成“机器扩写版”。检测任务即判断输出是机器生成还是原生人类撰写。
模型配置如下:
- 源语言模型(Source LLM):GPT-2、LLaMA2-7B/13B、Vicuna-7B/13B;
- 扰动模型(Perturbation Model):主要采用 T5-large,同时测试更强的 T5-3B 版本;
- 代理模型(Proxy Model):本文提出的高斯过程(GP)代理框架。
评价指标以 AUROC 为主,并特别关注低假阳性率(FPR)下的真阳性率表现,如 FPR=1% 和 5% 时的 TPR 数值。
6.2 在 LLaMA2 与 Vicuna 上的表现:2 次查询超越 200 次查询
在检测 LLaMA2 和 Vicuna 生成文本的任务中,新方法展现出显著优势。以 LLaMA2-7B 为例:
- DetectGPT 方法即使在 2–4 次查询下,AUROC 也仅维持在 0.42 至 0.51 区间;
- 而本文提出的方法在仅 2 次查询时 AUROC 已达约 0.60,3 次查询即跃升至 0.89,4 次后趋于稳定;
- 即便将 DetectGPT 的查询次数提升至200 次,其 AUROC 仍仅为 0.46 左右。
类似的结果在 XSum、SQuAD 数据集以及 Vicuna-7B/13B 模型上均一致出现:
- 无论是相同还是更少的查询预算,基于贝叶斯推理的 GP 代理方法均全面优于传统方式;
- 继续增加 DetectGPT 的查询数量带来的性能增益极为有限,而新方法在 3–4 次查询后已接近性能上限。
从检测机制角度看,这反映出一个重要现象:
对于当前高性能对话模型而言,其生成文本在局部语义邻域内的对数概率分布蕴含着高度集中的判别信息;只需通过典型样本采样结合 GP 插值即可有效捕捉该结构,而盲目地对 200 个随机扰动样本逐一调用原模型计算 logprob,并不能带来相应的信息收益。
6.3 面向 GPT-2 的检测:传统场景下的效率与性能权衡
在较为传统的 GPT-2 检测任务中,尽管整体难度低于现代聊天模型,但本方法依然展示了良好的查询效率和稳定性。相较于原始 DetectGPT 所需的高查询成本,新方法能在极低查询次数下达到更具竞争力的 AUROC 表现,体现出其在多种模型层级上的通用性与鲁棒性。
在 GPT-2 上,研究绘制了较为完整的“查询次数 vs AUROC”曲线,整体趋势如下:
- GP 版方法在几乎所有查询预算下均优于 DetectGPT;
- 在 XSum、SQuAD 和 WritingPrompts 三个数据集上,GP 版本仅需 10 次查询即可达到 DetectGPT 需要约 20 次查询才能实现的性能水平;
- 当使用更强的扰动模型 T5-3B 时,两种方法的绝对检测性能均有提升,但 GP 版仍保持显著的相对优势。
一个值得注意的现象出现在 WritingPrompts 数据集上:随着查询次数增加至 16、20、30,DetectGPT 的表现趋于饱和,几乎不再提升;而 GP 版则展现出更平滑的增长趋势,持续从额外查询中获益。这一现象表明:
随机扰动采样的边际效益迅速衰减,而基于不确定性的典型样本选择能更高效地利用每一次查询资源。
6.4 黑盒场景下的跨模型检测:代理模型与 ChatGPT
在实际应用中,文本来源模型通常是未知的,甚至为完全黑盒(如商用化的 ChatGPT)。为此,论文设计了两层实验进行验证。
第一层:源模型与代理模型交叉评估
实验在 {GPT-2, GPT-Neo-2.7B, GPT-J} 作为源模型,与多个代理模型之间进行了 3×3 组合测试,旨在探索何种“打分器”更具普适性。结果发现:
- 最优情况仍是“同模型生成 + 同模型打分”;
- 即使源模型与代理模型不一致(例如用 GPT-Neo-2.7B 代理检测 GPT-2 或 GPT-J 生成文本),检测性能依然稳健;
- 在所有组合中,GP 版方法相较 DetectGPT 在 AUROC 上稳定提升,最高增益可达 +3% 左右。
第二层:对 ChatGPT 生成文本的检测能力
以 ChatGPT 为黑盒源模型,采用 LLaMA2-13B 和 Vicuna-13B 作为代理模型估计 logprob,在 XSum、SQuAD 和 WritingPrompts 上的结果显示:
- 使用 LLaMA2 代理时,XSum 上 DetectGPT 的 AUROC 约为 0.40,而 GP 版达到 0.63;
- 在 WritingPrompts 上,DetectGPT 表现约为 0.64,GP 版则提升至 0.74;
- Vicuna 代理下的结果也呈现出类似的显著优势。
这说明:只要代理模型足够接近源模型的行为分布,GP 插值策略即便在黑盒大模型场景下依然有效。
6.5 细粒度统计分析:ROC 曲线与低误报率表现
论文进一步提供了详细的 ROC 曲线以及在低假阳性率(FPR = 1%、5%)下的真阳性率(TPR)对比。主要结论包括:
- 在 GPT-2、Vicuna 等设置下,当 FPR 控制在 5% 时,GP 版的 TPR 明显高于 DetectGPT;
- 以 Vicuna-7B + XSum 为例,FPR=5% 时 DetectGPT 的 TPR 约为 0.80,GP 版可达 0.88;
- 在 WritingPrompts 这类创意性强、多样性高的文本任务中,GP 版在低 FPR 区间的领先优势更为突出。
从实用角度出发,低 FPR 往往比整体 AUROC 更关键——避免将大量人工撰写内容误判为机器生成至关重要。在这方面,基于贝叶斯代理的方法表现出更高的稳定性。
7. 方法创新与局限性分析
若用一句话概括本文的核心创新,那就是:
利用具备不确定性建模能力的贝叶斯代理,将 DetectGPT 中高成本的多次查询替换为少量精心挑选的真实查询结合高斯过程插值。
具体而言,该工作的亮点体现在以下几个方面:
- 思路务实:并未否定 DetectGPT 的理论基础,而是继承其“局部曲率”假设,聚焦于解决最棘手的查询效率问题;
- 方法简洁且高效:融合高斯过程、BertScore 核函数与最大不确定性采样,虽组件成熟,但组合方式高度契合任务需求;
- 良好的跨模型泛化性:不仅适用于 GPT-2、LLaMA2、Vicuna 等开源模型,还能通过代理机制扩展至 ChatGPT 类黑盒系统;
- 较强的可解释性:通过典型样本可视化和交叉评估矩阵,有助于理解模型决策依据。
同时,作者也坦承存在若干限制,以下为总结与补充:
- 典型样本选择具有顺序依赖性:每一轮采样都依赖前次 GP 不确定性估计,导致难以并行化处理,在大规模部署中可能形成新瓶颈;
- BertScore 计算开销不可忽略:尽管节省了大模型查询,但在高频检测场景下,频繁调用 BertScore 及相关 GP 矩阵运算仍有一定计算负担;
- GP 的局部拟合假设存在失效风险:当文本周围的概率曲率异常复杂或非典型时,有限的样本可能无法准确重构真实曲面,部分人类文本因此被错误赋值;
- 对抗性改写攻击下的鲁棒性尚未充分验证:作者明确指出当前工作重心在于提升查询效率,尚未系统评估面对强 paraphrase 攻击时的稳健性。
8. 总结
通读全文后,整体感受是:该研究没有追求颠覆性架构,而是精准定位 DetectGPT 的核心痛点——高昂的查询成本,并提出了一种兼具实用性与理论美感的解决方案。通过引入贝叶斯视角下的不确定性引导采样与插值机制,成功实现了以更少查询获取更优检测性能的目标。尤其在黑盒模型和低误报率要求的应用场景中,展现了明显优势。虽然存在并行性与计算负载方面的挑战,但其方法论框架为后续工作提供了清晰的方向。
该方法在现有检测框架的基础上,进行了一次具有明显“工程化思维”的贝叶斯式升级。其核心问题与 DetectGPT 一致——即利用文本生成过程中的局部概率曲率差异,来区分人类撰写内容与大语言模型(LLM)生成的文本。而改进的关键在于,将原本依赖大量模型查询的高成本操作,转化为由具备不确定性估计能力的高斯过程(Gaussian Process, GP)代理完成。
实验结果显示,这一策略带来了显著效率提升:面对 LLaMA2 和 Vicuna 等现代大模型,仅需 2–4 次查询即可达到甚至超越原始 DetectGPT 使用 200 次查询所获得的检测性能;同时,在 GPT-2 以及黑盒访问模式下的 ChatGPT 场景中,该方法也表现出稳定的判别优势。
对于当前日益重视推理成本与响应延迟的大模型应用场景而言,这种“减少直接查询、增强代理推断”的检测范式展现出极强的实用性与落地潜力。
若用几句话概括这项工作的核心贡献:
- 它并未试图重新定义机器生成文本的本质特征,而是继承 DetectGPT 的基本思路,认可局部概率曲率作为有效判别路径的可行性;
- 引入贝叶斯风格的代理模型,结合高斯过程与 BertScore,重构局部概率空间的几何形态;
- 通过极少次数的关键位置采样,仍能有效恢复曲率信息,从而以极低成本输出可靠的文本来源判别分数。
倘若未来你希望继续探索基于“概率曲率”的文本检测方向,本文提供了一个清晰可行的技术路线:优先将真实模型查询次数压缩至可接受范围,再在此基础上构建更复杂的统计判据或提升鲁棒性机制。


雷达卡


京公网安备 11010802022788号







