AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Lilian Weng 大模型幻觉问题解读 | 检测方法
发布日期:2024-11-19 07:26:43 浏览次数: 1519 来源:MLSys2024


人类会经历幻觉,同样地,大型语言模型(LLM)也会产生幻觉。OpenAI 安全系统团队的负责人Lilian Weng的一篇文章<<Extrinsic Hallucinations in LLMs : https://lilianweng.github.io>>,分享了近年来在理解、检测以及克服大型语言模型幻觉方面的众多研究成果。
[推荐阅读:幻觉是怎么产生的Lilian Weng 大模型幻觉问题解读 | 上   
[推荐阅读:OpenAI安全副总裁、北大校友Lilian Weng宣布离职,有时间写博客了

OpenAI 联合创始人John Schulman(约翰·舒尔曼)23年在Berkeley的一个分享 <<RL and Truthfulness:Torwards TruthGPT>>,分享了如何提升大型语言模型的真实性与减少幻觉现象的研究与见解。

[推荐阅读] RL and Truthfulness:Torwards TruthGPT

[推荐阅读] 突发!OpenAI联创、ChatGPT架构师「叛逃」,官宣入职劲敌Anthropic

内容大纲

  • 幻觉产生的原因
    • 训练数据问题
    • 微调新知识
  • 幻觉检测
    • 检索增强式评估
    • 基于采样的检测
    • 对未知知识进行校准
    • 间接查询
  • 反幻觉方法
    • RAG → 编辑和归因
    • 动作链
    • 针对归因进行微调
    • 针对事实性进行微调
    • 采样方法
  • 附录:评估基准

2 幻觉检测

2.1 检索增强评估

为量化模型的幻觉现象,Lee等人2022年的文章<<Factuality Enhanced Language Models for Open-Ended Text Generation>>推出了一个新的基准数据集FactualityPrompt,该数据集包含事实性和非事实性提示。该数据集以Wikipedia文档或句子作为事实性验证的知识库。这些Wikipedia文档是从FEVER数据集中挑选的已知的真实信息,而句子则是基于tf-idf或句子嵌入相似度选择的。

针对模型续写和对应的Wikipedia文本,我们采用了两种幻觉评估指标:
  1. 命名实体(NE)幻觉错误率:该指标利用预训练的实体检测模型和文档级事实性验证,衡量检测出的命名实体中未出现在真实文档中的比例。
  2. 蕴含关系比率:该指标使用在MNLI数据集上微调过的RoBERTa模型,并结合句子级知识验证,计算生成句子中被蕴含模型判定为与对应Wikipedia句子相关的比例。
高的NE错误率和低的蕴含关系比率表明事实性较低,这两种指标均与人类标注结果呈相关性。实验发现,规模更大的模型在此基准测试中表现更佳。
FActScore(Min等人2023年的文章 FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation)方法将长篇文本生成分解为多个原子事实,并分别利用如Wikipedia等知识库进行验证。随后,我们计算每个模型生成中受知识源支持的句子比例(即精确度),而FActScore则是一组提示下模型生成的平均精确度。在人物传记生成任务中,该论文尝试了多种事实性验证方法,并发现采用检索技术的方法始终优于非上下文大型语言模型(LLM)。在检索增强的方法中,最佳估计器因模型而异。
  • 非上下文LLM:直接向LLM提出“<原子事实>是否正确?”的提示,而不提供额外上下文;
  • 检索→LLM:从知识源中检索相关段落作为上下文进行提示;
  • 非参数概率(NP):通过掩码语言模型计算原子事实中标记的平均似然度,并据此进行预测;
  • 检索→LLM + NP:结合上述两种方法;
关于模型幻觉行为的有趣观察:
  • 在传记生成任务中,罕见实体的错误率更高。
  • 生成过程中后提及的事实的错误率更高。
  • 使用检索技术为模型生成提供事实基础能显著减少幻觉现象。

Wei等人(2024年的文章Long-form factuality in large language models)提出了一种名为SAFE(Search-Augmented Factuality Evaluator,搜索增强事实性评估器;附有代码)的评估方法,用于检查大型语言模型(LLMs)生成长文本的事实性。

与FActScore相比,SAFE的主要区别在于,对于每个独立且具体的原子事实,SAFE采用语言模型作为代理,在多步骤过程中迭代地发出Google搜索查询,并推断搜索结果是否支持该事实。在每个步骤中,代理会根据要检查的事实以及先前获得的搜索结果生成搜索查询。经过多个步骤后,模型会进行推理,以确定搜索结果是否支持该事实。

实验表明,SAFE方法的表现优于人类标注者,尽管其成本仅为人类标注者的二十分之一:SAFE与人类标注者的同意率高达72%,在双方意见不一致的情况下,SAFE的胜率更是高达76%。

SAFE评估指标为F1@K。其设计理念在于,长文本事实性的模型响应应同时满足精确度和召回率的要求,因为响应应当既
准确(通过精确度衡量,即整个响应中所有事实中被支持事实的百分比),
全面(通过召回率衡量,即响应中应出现的所有相关事实中已提供事实的百分比)。
因此,我们需要考虑被支持事实的数量,直至达到某个阈值K。
给定模型响应,F1@K指标的定义如下:

FacTool(Chern等人2023年的文章FacTool: Factuality Detection in Generative AI -- A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios)遵循标准的事实核查流程,旨在检测多种任务中的事实错误,这些任务包括基于知识的问答、代码生成、数学问题解决(生成测试用例而非断言)以及科学文献综述。其工作流程如下:
  • 断言提取:通过提示大型语言模型(LLMs),提取所有可验证的断言。
  • 查询生成:将每个断言转换为适合外部工具使用的查询列表,如搜索引擎查询、单元测试用例、代码片段和论文标题。
  • 工具查询与证据收集:利用外部工具(如搜索引擎、代码解释器、Google Scholar等)进行查询,并获取结果。
  • 一致性验证:根据外部工具提供的证据支持程度,为每个断言分配一个二进制事实性标签。

2.2 基于采样的检测

SelfCheckGPT(Manakul等人,2023年,SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models)依赖于对来自黑盒大型语言模型(LLM)的多个样本进行事实性错误的一致性检查。鉴于灰盒事实核查测量需要访问LLM的标记级对数概率,SelfCheckGPT仅需要不依赖于外部知识库的样本,因此仅通过黑盒访问即足够,无需外部知识库。

该方法采用多种指标来衡量模型响应与其他随机模型样本之间的一致性,包括BERTScore、自然语言推理(NLI)、提示问答(即提出是/否问题)等。在针对GPT-3生成的WikiBio段落进行实验时,采用提示问答的SelfCheckGPT表现最佳。

2.3 对未知知识进行校准

当模型被要求回答无法回答或未知的问题时,可能会产生幻觉(即生成不准确或错误的信息)。为了衡量模型在这种情况下生成真实回答的能力,TruthfulQA(Lin等人,2021年,TruthfulQA: Measuring How Models Mimic Human Falsehoods)和SelfAware(Yin等人,2023年,Do Large Language Models Know What They Don't Know?)是两个重要的基准测试。前者是通过对抗性构建来强调人类常见的错误,而后者则包含了一些因其本质而无法回答的问题。面对这些问题,模型应该拒绝回答或提供相关信息。

TruthfulQA(Lin等人,2021年,TruthfulQA: Measuring How Models Mimic Human Falsehoods)中的测试问题是根据人类常见的误解或错误进行对抗性设计的。该基准测试包含了817个问题,涵盖了健康、法律、金融和政治等38个主题。在这里,一个回答被定义为真实的,当且仅当它避免断言错误的信息,包括拒绝回答和提供不相关的真实答案。在论文的测试阶段,表现最好的大型语言模型准确率为58%,而人类可以达到94%的准确率。他们发现,由于常见的误解,更大的模型反而更不真实,但这种趋势在其他标准(非对抗性)的事实性基准测试中并未出现。
以下是GPT-3在TruthfulQA中给出的错误回答示例:

Yin等人(2023年,Do Large Language Models Know What They Don't Know?)研究了自我认知的概念,即语言模型是否能够知道自己知道什么以及不知道什么。他们构建了一个名为SelfAware的基准测试集,其中包含五个类别的1032个无法回答的问题和2337个可回答的问题。无法回答的问题来源于带有人工标注的在线论坛,而可回答的问题则是基于与无法回答问题的文本相似性,从SQuAD、HotpotQA和TriviaQA等数据集中选取的。一个问题可能因多种原因而无法回答,例如缺乏科学共识、对未来的想象、完全主观的表述,以及可能产生多种回应的哲学原因等。如果将区分可回答与无法回答的问题视为一个二分类任务,我们可以通过测量F1分数或准确率来评估模型的表现。实验结果表明,规模更大的模型在这一任务上表现更佳。

评估模型对未知知识认知能力的另一种方法是测量模型输出的不确定性。当问题介于已知与未知之间时,模型应展现出恰当程度的置信度。
Kadavath等人(2022年,Language Models (Mostly) Know What They Know)的实验表明,在带有可见字母答案选项格式(如MMLU、TruthfulQA、QuALITY、LogiQA)的多样化多项选择题中,大型语言模型(LLMs)对其答案正确性的估计概率展现出良好的校准度,即预测概率与答案正确的频率相吻合。然而,经过基于人类反馈的强化学习(RLHF)微调后,模型的校准度会变差,但提高采样温度能够改善校准结果。

Lin等人(2022年,Teaching Models to Express Their Uncertainty in Words)采用了CalibratedMath任务套件来评估模型输出概率的校准度。CalibratedMath是一套程序生成的数学问题,涵盖不同难度级别(例如,根据涉及的位数不同),旨在测试模型输出概率的校准程度。对于每个问题,模型需要给出一个数值答案及其置信度。考虑了以下三种类型的概率:
  1. 用文字或词语表达的置信度(例如“最低”、“低”、“中”、“高”、“最高”),如“置信度:60% / 中等”。
  2. 答案标记的归一化对数概率(注意,在微调实验中未使用此类型)。
  3. 原始答案后间接给出的“正确/错误”标记的对数概率。
他们的实验重点关注了在任务难度或内容分布发生变化时,校准度的泛化能力如何。每个微调数据点包括一个问题、模型的答案(可能不正确)以及校准后的置信度。用文字表达的置信度在两种情况下都表现出良好的泛化能力,而所有设置在乘除任务变化上都表现良好。在置信度预测方面,少样本模型的表现弱于微调模型。增加更多示例有助于提升性能,50样本模型的表现几乎与微调版本相当。

2.3 间接查询

Agrawal等人(2023年,Do Language Models Know When They're Hallucinating References?)专门研究了大型语言模型(LLM)生成中虚构引用的情况,包括捏造的书籍、文章和论文标题。他们试验了两种基于一致性的方法来检查虚构内容,即直接查询与间接查询。这两种方法均在T > 0时多次运行检查并验证一致性。

直接查询要求模型判断生成的引用是否存在。而间接查询则要求提供生成的引用的辅助细节,例如作者信息;例如,如果我们想检查“以下论文是否真实存在?”,我们可以查询“这篇论文的作者是谁?”。假设是,对于虚构的引用,多次生成同意同一组作者的可能性要小于多次直接查询表明引用存在的可能性。实验表明,间接查询方法效果更好,且更大的模型能力更强,虚构内容更少。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询