DOLA: DECODING BY CONTRASTING LAYERS IMPROVES FACTUALITY IN LARGE LANGUAGE MODELS----DOLA:通过对比层进行解

DOLA: DECODING BY CONTRASTING LAYERS IMPROVES FACTUALITY IN LARGE LANGUAGE MODELS
----
DOLA:通过对比层进行解码可提高大型语言模型的真实性

†麻省理工学院,

微软

摘要

尽管大型语言模型(LLM)的能力令人印象深刻,但它很容易产生幻觉,即生成与预训练期间看到的事实不同的内容。我们提出了一种简单的解码策略,通过预训练的 LLM 来减少幻觉,不需要对检索到的外部知识进行调节,也不需要额外的微调。我们的方法通过对比将后面的层与前面的层投影到词汇空间所获得的逻辑差异,利用 LLM 中的事实知识通常被证明局限于特定的转换器层这一事实,来获得下一个标记分布。我们发现这种通过对比层解码(DoLa)方法能够更好地呈现事实知识并减少错误事实的产生。 DoLa 不断提高多项选择任务和开放式生成任务的真实性,例如将 LLaMA 系列模型在 TruthfulQA 上的性能提高了 12-17% 的绝对点,展示了其使法学硕士可靠地生成真实事实的潜力。

1 简介

大型语言模型 (LLM) 在众多自然语言处理 (NLP) 应用中展现出巨大潜力(Brown 等人,2020 年;OpenAI,2022 年;2023 年)。然而,尽管 LLM 的性能不断提高并且出现了扩展 LLM 的新功能(Wei 等人,2022a),但他们倾向于“产生幻觉”,即生成偏离预训练期间观察到的现实世界事实的内容(Ji 等人) al., 2023),仍然是一个持续存在的挑战。这代表了其部署的主要瓶颈,特别是对于高风险应用程序(例如临床/法律设置)来说,可靠地生成可信文本至关重要。

虽然 LM 产生幻觉的确切原因尚不完全清楚,但可能的原因是最大似然语言建模目标,该目标最大限度地减少了数据和模型分布之间的前向 KL 散度。这一目标可能会导致模型具有大规模搜索行为,从而导致 LM 将非零概率分配给与训练数据中嵌入的知识不完全一致的句子。根据经验,在有限数据上使用下一个单词预测目标训练的 LM 已被证明会产生一个使用语言知识来识别表面模式的模型,而不是识别和生成从训练语料库中提取的现实世界事实(Ji等人,2023)。

从模型可解释性的角度来看,transformerLM 已被广泛地证明可以在较早的层中编码“较低级别”信息(例如词性标签),并在较晚的层中编码更多“语义”信息(Tenney 等人,2019) )。最近,戴等人。 (2022) 发现“知识神经元”分布在预训练的 BERT 模型的最顶层。孟等人。 (2022) 表明,甚至可以通过操纵自回归 LM 中的一组特定前馈层来编辑事实知识。我们建议利用这种知识的模块化编码,通过对比解码方法来放大 LM 中的事实知识,其中输出下一个单词的概率是从较高层与较低层之间的逻辑差异获得的。通过强调较高层的知识并淡化较低层的知识,我们有可能使 LM 更加真实,从而减少幻觉。

图 1:LLM的图示逐步将事实信息逐层纳入其中。虽然“西雅图”的下一个单词概率在不同层中保持相似,但正确答案“奥林匹亚”的概率从较低层到较高层逐渐增加。 DoLa 利用这一事实通过对比层之间的差异来进行解码,以提高 LLM 获得实际正确输出的概率。

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

TruthfulQA 的实验(Lin 等人,2022)和 FACTOR Muhlgay 等人。 (2023) 证明 DoLa 能够提高 LLaMA 家族模型的真实性 (Touvron et al., 2023)。针对 StrategyQA(Geva 等人,2021)和 GSM8K(Cobbe 等人,2021)的思想链推理的进一步实验也表明,它可以促进更多事实推理。最后,使用 GPT-4 进行开放式聊天机器人评估的实验(Chiang 等人,2023)表明,与原始解码方法相比,DoLa 可以生成信息丰富且更加真实的响应,从而使 GPT4 获得更好的评级。从效率的角度来看,我们发现 DoLa 在解码过程中只造成很小的额外延迟,这表明它是提高 LLM 真实性的实用且有用的解码策略。

2 方法

最近的语言模型由一个嵌入层、N 个堆叠变换层和一个用于预测下一个单词分布的仿射层 φ(·) 组成。给定一个标记序列 {x1, x2,... 。 。 , xt−1},嵌入层首先将标记嵌入到向量序列 H0 = {h(0) 1 , ... 中。 。 。 , h(0) t−1}。然后H0将被每个变压器层依次处理。我们将第 j 层的输出表示为 Hj。然后,词汇头 φ(·) 预测词汇集 X 上下一个标记 xt 的概率,

我们的方法不是在最后一层应用 φ,而是对比高层和低层信息来获得下一个令牌的概率。更具体地说,对于第 j 个早期层,我们还使用 φ(·) 计算下一个令牌概率,如下所示,其中 J ⊂ {0,... 。 。 , N − 1} 是一组候选层,

将语言直接应用于中间层的隐藏状态的想法,称为早期退出(Teerapittayanon 等人,2016;Elbayad 等人,2020;Schuster 等人,2022),已被证明即使没有特殊的训练过程(Kao et al., 2020),因为变压器层中的残余连接(He et al., 2016)使隐藏表示逐渐演化而不会突然变化。为了符号简洁,使用 qj(xt) 表示 qj(xt | x<t),然后我们通过以下方式计算下一个标记的概率:

这里,M层被称为早熟层,而最后一层,即N层,被称为成熟层。算子 F(·,·) 将在 2.3 节中进一步阐述,用于通过计算两个分布之间的对数域差异来对比早期层和成熟层的输出分布。在每个解码步骤中,使用成熟层和 J 中所有候选层之间的分布距离度量 d(·,·)(我们使用 Jensen-Shannon 散度)动态选择成熟层。我们在 2.2 节中更详细地讨论 d(·,·)。选择距离 d(·,·) 最大的层的动机是确保模型在所选层之后会显着改变其输出,从而有更高的机会包含更多早期不存在的事实知识。在它之前的层。

图 2:最后第 32 层和偶数早期层之间的 JSD(按 105 缩放)。列名称是每个步骤中的解码标记。行名称是早期层的索引。 0表示词嵌入层。

2.1 事实知识跨层演化

我们使用 32 层 LLaMA-7B(Touvron 等人,2023)进行初步分析,以激发我们的方法。我们计算早期退出的输出分布 qj(· | x<t) 和最终层输出分布 qN (· | x<t) 之间的 Jensen-Shannon 散度 (JSD),以显示早期退出的输出与最后一层输出。图 2 显示了解码输入问题答案时的 JSD,从中我们可以观察到两种模式。模式 #1 发生在预测重要的名称实体或日期时,例如图 2 中的 Wole Soyinka 和 1986,这需要事实知识。我们观察到计算出的 JSD 在较高层中仍然非常高。这种模式表明模型仍在最后几层中改变其预测,并可能在预测中注入更多事实知识。模式 #2 发生在预测功能词(例如 was、the、to、in)以及从输入问题复制的标记(例如 first尼日利亚人、诺贝尔奖)时。当预测这些“简单”的 token 时,我们可以观察到 JSD 从中间层开始变得非常小。这一发现表明模型已经决定在中间层生成什么令牌,并在较高层中保持输出分布几乎不变。这一发现也与早期现有 LM 的假设一致(Schuster 等人,2022)。附录 A 还显示了可以定量支持这一观察结果的初步分析。

定性地讲,当下一个单词的预测需要事实知识时,LLaMA 似乎会改变更高层的预测。因此,对比突然变化之前/之后的层可能会放大从较高层中出现的知识,并使模型更多地依赖于其实际的内部知识。此外,这种信息的演变似乎因符号而异。我们的方法需要准确地选择包含合理但较少事实信息的过早层,这些信息可能并不总是留在同一早期层。因此,我们提出动态过早后期选择,如图 3 所示。

图 3:动态过早层选择如何工作的图示。

2.2 动态过早层选择

为了放大对比解码的有效性,理想的最佳早熟层应该是与最终层输出最不同的层。为了允许在每个时间步进行动态的过早层选择,我们采用以下方法测量从两层获得的下一个单词分布之间的距离,

其中 JSD(·,·) 是 Jensen-Shannon 散度。然后选择早期层,即第 M 层 (0 ≤ M < N ) 作为早期层子集中具有最大散度的层,

其中 J 是用于过早层选择的一组候选层。对于不同层数的LLaMA模型,我们根据总层数将层分为2到4个J桶,以便集中与一定范围的层进行对比。每个任务的最佳存储桶是使用验证集选择的,如第 3.1 节所述。这种动态层选择策略可以根据令牌难度选择合适的过早层,从而更好地利用不同层学到的知识。

除了动态层选择策略之外,还可以考虑一种非常简单的方法,即通过使用验证集对所有可能的早期层进行强力实验来选择早期层,并选择验证性能最佳的层。我们将这种简单的方法称为 DoLa-static。然而,DoLa-static 具有以下缺点:1)需要在层中运行更多的超参数搜索,2)最佳层对数据分布敏感,因此需要分布内验证集。我们提出的动态层选择策略还通过缩小层搜索空间并使该方法更加稳健而无需严重依赖分布内验证集来减轻 DoLa-static 的缺点。我们在 4.1 节中实证研究了这种动态策略相对于 DoLa-static 的有效性。

2.3 对比预测

考虑到从 2.2 节中获得的早熟层和成熟层,我们的目标是放大成熟层输出,同时淡化早熟层输出。遵循 Li 等人的对比解码方法。 (2022),我们从成熟层的输出中减去成熟层输出的对数概率。然后,我们使用所得分布作为下一个单词预测,如图 1 所示,

图 1:LLM的图示逐步将事实信息逐层纳入其中。虽然“西雅图”的下一个单词概率在不同层中保持相似,但正确答案“奥林匹亚”的概率从较低层到较高层逐渐增加。 DoLa 利用这一事实通过对比层之间的差异来进行解码,以提高 LLM 获得实际正确输出的概率。

与李等人类似。 (2022),子集 Vhead (xt|x<t) ∈ X 被定义为令牌是否具有来自成熟层的足够高的输出概率,

如果成熟层中令牌的预测概率太小,则不太可能是合理的预测,因此我们将令牌概率设置为零以最大限度地减少假阳性和假阴性情况。在 DoLa 的背景下,误报意味着分数极低的不可信令牌在对比后可能会获得高分,因为来自不同层的这些不可信令牌的低概率范围不稳定。假阴性意味着当模型对一个简单的决策非常有信心时,高分标记的输出概率在不同层中变化不大,并且在对比后导致低分,因此我们需要强制模型仍然从这些中进行选择在这种情况下是高分代币。该策略被称为 Li 等人提出的自适应合理性约束(APC)。 (2022)。

重复处罚。 DoLa 的动机是淡化低层语言知识并放大现实世界的事实知识。然而,这可能会导致模型生成语法不正确的段落。根据经验,我们没有观察到这样的问题,但我们发现生成的 DoLa 分布有时更有可能重复先前生成的句子(Xu 等人,2022),特别是在生成长思想链序列期间推理。这里我们包括 Keskar 等人引入的一个简单的重复惩罚。 (2019) 解码期间 θ = 1.2。重复惩罚的实证分析见附录K。

3 实验

3.1 设置

数据集。我们考虑多种选择和开放式生成任务。对于多项选择,我们分别使用 TruthfulQA (Lin et al., 2022) 和 FACTOR (News/Wiki) (Muhlgay et al., 2023) 来评估 LM 在短答案/长段落设置中的真实性。对于开放式生成,我们使用 TruthfulQA(由微调的 GPT-3 评级)(Lin 等人,2022)和涉及思想链推理的任务(Wei 等人,2022b):StrategyQA(Geva 等人) ., 2021)和 GSM8K Cobbe 等人。 (2021)。最后,我们测试了 Vicuna QA(Chiang et al., 2023),它使用 GPT-4 来评估聊天机器人助手的指令跟踪能力。

模型和基线。我们检查了四种大小的 LLaMA 模型(Touvron 等人,2023)(7B、13B、33B、65B),并将它们与三个基线进行比较:1)原始解码(贪婪解码或采样,具体取决于任务),2)对比解码(CD) (Li et al., 2022),其中 LLaMA-7B 充当业余模型,LLaMA-13B/33B/65B 充当专家模型,以及 3) 推理时间干预 (ITI)。 ITI 使用 LLaMA7B 和在 TruthfulQA 上训练的线性分类器。我们的实验重点是对比 DoLa 中的层差异和 CD 中的模型差异,没有额外的技术,例如限制早熟层或业余模型的上下文窗口,以使我们的设置干净。根据之前的研究,我们将自适应合理性约束 (α) 设置为 0.1,将重复惩罚 (θ) 设置为 1.2(Li 等人,2022 年;Keskar 等人,2019 年)。

候选层。在动态过早层选择中,我们将 Transformer 层划分为桶并选择一个桶作为候选层 (J )。对于32层LLaMA-7B,我们使用两个桶:[0, 16), [16, 32);对于40层LLaMA-13B,它们是[0, 20), [20, 40);对于60层LLaMA-33B,三个桶:[0, 20), [20, 40), [40, 60);对于80层LLaMA-65B,有四个桶:[0, 20), [20, 40), [40, 60), [60, 80),其中第0层是词嵌入。此设计将超参数搜索空间限制为仅 2-4 次验证运行。为了提高效率,仅将偶数索引层(第 0、第 2 等)视为候选层。我们使用双重验证(TruthfulQA-MC、FACTOR)或验证集(GSM8K、StrategyQA)来选择最佳存储桶。对于缺乏验证集的 Vicuna QA,我们使用 GSM8K 的最佳存储桶。

3.2 多项选择

简答事实。我们使用 Lin 等人的默认 QA 提示来测试 TruthfulQA。 (2022)和李等人。 (2023)。对于 APC 中的 α,我们将 −∞ 替换为 −1000,以避免破坏 LM 似然得分,这也适用于 FACTOR。似然分数计算不需要重复惩罚。我们使用双重验证来根据 MC3 分数识别最佳的候选层桶。表 1 中的结果显示四种尺寸的 LLaMA 模型的性能显着提高,优于 ITI/CD 并证实了 DoLa 的有效性。唯一的例外是 MC1 上的 LLaMA-33B,这是一个对波动更敏感的“赢者通吃”指标。相比之下,MC2/MC3 是相对更稳定的指标,因为它们将所有正确/错误答案一起考虑并对其进行平均以计算分数。在双重验证中一致选择较高层 - 7B: [16, 32); 13B: [20, 40); 33B: [40, 60); 65B:[60、80)。实现细节以及与第 0 层/所有层对比的额外结果显示在附录 C 中。

表 1:1)多项选择数据集:TruthfulQA 和 FACTOR 和 2)开放式生成任务:TruthfulQA 和思想链 (CoT) 推理任务(包括 StrategyQA (StrQA) 和 GSM8K)的实验结果。 %T*I 代表 TruthfulQA 中的%Truth*Info。

长段的真实性。在 FACTOR 中,每个示例都有一个长段落和四个完成,其中一个是正确的。新闻和 Wiki 子集用作双重验证的两个折叠。表 1 显示 DoLa 的性能优于基线 2-4%,并且比 CD 更有效,Wiki 上的 13B 除外。所选择的候选层始终是 FACTOR 的较低部分:7B 为 [0, 16),13/33/65B 为 [0, 20)。这与 TruthfulQA 不同,TruthfulQA 选择更高的层。我们认为这是由于 TruthfulQA 有简短的事实关键选择,而 FACTOR 有长句子选择。如第 2.1 节所述,与较高层对比对于关键事实效果更好,而与较低层对比可以更好地处理所有标记(如果它们包含许多不需要与较高层进行对比的非事实标记)。

3.3 开放式文本生成

简答事实。在开放式环境中,TruthfulQA 由经过微调的 GPT-3 对真实性和信息性分数进行评级。通过回答“我没有评论”可以轻松获得 100% 的真实分数,但会导致 0% 的信息分数。我们使用 Lin 等人中的默认 QA 提示。 (2022)和李等人。 (2023),遵循第 3.2 节的双重验证结果,具有更高的解码候选层。表 1 显示 DoLa 持续提高真实性分数,将信息性分数保持在 90% 以上,并且“我没有评论”(%Reject) 的比例低于 10%。它将四个模型的总体 (%Truth*Info) 分数提高了 12-17%,达到了依赖于标签监督训练的 ITI 的性能水平。 CD 提高了真实性,但经常拒绝回答,产生“我没有评论”——对于 LLaMA-33B 模型来说,这种情况超过 60%——从而降低了其 %Truth*Info 分数。我们怀疑这是因为 CD 使用 LLaMA-7B 进行对比,而一个很大的区别是 33B 比 7B 更擅长遵循指令,这解释了为什么 CD 经常回答“我没有评论”,因为这个响应在指令提示中指出。我们的方法在最终 %Truth*Info 分数上始终优于 CD。

思维链推理。我们在 StrategyQA 和 GSM8K 上评估了我们的解码策略,这些任务不仅需要事实性,还需要思想链 (CoT) 推理(Wei 等人,2022b)能力才能获得良好的性能。我们随机抽取 10% GSM8K 训练子集作为这两项任务的验证集。最佳层桶,7B 为 [0, 16),13B/33B/65B 为 [0, 20),与 FACTOR 结果一致,表明与较低层进行对比对于推理任务是有效的。

StrategyQA 需要多跳 CoT 推理(Wei 等人,2022b)。在表 1 中,DoLa 将四个模型的准确率提高了 1-4%,而 CD 大多使准确率恶化,这意味着将大型 LM 与具有一定推理能力的 7B LM 进行对比,可能会削弱大型 LM 的推理能力。相比之下,DoLa 通过在缺乏推理能力的较低层中进行对比来提高性能。

GSM8K 是一个数学应用题基准,需要事实知识和算术推理。表 1 显示大多数 LLaMA 尺寸(7B 除外)的精度提高了 2%。这表明,即使需要算术推理,DoLa 对比图层仍然很有帮助。在附录 B 中,我们展示了一项关于使用较小的业余模型改进 CD 的额外研究,该研究仍然落后于 DoLa。

遵循说明。 Vicuna QA(Chiang et al., 2023)使用 GPT-4 来评估开放式聊天机器人遵循指令的能力。根据 GSM8K/FACTOR 的验证结果,我们使用较低层作为所有模型解码的候选层。 GPT-4 评级的成对比较如图 4 所示,显示 DoLa 明显优于基线,尤其是在 13B 和 33B 模型中,这表明 DoLa 即使在开放式聊天机器人场景中也是有效的。定性研究的例子见附录 M。

4 分析

4.1 过早的层选择策略

我们引入了 DoLa 的一个变体,DoLa-static,它选择一个恒定层在整个解码过程中进行对比。我们通过枚举所有层的 DoLa 静态结果,在图 5 中显示了 GSM8K 验证集的一些结果,在附录 H 的图 6 中显示了 FACTOR。

图 5:GSM8K 验证集上的 LLaMA-7B,其中 DoLa/DoLa-static 使用不同的过早层。左:子集#1。右:子集#2。

在图 5(左)中,DoLa-static 通过对比较低层表现更好。一些“最佳”层,例如第 10 层,甚至优于 DoLa。然而,这些最佳层在数据集中是敏感的,如果没有特定于任务的验证集,DoLa-static 的通用性就会降低,而在现实应用程序中可能并不总是可用。例如,当随机采样另一个 10% GSM8K 子集(图 5,右)时,DoLa-static 显示这两个 10% GSM8K 子集的不同最佳层。第 10 层在子集 #1 中最优,而第 2 层在子集 #2 中最优。对子集 #2 使用子集 #1 的最佳层会降低其性能,突出了 DoLa-static 对固定层选择的敏感性。相比之下,具有对比较低层的 DoLa 在两个子集中都保持高分,几乎与性能最佳的 DoLa 静态层相匹配,突出了 DoLa 的鲁棒性。此外,DoLa 简化了超参数搜索空间:它只需要 2-4 个桶测试,几乎比 DoLa-static 中所需的 16-40 个测试少了 10 倍。

在附录 J 中包括对我们的动态层选择策略的最优性的另一项分析。具体来说,我们包括一个随机层选择基线,表明随机选择策略比原始性能更差,d 搜索空间:它只需要 2-4桶测试,比 DoLa-static 中所需的 16-40 次测试少了几乎 10 倍。我们在附录 J 中包含了对动态层选择策略的最优性的另一项分析。具体来说,我们包含了一个随机层选择基线,表明随机选择策略甚至比原始性能更差,这表明应用我们的 JSD-基础层选择策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值