让你更懂AI的 2025-07-08 23:21 北京
本文利用不确定性估计来对齐大模型的事实性,提高大模型事实表达。
本系列 blog 是有关大模型幻觉、知识、不确定性等方向的学习笔记分享,我会持续更新相关基础工作和最新研究,相关文献也整理在以下 GitHub 项目中,欢迎关注。
https://github.com/AmourWaltz/Reliable-LLM
在之前的文章(https://zhuanlan.zhihu.com/p/713737141)中我们已经探讨了大模型的“感知”和“表达”在消除幻觉,增强事实性中的相关知识点,“感知”固然重要,但将正确的事实知识准确无误的表达出来,才是降低幻觉的关键落地之处。
也就是即使大模型对事实知识的感知并不强,我们也要让最终输出朝着事实性的方向移动,解决模型能感知但无法总是正确表达的缺陷。
大模型通常基于在预训练期间学习的知识分布生成回复(“表达”),而这些知识分布的感知(“感知”)往往具有模糊的边界,包含许多学习但不确定的知识片段。
如图 1(a)所示,例如,针对问题 “What was the pseudonym of author John Griffith Chaney?”(作者约翰·格里菲斯·查尼的笔名是什么?)。
如果 LLM 拥有从预训练语料库中学习到的相关知识但不确信,对答对的信心仅约为 30%(浅绿色部分),它可能会返回一个误导性的答案,比如 “Jules Verne”(儒勒·凡尔纳)。
对于另一个问题 “What was the capital of West Germany from 1949 to 1990?”(1949 年到 1990 年西德的首都是什么?),如果 LLM 没有学习相关知识,但根据先前的知识猜测 “West Berlin”(西柏林)可能正确,因此返回一个错误的答案。
这个问题主要源于 LLMs 没有对齐知识边界与事实准确性之间的关系。因此,为了提高 LLM 的事实性,关键在于教会 LLM 精确感知知识边界,并准确在回复中表达事实知识,对于知道的事实知识(绿色部分),减少感知和表达之间的差距,而对于不知道的知识(灰色部分),则坚定地拒答。
如下图知识光谱所示,一个可信的大模型知识边界应当是清晰的(下),把知道的知识都能非常确信并准确的表达出,而对于不知道的知识则坚定拒答,不存在过多的模糊区域(上)。
增强大模型的事实性表达,在工程上可以像人类一样通过给定提示去回顾特定知识,使用思维链来一步步引导回忆,或是通过多次采样,然后通过一些聚合方法选择最可信的那个,亦或是采用一些监督微调或强化学习的训练方法。
此前文章介绍了集中提高大模型事实表达的工作,本文将再介绍一篇我们利用不确定性估计来对齐大模型的事实性,提高大模型事实表达的文章。
论文标题:
UAlign: Leveraging Uncertainty Estimations for Factuality Alignment on Large Language Models
论文链接:
https://arxiv.org/abs/2412.11803
代码链接:
https://github.com/AmourWaltz/UAlign
方法:利用不确定性进行事实性对齐
基于上述分析,我们认为模型无法准确表达事实知识是由于其无法精确感知知识边界;因此我们的目标是引导大型模型识别其不确定但已知的事实,通过在对齐中明确利用知识边界信息,指导其自信地表达其已知但不确定的信息,并坚决拒绝超出其知识范围的问题,如图 1(b)所示。
基于“感知”的改进,大模型的表达更加真实可靠,从而最小化“感知”和“表达”之间的差异。因此我们提出了 UAlign 框架,该框架战略性地建模关于知识边界表示的不确定性,随后将这些估计与事实对齐。
因此,UAlign 框架关注两个关键问题:如何感知知识边界表征,以及如何与事实进行对齐。
2.1 UAlign 训练数据集的构造首先,我们准备了一个数据集,该数据集包含用于 UAlign 框架中对齐的知识边界信息。知识边界通常指示事实知识的已知程度,通常通过对大模型使用不确定性估计方法来实现。
为了准确捕捉给定知识问答数据集的知识边界表示的内在感知,我们分别采用基于准确度的置信分数(accuracy-based confidence score)和语义熵(semantic entropy)这两种不确定性估计。
如下图 2 所示,给定一个包含 个知识问答对 的数据集 ,我们通过使用一个 1-shot prompts 集合 中不同 1-shot 示例在温度 下对一个问题进行多次采样以减轻上下文敏感性,从而计算每个问题的置信度和熵,近似实际的知识边界。
更具体的,在对第 个问题 的第 次采样过程中,我们将每个 1-shot prompt 与问题 一起输入大模型,以生成第 个回复 。
通过进行 次采样过程,我们可以获得问题 的采样回复集 。我们通过将每个生成的答案 与真实答案 进行比较,得到标签集合 来表示每个回复的正确性(,1 表示正确,0 表示错误)。
我们将数据收集并格式化为 ,随后计算不确定性。至少有一个正确样本答案的问题被视为“已知”,而所有样本响应均为错误的问题被视为“未知”。
此前工作表明大模型在未知知识上微调会容易生成幻觉,因此我们将未知问题的标签 回复修改为拒答,以教导大模型拒绝超出其知识范围的问题,从而划分已知和未知事实知识的边界。
本研究将大模型的知识边界从两个方面进行定义。首先是对问题 的先验判断,表明对 的确信程度,我们采用基于准确度的置信度来度量;接着是对生成回复在 中分布的离散程度,我们采用语义熵来衡量。这两种度量作为互补,从而精确拟合出真实的知识边界信息。
对于问题 ,通过与真实答案 进行比较 中回复的准确性作为置信分数 ,计算公式如下:
由于自然语言生成任务输出空间中生成序列的可变长度和存在不同语句的语义等价等问题,此前工作提出语义熵来度量语句不确定性,以捕捉语义层面的不确定性,量化生成序列的离散程度。给定 和 ,语义熵 计算如下:
其中 表示语义等效空间中的句子集合。如图 2 所示,语义熵是通过聚类语义等价的回复来计算的。我们计算已知问题和未知问题的置信分数和语义熵,通过将第 个样本格式化为 来更新 UAlign 数据集 。
2.2 UAlign 对齐训练算法
如图 3(a)所示,给定数据集 ,UAlign SFT 的目的是训练不确定性估计模型,以明确学习针对特定问题的两个不确定性估计值。不确定性估计模型 和 分别用于预测置信分数和语义熵,这些估计值被持续用于训练奖励模型。
在训练模型 和 时,我们只将问题 输入模型,以生成两个不确定性估计。训练目标是最小化交叉熵损失 和 ,如下所示:
随后引入奖励模型以确定生成的答案 是否正确地基于问题 、置信度 和熵 。 和 都被显示用作额外的输入特征,以提高奖励模型的准确性。奖励模型 的二元交叉熵损失 被最小化,如下所示:
如图 3(b)所示,UAlign PPO 目的是利用以上获得的模型,通过不确定性度量来引导大模型对问题的事实表达。
受到人类反馈强化学习(RLHF)技术进展的启发,我们采用近端策略优化(PPO)来优化模型,结合奖励模型 优化策略 。
在这一阶段,我们迭代地将问题 、预测的置信度 和熵 输入到策略 和参考模型 中,奖励函数 将促进策略模型 生成可信回复 。
训练目标是最大化以下奖励函数 :
奖励函数 包含来自 的奖励信号 和 KL 惩罚 ,以确保策略 生成的答案 不会与原始策略 过度偏离。超参数 是 KL 惩罚的系数。
实验配置
3.1 数据集
训练集:TriviaQA,NQ-Open,SciQ
测试集:In-domain - TriviaQA,NQ-Open,SciQ;Out-of-domain - LSQA。
3.2 评估指标
为了评估生成回复的可靠性,我们采用了两个指标:精确度(Precision)和 真实度(Truthfulness)。精确度定义为在所有已知问题中正确回答的问题所占的比例,代表大模型准确表达其已知事实知识的能力。
真实度表示在所有问题中,正确回答的已知问题和拒绝的未知问题之和所占的比例,指示大模型的诚实程度,回复正确性使用字符串匹配方法 来判断。精确度和真实度的计算公式如下:
KC:已知且回答正确
KI:已知但回答错误
KR:已知但拒绝回答
UC:未知但回答正确
UI:未知但回答错误
UR:未知且拒绝回答
3.3 模型
Llama-3-8B, Mistral-7B-v0.1
实验分析
主实验结果表明我们的 UAlign 方法可以显著提高模型的可靠性,并且在 OOD 数据集上也有不错的泛化能力,相比此前一些 baseline 方法可能导致模型趋于保守,我们的方法则可以让模型自信表达出已知的知识并且坚定拒绝未知的问题。
我们也分析了两种不确定性估计的影响,结果表明置信度对性能提升起主导作用,熵起辅助作用。
通过与一系列不确定性估计的 baseline 相比,我们所使用的不确定性估计指标结合了基于采样和基于训练的方法的优点,因此实现 AUROC 分数更高,关于不确定性估计可参考:
https://zhuanlan.zhihu.com/p/696065154
最后我们也分析了采样次数的影响和时间消耗,由于本文均采用形式较简单的 QA 问答对,答案格式简单,很容易逼近真实分布,因此采样消耗少。每条问题大约采样 10 次就可以实现不错的效果。
相关研究工作
最后简单回顾下此前一些相关研究:
[1] 把大模型预训练阶段学到的知识称作参数化知识(parametric knowledge,下图蓝色区域),如果预训练大模型在指令微调阶段如果遇到新知识(即参数化知识以外的知识,下图橙色区域三角形所代表的事实知识点),那么模型就会更容易产生幻觉。
原因是,大模型的指令微调对齐阶段,更像是一个复习过程,即学习怎么利用预训练阶段学到的知识,如果在指令微调时加入太多模型没见过的知识,相当于给模型传达一个信号,即鼓励模型生成预训练时没见到的知识,那模型就会更容易产生幻觉。
这篇文章就对模型知识和外部知识做了一个区分,方法非常直观易懂,在指令微调数据上,先通过采样的方法,判断模型对哪些知识已知,哪些未知,即对上图橙色区域的圆圈和三角作个区分,然后在训练时让模型对已知部分的知识直接生成回答,对未知部分则拒答,即在答案前加上 I am unsure 之类的表述,如下图所示。
文章实验部分也分别为 in-domain 和 out-of-domain 上进行测试,验证了这种简单有效的方法具有良好的泛化能力,文章使用准确率和平均精度(Average Precision)两个指标来评估方法,在一系列数据集上均有明显提升。
[2] 使用强化学习来增强模型识别知识以及拒答的能力,提出了一种对齐框架,称为来自知识反馈的强化学习 (Reinforcement Learning from Knowledge Feedback),利用知识反馈来确定模型的知识边界,并训练可靠的奖励模型来鼓励拒绝知识外的问题。
这篇文章的重点在强化学习数据集的构造,给定数据集,对于 in-domain 的部分,让大模型回答同一个问题 N 次,如果全对就构造偏好回答>拒答(A>IDK),如果一部分对就构造正确>错误(A>B),如果全错就构造拒答>错误(IDK>B)。
对于 out-of-domain 的数据,让大模型回答同一个问题 N 次,如果有 t 次的答案是一致就构造回答大于拒答(A>IDK),如果模型答案不一致,则让拒答大于回答(IDK>B)。
文章还引入一系列度量可靠性的指标,包括准确率(回答正确/问题总数),精度(回答正确/回答正确+回答错误),真实性(回答正确+拒答/问题总数),以及可靠性,即在准确率和真实性上取一个 trade-off,同时兼顾模型的准确率和真实性。
在一系列实验上,文中提出的方法都能拒答模型未知的问题,极大的减少了幻觉发生。
[3] 针对 R-Tuning 在划分标签时不够细粒度的问题,提出了一个 SaySelf 的训练框架,让模型以更准确和细粒度的方式输出置信度,并且结合了推理步骤,让模型能够在生成推理步骤时显式得到置信度,通过自我反思性理由来解释其答案和置信度。
包含一个监督微调阶段和一个强化学习阶段,监督微调在知识问答数据上,采样多条大模型的回复,然后根据回复的不一致性,利用一个更强的模型生成包含问题、答案、思维链、自我反思理由及置信度的特定模型数据集。
在强化学习阶段,设计了一种奖励函数,鼓励大模型输出准确且自信的回答,对过于自信的错误回答则给予惩罚。
实验也表明,在生成反思后,模型的置信度得到良好校准,同时也保持问答任务性能,使模型的可靠性得到很大提升。
[4] 通过内部状态改变事实性的经典之作,提出了 Inference-Time Intervention(ITI)的技术,通过在推理过程中改变模型激活状态,让激活朝着真实性的方向移动,在一系列真实性数据基准上,均得到了明显提升。
这篇文章依然探究怎么提高模型表达的事实性,结合知识探针,用探针探测模型是否知道答案,然后通过定向改变激活状态,改变模型输出,提高模型生成准确度。
如下图所示,利用模型在中间层的激活值作为探针的输入,以此激活值所激活所对应的输出答案作为输出,通过有监督微调训练出探针,然后在推理过程中将激活转移到该方向,以此提高模型可信度(可信输出)。
总结
有时候大模型知识边界模糊,因此无法始终正确回答问题,本文中提出了一个 UAlign 框架,显式利用不确定性估计来引导大模型准确表达事实知识。
本文介绍了数据集准备过程和 UAlign 训练策略,通过将置信分数和语义熵的不确定性估计作为输入特征融入提示中,实现事实性对齐。在多个知识问答任务上的实验验证了 UAlign 可以有效提升大模型可靠性和泛化能力。详细内容可参考原文。
参考文献
[1] https://arxiv.org/abs/2311.09677
[2] https://arxiv.org/abs/2403.18349
[3] https://arxiv.org/abs/2405.20974
[4] https://arxiv.org/abs/2306.03341
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·