一、结论写在前面
当大型语言模型通过监督微调对齐时,它们可能会遇到在预训练过程中未获得的新事实信息。人们常常猜测,这可能会教会模型产生事实不正确的响应的幻觉行为,因为模型被训练生成的事实并不是基于其先前存在的知识。论文研究了通过微调将新的事实知识集成到模型中对其产生幻觉倾向的影响。论文首先提出了SliCK,即关于LLM知识的分类。然后,论文设计了一个受控研究,在其中论文隔离了新知识的影响并严格评估了其效果。论文提供了关于微调动态的多个见解,以下是论文的关键发现:
(1)通过监督微调获取新知识与关于预先存在的知识的幻觉相关联。
(2)LLM在通过微调整合新知识方面遇到困难,并且主要学习使用其预先存在的知识。
论文的实验是在单一的LLM上进行的,因此不清楚结果是否会因不同的LLM而异。尽管如此,论文的研究在计算上非常繁重,因此在多个LLM上复制具有挑战性:首先,论文的微调在计算上很繁重,因为论文的运行非常长,因为论文想要分析微调不同阶段的行为(包括过拟合阶段)。其次,最重要的是,为了促进论文的研究,论文需要根据SliCK类别对大规模数据集进行标注。为了得出可靠的结论,准确评估模型关于单个微调示例的知识是至关重要的。在论文的案例中,论文为每个示例运行了170次推理步骤,即为了对论文的完整数据集进行分类,论文运行了超过1500万次推理步骤。
此外,由于论文专注于闭卷问答,论文的研究如过滤未知微调示例的实际含义仍然需要在涉及长文本生成的设置中进行验证。为了过滤掉在长文本生成任务中引入新事实知识的示例,需要对SliCK进行调整,并找到一种有效的方法来比较采样答案与地面实况,以近似PCorrect。论文将此留待未来的工作。长文本生成任务引入了评估挑战,导致基于LLM的评估广泛采用。论文明确专注于闭卷问答的选择,促进了更准确的评估,增强了论文的发现的可靠性。
二、论文的简单介绍
2.1 论文的背景
在文本语料库上预训练大型语言模型(LLMs)将大量事实知识嵌入到其参数中,这对于在各种下游应用中表现出色至关重要。这些模型通常需要进一步对齐以实现所需的行为,这通常通过监督微调实现,例如在遵循指令的任务上和从人类反馈中学习偏好。
图1:微调持续时间与训练和开发准确性的函数关系,当在50%已知和50%未知示例上进行微调时。未知示例比已知示例适应得慢得多。在LLM适应大多数已知训练示例但只有少数未知示例时,获得最佳开发性能。从这一点开始,适应未知示例会降低性能
在微调阶段,模型通常被训练以输出由人类注释者或其他LLM创建的输出。因此,模型可能会遇到新的、超出其在预训练期间获得的知识的事实信息。这就提出了LLMs如何整合其先前存在知识之外的新事实的问题。一种可能性是模型只是通过学习这些新的事实信息来适应。然而,一个常见的猜测认为,接触新知识可能会鼓励模型产生事实不正确的响应的幻觉,因为模型本质上是被训练生成并非基于其先前存在知识的事实。
论文探讨了通过微调学习新事实如何影响模型关于其先前存在知识的幻觉倾向,探索上述猜测。
为了研究新知识的影响,论文必须能够评估单个微调示例是否与模型的知识一致。论文提出了SliCK,一个由四个知识类别组成的层次结构,源自于量化模型生成答案与真实标签之间一致性的连续度量。在SliCK中,示例首先被分类为已知和未知类型,后者对应于包含模型最可能不知道的事实的示例。已知示例随后被细分为三个类别:高度已知、可能已知和弱已知(图2)。
图3:微调数据集D中未知示例的百分比与测试性能的关系。在(a)中,每条线对应不同的(固定)历元数,除了EARLY_STOP,它对应于使用开发集的早期停止(见§4)。在(b)中,论文展示了§4.2的消融研究。实线对应于在D上进行微调,并且与(a)相同。虚线对应于在过滤掉未知示例的DKnown变体上进行微调。对于0%未知,D = DKnown,对于100%未知,没有DKnown
2.2 未知示例有多有害?
在本节中,论文研究微调数据集D中新知识对性能的影响。为了隔离这种影响,论文改变D中未知示例的比例,同时控制其他因素。具体来说,论文固定|D|并创建D的变体,其中X%是未知的,(100 - X)%是已知的示例(详细信息见§E)。论文将已知类别集体处理(见图2a),并在§5中提供每个类别的分析。论文将基于开发集的早期停止表示为EARLY_STOP(发生在5-10个历元之后),并将50个微调历元表示为CONVERGENCE,因为在这一点上,M总是完全适应D(即100%的训练准确率)。论文通过测试性能作为幻觉的代理,因为论文处于一个封闭的书籍QA设置中,训练/测试分割不重叠,模型必须使用其现有的知识来回答测试问题(见§B进一步讨论)。
5在ENTITYQUESTIONS中,论文有24%的HighlyKnown,23%的MaybeKnown,17%的WeaklyKnown,以及36%的未知。每个关系的完整统计数据见§D。
2.2.1 未知比例越高,性能下降越严重
图3a展示了不同微调持续时间下,D中未知示例的百分比与性能的关系。更高的%未知导致性能下降,无论微调持续时间如何,这表明未知示例比已知示例的用处小。
性能也受到微调持续时间的强烈影响,通常EARLY_STOP会产生最佳性能。训练更多的epoch通常会降低性能(在CONVERGENCE时观察到最低性能),这可以归因于过拟合D。有趣的是,这种效应随着更大的%Unknown(从EARLY_STOP开始的行间距沿正x轴呈现单调增加)而增加,表明更高的%Unknown增加了过拟合的风险。
2.2.2 未知示例:有害还是中性?
由于|D|是固定的,对于更高的%Unknown性能下降可能仅仅源于已知微调示例数量的减少。因此,未知示例是有害还是中性仍然不清楚。为了解决这个问题,论文测量了从D中过滤掉所有未知示例的影响。对于每个D的变体,论文创建了一个相应的简化变体DKnown,仅由D中的已知示例组成。。
图3b展示了结果。也许令人惊讶的是,对于EARLY_STOP,D的结果几乎与DKnown相同,表明未知示例对性能的影响是中性的(因为它们的移除几乎没有影响)。相反,CONVERGENCE的结果显示,随着训练时间的延长,未知示例实际上非常有害。在这种情况下,D的表现不如DKnown,它们之间的差距与未知比例成正比。有趣的是,对于DKnown,EARLY_STOP和CONVERGENCE之间的差距非常小(虚线),而对于D(实线),这个差距非常大。这表明未知示例的存在使得具有更高未知比例的变体更容易过拟合。
2.2.3 未知示例比已知示例适应得更慢
论文展示了未知示例是有害的,但它们的负面效应主要在训练后期实现,因此可以通过早期停止来避免。为了更好地理解这些趋势,论文通过检查在各种微调阶段D中的哪些微调示例被M适应来分析训练动态。图1展示了作为微调持续函数的D的已知和未知子集的训练准确性。开发准确性在底部的放大图中展示,因为它落在一个更窄的范围内。
M适应未知微调示例的速度明显慢于已知示例。在EARLY_STOP(垂直虚线),M在开发集上达到峰值性能,同时适应了大多数已知示例,但只有一小部分未知示例。在图4中,论文展示了这种行为在论文所有的D变体中是一致的。这可以解释为什么在EARLY_STOP中未知示例对性能的影响是中性的,因为在这一点上M还没有适应大多数未知示例。最后,由于未知示例很可能是引入新事实知识的那些,它们显著的适应速度表明LLMs在通过微调获取新事实知识方面存在困难,相反,它们学会了使用已知示例来展示其预先存在的知识。
2.2.4 未知与已知对准确性的影响:线性模型的视角
图1表明,在开发性能在EARLY_STOP(垂直虚线)达到峰值后,随着M逐渐适应更多的未知示例,性能会恶化。在本节中,论文旨在更准确地描述这种关系,通过评估一个简单的线性依赖是否可以将适应已知和未知训练示例对测试准确性的影响联系起来。为此,论文使用以下线性回归模型。
论文通过从所有D变体上微调的模型中收集每个epoch后的(Accuracy, NKn, NUnk)值来估计系数6。表1展示了结果(第一行)。高R2表明测试准确性和适应的训练示例类型之间存在强烈的线性关系。
2.2.5 对新关系的泛化
在上面的设置中,测试集中的(q, a)对对应于D中出现的相同12个关系的元组。论文现在探讨论文的观察动态是否对模型的知识有更广泛的影响,并且是否转移到D中未出现的关系上。为了测试这一点,论文保留了一部分关系用于分布外(OOD)测试集,将其排除在训练和开发分割之外。
论文在OOD测试集上的结果揭示了类似的要点:(1) 更高的未知比率导致更低的OOD测试性能,以及(2) 未知示例对OOD性能有害,但主要是在M拟合它们时。OOD测试准确性的线性模型(方程式(1))显示了类似的趋势。
论文的见解转移到了关系之间。这实质上表明,在未知示例(如“[E1]位于哪里?”)上进行微调,可能会鼓励对看似不相关的提问(如“谁创立了[E2]?”)产生幻觉。这进一步支持了这样的结论:观察到的效果可能源于模型学习了生成不基于其预先存在知识的答案的行为。
2.3 理解知识类型:它们的价值和影响
在解决论文对未知微调示例影响的主要研究问题时,论文为了简单起见将已知类别集体对待(见图2a)。论文现在检查每个类别的影响,探讨以下问题:
Q1:每个类别的训练示例如何影响测试性能?
Q2:模型在每个类别的测试示例上的性能如何?
为了解决Q1,论文创建了微调数据集D的单类别变体。D的变体仅由类别CAT的示例组成,表示为DCAT。作为参考,论文包括了ENTITYQUESTIONS中自然类别分布的变体,表示为DNatural。|D|是固定的,与论文§4中的实验相同。为了解决Q2,论文进一步按类别分解测试集性能。表2展示了结果。
MaybeKnown示例是至关重要的。由于未知示例有害,人们可能会期望最好在最具代表性的HighlyKnown示例上进行微调。令人惊讶的是,DHighlyKnown并没有获得最佳的整体结果,因为它在HighlyKnown测试示例上表现出色,但在其余类别上的性能较差。DMaybeKnown产生了最佳的整体性能。与DHighlyKnown相比,DMaybeKnown提高了MD在MaybeKnown上的性能(60.1→69.9),而没有损害在HighlyKnown上的性能(98.7 →98.4)。这表明MaybeKnown微调示例对于MD在推理期间正确处理此类示例至关重要。它还表明,使用正确的微调示例,MD能够更有效地利用其预先存在的知识。
有限的知识增强了过拟合。在§4.2中,论文证明了未知微调示例增加了过拟合的风险。论文现在观察到,这也适用于WeaklyKnown,尽管程度较小。具体来说,在CONVERGENCE时,DWeaklyKnown和DUnknown与EARLY_STOP相比经历了显著的性能下降(39.2 →35.4和37.5 →25.8)。随着训练时间的延长,这些变体在WeaklyKnown和Unknown上显示出适度的改进,然而,它们在HighlyKnown和MaybeKnown上显著退化。这强调了性能下降在很大程度上归因于与M在预训练后已经知道的事实相关的幻觉率增加。
综上所述,这些结果表明DMaybeKnown在顶级性能和降低过拟合风险方面表现突出。
2.4 SliCK知识分类分析
评估模型的知识水平仍然是一个开放的问题,特别是由于缺乏关于模型真正知道什么的真实情况,评估这些方法的质量是具有挑战性的。在这项工作中,论文提出了SliCK:一个关于模型知识的四个分类的事实。论文现在进一步分析和讨论论文的设计选择,希望SliCK可以作为一个有用的分类法来指导未来在这个主题上的研究。
细粒度的已知分类:论文首先反思将已知分类进一步细分为更细粒度的类别是否证明是有意义的,这些类别基于贪婪解码的结果。如表2所示,HighlyKnown确实捕获了具有高度知识的事实,因为在微调后,它的准确率始终超过95%,而MaybeKnown和WeaklyKnown似乎代表了较弱的知识水平。如预期的那样,WeaklyKnown的表现在MaybeKnown上更差,但在Unknown上更好。此外,论文做出的确切类别区分被证明是有用的,因为它揭示了MaybeKnown微调示例的重要性。
基准未知测试示例:对于被分类为Unknown的(q, a)对,如果它们出现在测试集中,期望的属性是M在微调后会错误地回答q(否则它们不是真正的Unknown)。在表2中,论文可以看到Unknown的准确率极低(3.2%或更低),这是一个强烈的指标,表明大多数Unknown示例实际上对M是未知的。
图5:SliCK未知分类与将P(True) < T的示例分类为Unknown的比较。x轴是分类为Unknown的测试示例的百分比,y轴是这些示例在微调后的准确率。黄色线是T ∈[0, 1]的P(True)。论文的Unknown类别是蓝色圆圈,蓝色线对应于使用少于10个随机4-shot样本近似PCorrect
作为一个比较案例研究,论文分析了Kadavath等人的P(True)方法(2022):一个估计模型对特定答案正确性的概率的连续分数。P(True)最初用于自我评估模型生成的答案,而论文使用它来评估M是否认为真实答案是正确的。在图5中,论文探索将低于P(True)阈值的示例分类为Unknown,并将这种方法与SliCK进行比较。
论文的结果表明,至少在论文的设置中,论文的方法将微调后模型性能显著更差的Unknown示例进行了分类。具体来说,查看x轴上的固定值显示,如果论文使用两种方法将相似比例的测试示例标记为Unknown,则P(True)基础的Unknown示例在微调后的准确率会高得多。最后,蓝色线显示使用来自多个few-shot提示的样本来近似PCorrect是至关重要的,因为使用Nex < 10会导致SliCK Unknown示例的测试准确率更高。
论文标题:Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations
论文链接: