谷歌研究员最新论文:微调 LLMs 的新知识会导致幻觉吗?

在自然语言处理领域,大语言模型(LLMs)凭借其预训练阶段积累的丰富知识,已成为诸多下游任务的基石。然而,当这些模型通过监督式微调适应特定任务时,它们可能会遇到预训练未曾覆盖的新事实信息。这一过程是否会导致模型产生“幻觉”——即输出与事实不符的响应?来自以色列理工学院和谷歌研究院的研究团队在论文《微调 LLMs 的新知识会导致幻觉吗?》中,就这一问题进行了深入探讨。

5fbc51edc40451f0ee77b054d0168b9c.png

论文名称: Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?

论文链接: https://arxiv.org/pdf/2405.05904

引言:预训练与微调的双刃剑

研究开篇即指出,预训练为 LLMs 嵌入了大量的事实性知识,这对于它们在问答、文本生成等任务中的出色表现至关重要。但为了更好地适配特定应用场景,往往需要通过微调来调整模型行为。而这一过程中引入的新知识,可能成为一把双刃剑。以往研究表明,微调过程中引入新知识可能使模型生成不准确的响应,因为模型被训练生成不基于其现有知识的事实。

研究方法:SliCK 分类法与控制实验设计

为了系统地评估新知识对模型的影响,研究团队首先提出了一种名为 SliCK 的知识分类框架。该框架将示例首先分为已知和未知两类,其中未知类别对应于模型可能不知道的事实。已知示例进一步细分为高度已知、可能已知和弱已知。因此,每个问题-答案对依据模型对其的了解程度分为四个类别:高度已知(HighlyKnown)、或许已知(MaybeKnown)、弱已知(WeaklyKnown)以及未知(Unknown)。这为后续的分析提供了一个量化的基础。

249c4353224b2e2ca49c545a4950347b.png

随着微调持续时间的增长,当微调在 50% 已知和 50% 未知示例上时,训练和开发准确率的变化。未知示例的学习速度明显慢于已知示例。最佳开发性能是在 LLM 适应了大多数已知训练示例但只学习了少数未知示例时获得的。从这个点开始,适应未知示例会降低性能。在微调阶段,模型通常被训练在人类标注者或其他 LLM 生成的输出上。因此,模型可能会遇到超出其预训练知识范围的新事实信息。

这引发了关于 LLM 如何整合新事实的问题。一种可能性是模型简单地通过学习这些新事实信息进行适应。然而,一个常见的假设是,这种接触新知识可能会促使模型产生错误的事实回答,因为模型本质上被训练生成不基于其预训练知识的事实。

随后,团队设计了封闭式问答(closed-book QA)场景下的控制实验,通过调整不同比例的未知知识样本来观察模型表现。实验不仅考察了新知识的学习速度,还关注了其对模型产生幻觉倾向的影响。

详细实验

研究者首先使用了一个预训练的语言模型(LLM)M,并通过在一个微调数据集 D 上对 M 进行微调来获得模型 MD。为了研究 D 中的新知识对 MD 的性能的影响,研究者设计了一个控制实验,创建了不同比例的 D 变体,其中包含 M 不熟悉的示例。

在构建 D 时,研究者的目标是反映对多样的知识密集型任务进行指导微调的情况,同时保持对实验设置的控制。因此,研究者专注于可以转化为闭书问答格式的事实知识,这些知识可以被结构化为(主语,关系,客体)三元组。研究者使用了 ENTITYQUESTIONS 数据集,该数据集将来自 Wikidata 的各种关系的三元组转化为问答对。这些关系涵盖了广泛的事实知识。

ed807bfc55815e609a118a5babfbf8c9.png

上图是随着微调数据集 D 中未知样例的百分比变化。在 (a) 中,每条线对应一个固定的训练轮数,除了 EARLY_STOP,它代表使用开发集的早期停止。(b) 展示了消融实验的情况。实线表示在 D 上进行微调,与 (a) 相同。虚线表示在消融变体 DKnown 上进行微调,其中未知样例被过滤掉了。对于 0% 未知的情况,D = DKnown ,而 100% 未知时没有 DKnown。

通过对 D 进行微调,研究者研究了 MD 在不同知识水平的问题上的性能。通过评估 MD 在这些问题上的回答准确性,研究者研究了 MD 在微调后对新知识的掌握程度。

研究者还讨论了使用监督微调来更新 LLMs 知识的风险,并提出了一些实际应用的问题和解决方案。他们发现,通过微调获得新知识与对先前知识的幻觉有关,如使用早停止策略以减少过拟合风险,或通过过滤未知示例来降低过拟合风险而不影响性能。

研究者还提出了一种过滤未知示例的方法,以减少过拟合的风险,同时不影响性能:

  • 通过定义未知类别,即模型从未能正确预测问题答案的(q, a)对,以此过滤未知示例。

  • 将已知示例分为高度已知、可能已知和弱已知三个类别,以便更好地理解模型的知识状态。

  • 通过将数据集中未知示例的比例控制在一定范围内,研究了未知示例对性能的影响,发现未知示例比例增加会增加过拟合风险。

此外,研究者还探讨了在微调过程中重新标记未知示例的可能性,并发现使用不确定性表达重新标记未知示例可以减少其对模型性能的负面影响。

不确定样本的危害性有多大?

未知样本在微调大型语言模型时带来的危害程度是分阶段且复杂的。首先,研究发现,随着微调数据集中未知比例的增加,模型的性能会随之下降,说明未知样本不如已知样本那样有益于模型学习。这一点在不同微调周期长度下均成立,且模型在训练时间较长的情况下(达到收敛阶段 CONVERGENCE)表现得更为明显,这与过拟合风险的上升趋势一致。简而言之,未知样本多,模型越容易过拟合训练数据,从而在未知数据上的泛化能力减弱。

然而,一个出乎意料的结果是,在采用早期停止策略(EARLY_STOP)时,即使数据集中含有未知样本,模型的表现与全部为已知样本时几乎相同。这意味着,在训练早期阶段,未知样本对模型性能没有明显的负面影响。只有当模型继续训练至完全拟合数据集(包括那些未知的样本)时,未知样本才开始显著拖累模型性能,增加了其产生幻觉(即错误答案)的倾向。

进一步的分析显示,未知样本的拟合速度慢于已知样本。在早期停止阶段,模型尽管在大多数已知样例上取得了较好的学习效果,但对未知样例的掌握却很有限。这解释了为何在早期停止策略下,未知样例看起来对模型性能没有影响,因为它们还没来得及被模型错误地学习并影响输出。

总结来说,未知样本在微调过程中的确有害,但这种危害主要在微调的后期显现,通过早期停止可以避免大部分负面效果。模型对于新知识的吸收速度较慢,而且一旦学习了错误或不一致的信息,就会显著增加其产生幻觉的风险。因此,在设计微调策略时,需要谨慎考虑数据集的构成,以减少未知信息的负面影响,并优化模型的泛化能力。

理解知识类型:它们的价值和影响

在研究中,研究者深入探讨了微调过程中引入新知识对大型语言模型(LLMs)的影响,特别是如何影响它们的知识利用和潜在的幻觉产生。通过精心设计的实验,发现以下几个关键点:

  • 1. 可能已知(MaybeKnown)样本的重要性:尽管直觉上可能认为,仅微调高度已知(HighlyKnown)样本可以提升模型性能,实验证明,加入可能已知样本对于模型的全面性能至关重要。这类样本帮助模型在推理时更好地处理那些不确定性较高的事实,表明了微调数据多样性对于模型性能的积极影响。

  • 2. 过拟合风险:未知(Unknown)和弱知(WeaklyKnown)样本在微调过程中容易导致过拟合现象,尤其是在训练后期。这不仅降低了模型在这些特定类别上的性能,还影响了其在高度知和可能知类别上的表现,显示出新知识的不当整合可能对模型已有知识的利用产生负面影响。

  • 3. SliCK 知识分类系统的有效性:文中提出的知识分类框架 SliCK(根据模型对事实的了解程度将其分为四个类别)在实践中被证明是有用的。它不仅帮助我们更细致地理解了不同知识类型的训练样本如何影响模型性能,还揭示了可能已知样本在平衡知识学习与过拟合风险方面的独特价值。

  • 4. 未知样例的精确分类:对测试集中未知样例的正确分类(即模型无法正确回答的问题)验证了 SliCK 分类系统的准确性,强调了模型未知信息的界定是准确评估其知识边界的关键。

  • 5. 实际应用与未来方向:研究突出了通过微调向 LLMs 引入新知识所伴随的风险,特别是在与现有知识的一致性和幻觉生成方面。提出了几个值得未来研究的问题,包括探索不确定性表达作为减轻未知样例负面影响的手段,以及如何在微调实践中更有效地利用模型的预训练知识,同时最小化过拟合风险。

综上所述,虽然 LLMs 主要通过预训练获取知识,但微调过程不仅限于学习风格或格式,而是对模型如何利用其知识有深远的影响。正确选择微调数据,特别是可能已知样本的包含,对于优化模型性能和减少过拟合至关重要。未来的研究可以进一步探索如何更精细地管理微调数据,以促进知识的有效更新,同时维护模型的可靠性。

结论

结论部分总结了研究的主要发现和限制。该研究主要探讨了通过微调过程向大型语言模型(LLMs)引入新事实知识如何影响模型产生幻觉的能力。研究团队提出了一个新的分类框架——SliCK,用来评估模型对不同知识类别的掌握情况,然后设计了一组控制实验,旨在严格评估新知识引入对模型性能的影响。研究的关键发现指出,模型在微调过程中学习新知识的同时,与之相关的幻觉现象也会增加;并且模型在整合新知识方面显得较为困难,更多是学会如何更高效地运用其预训练阶段已有的知识

研究的局限性体现在几个方面:

  • 首先,实验仅基于单一的 LLM 模型,故不确定这些发现是否普遍适用于所有类型的 LLM

  • 其次,由于研究的计算需求极高,涉及到长时间的微调过程和对大规模数据集的细致注释,这使得在其他模型上重复该实验变得极具挑战。

  • 此外,尽管研究集中在封闭式问答环境,其结论在长文本生成等更复杂应用场景中的适用性仍有待验证。

  • 研究团队还承认,未探索在微调数据集中混入来自不同任务的更多样例可能带来的影响,这在实际的微调实践中是常见的,但可能以目前研究无法预料的方式影响模型对知识的处理。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值