在 Known 样本中,MaybeKnown 能让模型的整体表现更好,胜过 HighlyKnown 样本。
图 2:在一半 Known 和一半 Unknown 样本上进行微调时的训练集性能和开发集性能。可以看到,模型在 Unknown 样本上的学习速度慢得多,而当模型学习的样本绝大多数是 Known 且仅有少量 Unknown 时,能得到最好的开发集结果。 Gekhman et al. (2024) 的这些实验结果表明使用监督式微调来更新 LLM 的知识是有风险的。 幻觉检测 检索增强式评估 为了量化模型幻觉,Lee, et al. 的论文《Factuality Enhanced Language Models for Open-Ended Text Generation》引入了一个新的基准数据集 FactualityPrompt,其中包含事实性和非事实性的 prompt,而其检验事实性的基础是将维基百科文档或句子用作知识库。维基百科文档是很多数据集的事实来源,比如 FEVER 数据集;而句子则是根据 tf-idf 或基于句子嵌入的相似度选取的。 图 3:FactualityPrompt 基准的评估框架 给定模型续写的文本和配对的维基百科文本,这里有两个针对幻觉的评估指标:
幻觉命名实体(NE)误差:使用一个预训练的实体检测模型和文档层级的定基,该指标度量的是检测到的却未在 ground truth 文档中出现过的命名实体的比例。
蕴涵率(Entailment ratio):使用一个在 MNLI 上微调过的 RoBERTa 模型和句子层级的知识定基,该指标计算的是生成句子中由该蕴涵模型标记为「与配对的维基百科句子相关」的比例。
如果命名实体误差较高且蕴涵率较低,则说明模型的事实性较高;并且已有研究表明这两个指标都与人类标注相关。另外,在这一基准上,更大的模型通常表现更好。 Min et al. (2023) 在论文《FActScore: Fine-grained Atomic Evaluation of Factual Precision in Long Form Text Generation》中提出的 FActScore(用原子分数衡量的事实精度)是将形式较长的生成结果分解成多个原子事实,并且根据维基百科这样的知识库分别验证它们。然后,就能度量模型的每个生成结果中有知识源支撑的句子的比例(精度),而 FActScore 就是在一系列 prompt 上的生成结果的平均精度。 该论文基于人物传记生成任务实验了多种验证事实的方法,结果发现使用检索总是优于非上下文 LLM。在各种检索增强式方法中,究竟什么估计器最好?这一点取决于模型。
非上下文 LLM:直接使用「< 原子事实 > True or False?」来问询 LLM,不带任何上下文。
给定模型响应 y,F1 @ K 指标的定义为: 图 5:F1 @ K 度量的一些主流模型的长篇事实性性能,评估过程使用了来自 LongFact 基准 LongFact-Objects 任务的 250 个随机 prompt。 Chern et al. (2023) 在论文《FacTool: Factuality Detection in Generative AI — A Tool Augmented Framework for Multi-Task and Multi-Domain Scenarios》中提出的 FacTool 采用了一种标准的事实检验流程。其设计目标是在多种任务上检测事实性错误,包括基于知识的问答、代码生成、数学问题求解(生成测试用例而不是陈述)、科学文献总结。该流程为:
LLM 生成的篇幅不定的验证问题比启发式方法更好(比如 X 能回答这个问题吗?),并且需要开放式生成的问题的效果优于单纯的是非问答题。
Sun et al. (2023) 在论文《Recitation-Augmented Language Models》中提出的 RECITE 将复述(recitation)作为了一个中间步骤,以此提升模型生成结果的事实正确度并减少幻觉。其设计思路是将 Transformer 记忆用作信息检索模型。在 RECITE 的「复述再回答」方案中,LLM 首先需要复述相关信息,然后再生成输出。 确切来说,可以使用少样本上下文提词技术来教模型生成复述,然后基于复述内容生成答案。不仅如此,它还能与使用多个样本的自我一致性集成方案组合使用,并且还能扩展用于支持多次跳转的问答。 图 17:比较直接生成方法、RAG 和 RECITE 生成的复述能与基于 BM25 的检索模型相媲美,但这两者都不及使用包含真实事实的文本段。根据他们的误差分析,大约 7-10% 的问题虽复述正确但未能得到正确答案,而大约 12% 的问题虽复述错误但却回答正确了。 采样方法 Lee, et al.(2022) 在论文《Factuality Enhanced Language Models for Open-Ended Text Generation》中发现核采样(nucleus sampling,top-p 采样)在 FactualityPrompt 基准上的表现不及贪婪采样,但它的多样性更优且重复更少,因为核采样会添加额外的随机性。因此他们提出了事实性 - 核采样算法。 该算法基于这一假设:相比于在句子开头处,采样随机性对句子后段的事实性的危害更大。事实核采样是在采样每个句子的 token 期间动态地调整概率 p。 对于一个句子中的第 t 个 token,有 p_t = max (ω,p・λ^{t-1}),其中 ω 是为了防止采样落回成贪婪采样,这有损生成质量和多样性。 图 18:相比于标准的核采样,事实核采样能让多样性更好同时减少重复,而幻觉误差是以命名实体(NE)误差度量的。 Li et al. (2023) 在论文《Inference-Time Intervention: Eliciting Truthful Answers from a Language Model》中提出了推理时间干预(ITI)。其中通过在每一层的激活上拟合线性探针来区分真实输出和虚假输出,研究了某些注意力头是否与事实性更相关。 他们发现,对许多注意力头来说,探针并不能做到比随机更好,但也有一些表现出了很强的性能。ITI 会首先找到一组在真实度方面具有高线性探测准确度的注意力头,然后沿「真实」方向移动前 K 个所选注意力头的激活。 图 19:将所选注意力头上的激活向更真实方向移动的方式 针对事实性进行微调 Lee, et al.(2022) 在论文《Factuality Enhanced Language Models for Open-Ended Text Generation》中提出了两种用于事实性增强训练的思路:
训练目标是句子完成度损失:更新训练损失以将重点放在句子的后部分 —— 他们假设句子的后部分包含更多事实知识。其实现很简单:先确定一个中心点 t,然后对第 t 个 token 前面的所有 token 使用零掩码。
在他们的实验中,所选择的最佳中心点 t 是句子长度的一半。 Lin et al.(2024) 在论文《FLAME: Factuality-Aware Alignment for Large Language Models》中提出了 FLAME(Factuality-Aware Alignment / 可感知事实性的对齐),即在特别注重事实性的前提下执行 SFT+RLHF 对齐训练。