DoLa:对比层解码提高大型语言模型的事实性

本文提出了DoLa,一种针对大型语言模型的解码策略,旨在减少幻觉并增强事实知识。DoLa通过对比高层和低层的logits来获取更准确的词概率分布,从而提高模型在多项选择和开放式生成任务中的事实性。实验证明,DoLa在多项选择任务如TruthfulQA和FACTOR中提高了模型性能,同时在开放文本生成任务中保持高信息量和事实性。动态早期层选择策略使得模型能够根据任务复杂性选择最佳解码层,而重复惩罚机制则减少了生成重复内容的可能性。
摘要由CSDN通过智能技术生成

在这里插入图片描述

摘要

尽管大型语言模型(LLM)具有很强的功能,但它们容易产生幻觉,即生成与预训练期间观察到的事实偏离的内容。

本文提出了一种简单的解码策略,用于减少预训练的LLM中的幻觉,该策略不需要依赖检索的外部知识或额外的微调。

本方法通过对比从 较高层和较低层 投影到 词汇空间 所得到的 logits 之间的差异来获得下一个token的分布,利用了LLM中事实知识通常局限于特定的Transformer层的事实。这种 对比层解码(DoLa)的方法能够更好地表现出事实知识,并减少生成不正确事实的情况。DoLa在多项选择任务和开放式生成任务中始终提高了真实性,例如在TruthfulQA上将LLaMA系列模型的性能提高了12-17个百分点,展示了其在使LLM可靠地生成真实事实方面的潜力。

较低层在模型中位于输入端,接收原始文本或输入序列,并提取更底层的特征,如字符级别的信息或词法特征。较高层则位于模型的更深部分,接收来自较低层的抽象特征,并进行更高级别的语义理解和表示。
较低层在模型中更加接近原始输入数据,特征更加具体和细粒度。这些层通常更加关注输入序列的局部特征和词法信息,如词形、词频等。较低层在模型中承担了提取原始特征和语法结构的任务。相比之下,较高层在模型中更加抽象和语义化。这些层能够捕捉更高级别的语义关系、推理能力和语篇信息。较高层在模型中负责对输入序列进行深入理解和建模,从而生成更具语义连贯性和上下文一致性的输出。

较高层和较低层分别表示了不同级别的语义信息和词法信息。通过将这些层的输出经过投影到词汇空间,可以获得每个词的logits。

词汇空间
是指在自然语言处理任务中,用于表示所有可能词汇的集合。在文本处理任务中,通常将文本表示为由单词或词汇构成的序列。词汇空间是包含了所有可能出现的单词或词汇的集合,它定义了模型可以使用的所有词汇的范围。

在语言模型中,logits表示了每个词在生成文本时的得分或概率。

1 引言

大型语言模型(LLM)在许多自然语言处理(NLP)应用中展现出了巨大的潜力。然而,尽管LLM的性能不断提升并出现了新的能力,它们会产生“幻觉”,即生成与预训练期间观察到的真实世界事实偏离的内容,这仍然是一个持续存在的挑战。这对于高风险应用(例如临床/法律环境)特别是可靠生成可信文本至关重要,因此这代表了部署LLM的重要瓶颈。

尽管对LLM幻觉的确切原因尚不完全清楚,但可能的原因之一是由于最大似然语言建模目标(the maximum likelihood language modeling objective) ,该目标最小化了数据分布与模型分布之间的前向KL散度。这个目标可能导致模型具有Mass-seeking behavior(寻找质心行为) ,使得LM为不完全符合训练数据中嵌入的知识的句子分配非零概率。实证上,通过在有限数据上使用下一个词预测目标训练的LM已被证明会导致模型仅仅利用语言知识来识别训练示例中的表面模式,而不是识别和生成从训练语料库中提取的真实世界事实。

最大似然语言建模目标(Maximum Likelihood Language Modeling Objective)是一种用于训练语言模型的优化目标。语言模型的目标是根据先前的文本序列预测下一个词或字符的概率分布。最大似然语言建模目标旨在最大化模型预测下一个词的概率与实际观察到的下一个词的匹配程度。
具体来说,给定一个训练集,包含多个文本序列,可以将每个序列表示为一个由单词或字符组成的序列。对于每个序列,我们可以定义一个条件概率分布,表示在给定前面的文本序列的情况下,下一个词或字符的预测 概率。
最大似然语言建模目标的核心思想是通过最大化训练集中所有序列的条件概率来训练模型。具体地,我们希望模型的预测概率尽可能接近训练集中实际观察到的下一个词或字符。

前向KL散度(Forward KL Divergence),也称为KL散度损失、相对熵损失或KL散度损失项,是一种用于衡量两个概率分布之间差异的度量。
在机器学习中,KL散度用于比较两个概率分布P和Q之间的差异程度。前向KL散度衡量的是从P到Q的差异,即将P作为参考分布,衡量Q相对于P的不确定性。
具体来说,对于离散概率分布,前向KL散度定义如下:
K L ( P ∣ ∣ Q ) = Σ P ( x ) ∗ l o g ( P ( x ) / Q ( x ) ) KL(P || Q) = Σ P(x) * log(P(x) / Q(x)) KL(P∣∣Q)=ΣP(x)log(P(x)/Q(x))
其中,P(x)和Q(x)分别表示P和Q在事件x上的概率。
前向KL散度的值越大,表示两个概率分布之间的差异越大。当两个分布完全相同时,前向KL散度为0。当P和Q之间有差异时,前向KL散度大于0。
前向KL散度可以在训练机器学习模型中用作损失函数的一部分。在训练过程中,通过最小化前向KL散度,可以使模型的输出概率分布逐渐接近目标概率分布,从而实现模型的优化和拟合。

根据这段文字,“Mass-seeking behavior” 意味着LM倾向于聚集在数据分布的中心或代表性点上,并且可能会给不完全符合训练数据中嵌入的知识的句子分配非零概率。这种行为可能导致LM生成与训练语料库中提取的真实世界事实不一致的句子。换句话说,LM更注重捕捉训练样本中的表面模式,而不是真正识别和生成基于训练语料库的真实世界事实。

从模型可解释性的角度来看,Transformer语言模型被宽泛地显示为在较低层中编码“较低级”的信息(例如,词性标签),而在较高层中编码更多的“语义”信息。
最近,Dai等(2022)发现预训练的BERT模型中的“知识神经元”分布在最顶层。Meng等(2022)表明,事实知识甚至可以通过操作自回归Transformer语言模型中的特定一组前馈层来进行编辑。
本文提出利用这种知识的模块化编码,通过对比解码方法来增强LM中的事实知识,其中下一个词的输出概率是通过较高层和较低层得到的logits之间的差异来获得的。通过强调较高层的知识并淡化较低层或中间层的知识,可以使LM更具事实性,从而减少幻觉。
在这里插入图片描述
*这段文字描述了基于Transformer的语言模型(LM)在不同层次逐渐融合更多事实信息的过程。观察结果表明,虽然在不同层次中,“Seattle”作为下一个词的概率保持相似,但正确答案“Olympia”的概率从较低层次逐渐增加到较高层次。DoLa利用这个事实,通过对比两个层次之间的差异来增强LLM模型的概率,使其更倾向于生成符合事实的输出。
*

图1显示了一个简单示例的这一思想的示例。虽然“Seattle”在所有层中都保持较高的概率——这可能是因为它是一个句法上合理的答案,但是在较高层注入更多的事实知识后,真实答案“Olympia”的概率增加了。在这种情况下,通过对比不同层之间的差异,可以揭示出真实答案。基于这一概念,提出了一种新的解码方法,即 对比层解码(DoLa),以更好地展示嵌入在LLM中的事实知识,而无需检索外部知识或进行额外的微调。

对TruthfulQA和FACTOR Muhlgay等的实验表明,DoLa能够提高LLaMA系列模型的真实性。对StrategyQA和GSM8K的思维链推理以及开放式文本生成结果(使用GPT-4评估)的进一步实验也显示出它可以促进更具事实性的推理。最后,对于生成开放式文本的实验结果表明,与原始解码方法相比,DoLa能够生成更具信息量和显著更具事实性的响应,从而获得更好的评分。从效率的角度来看,发现DoLa在解码过程中只引入了很小的额外延迟,因此可以作为一种实用且有用的解码策略,用于提高LLM的真实性。

2 方法

最近的语言模型由一个嵌入层、N个堆叠的Transformer层和一个仿射层ϕ(·)组成,用于预测下一个词的分布。给定一个token序列{ x 1 , x 2 , . . . , x t − 1 x_1, x_2, . . . , x_{t−1} x1,x2,...,xt1},嵌入层首先将token嵌入到一个向量序列 H 0 = H_0 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值