跳到主内容
快讯直播
AI智模界
AI 词典

SelfCheckGPT:多问几遍,看它是不是在编

一句话定义:SelfCheckGPT 是一种让模型自己检查自己有没有编造内容的方法。做法是让同一个模型对同一个问题采样多次,再比较这几次答案是否一致;答案越不一致,就越可能是在编。

大模型编造内容(hallucination,幻觉)时,往往语气很肯定。麻烦的是,从单次回答里看不出它什么时候在编。SelfCheckGPT 的思路像法庭上的交叉询问:不要求对方每次都说得一样,但要求前后不矛盾。具体做法是:把同一个问题问模型 N 次(把采样温度调高一点,让每次回答有变化),再把答案拆成一句句话,逐句看这一句在别的几次回答里有没有对应、是否互相矛盾。打分方式有好几种:词面重叠、句子向量相似度(如 AI 词典:BERTScore">BERTScore)、用自然语言推理(NLI,Natural Language Inference)判断两句是否互相蕴含,或者再请一个模型当裁判。这一步得到的“不一致分数”越高,这句越可疑。

打个比方:你问一个朋友“上周三那顿饭在哪儿吃的”,他真记得的话,问三遍基本说的都是同一家店;如果他当时不在场、只是随口应付你,每次细节都不一样——先是“街角那家”,再问变成“好像是个火锅”,第三次又说“记不清了但我记得是七点”。SelfCheckGPT 抓的就是这种“每次说法都不同”的答案。

方法需要什么判断依据盲点
检索核查外部知识库或文档回答与资料是否一致资料里没有就查不了
看输出概率模型原始概率(不能只看被截断的输出)概率高就信概率高不等于正确
让模型自我批评模型自己它说“我这样对不对”和它犯错误时是同一套偏见
SelfCheckGPT只要多采样几次多次答案是否互相一致稳定地错会漏检

和相邻概念的区别:检索核查(retrieval-based factuality check)依赖外部资料;SelfCheckGPT 不需要任何知识库,只看模型自己前后是否一致。困惑度、输出概率这类不确定性估计通常需要访问模型的内部概率;SelfCheckGPT 是黑盒方法,只要能把模型多调用几次就行,所以对只开放 API 的模型也能用。名字里的 GPT 来自论文当时使用的模型,方法本身与具体模型无关。

对从业者的实际意义:这是一道成本很低的幻觉初筛。比如做客服或知识问答时,对于被标成“高不一致”的句子,可以把它标黄、转人工,或者触发一次检索核实;全量走人工显然不现实。对普通用户的意义是转换思路:判断模型可不可靠,它的语气不算数;换个问法、多问一遍、看它两次说法是否一致,才算数。

最后有两点要记住。第一,一致不等于正确——如果模型对某个常见误解一直记错,每次都会稳定地给出同一个错误答案,这种方法就发现不了。第二,不一致也不一定错,开放式问题本来就该有不同的回答,所以在需要发散的问题上别用它。另外,采样次数、判定阈值和具体打分方式都要按场景来调,实际实现细节以对应的开源项目页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。