论文翻译:ICML-2023 Physics of Language Models: Part 3.1, Knowledge Storage and Extraction

Physics of Language Models: Part 3.1, Knowledge Storage and Extraction
https://arxiv.org/pdf/2309.14316

语言模型的物理学:第3.1部分,知识存储与提取

摘要

大型语言模型(LLMs)能够存储大量的世界知识,通常可以通过问答(例如,“亚伯拉罕·林肯的生日是什么时候?”)来提取。然而,它们回答这类问题是基于在训练期间接触到类似问题(即,作弊),还是通过真正学习从像维基百科这样的来源提取知识?
在本文中,我们使用一个受控的传记数据集来调查这个问题。我们发现模型提取知识的能力与训练数据的各种多样性度量之间存在强烈的相关性。本质上,为了可靠地提取知识,它必须在预训练期间得到充分的增强(例如,通过改写、句子洗牌)。如果没有这种增强,知识可能会被记忆,但无法提取,导致无论随后的指令微调如何,准确率都是0%
为了理解为什么会发生这种情况,我们采用(几乎是)线性探测来展示观察到的相关性与模型内部编码知识的方式之间的强烈联系——无论是在线性地编码在实体名称的隐藏嵌入中,还是分布在训练文本中其他标记嵌入中。
本文为工业界LLM预训练提供了几个关键建议:(1)重写预训练数据——使用小型辅助模型——以提供知识增强,以及(2)在预训练阶段纳入更多的指令微调数据,以免为时已晚

1 引言

知识对于人类认知和交流至关重要,使我们能够理解和利用信息。对人类来说,这通常涉及记忆,即在大脑中存储和检索信息的过程。例如,在阅读了亚伯拉罕·林肯的传记后,我们可以记住这些信息,并在之后回答“林肯在哪里出生?”或“林肯的生日是什么时候?”等问题。记忆使我们能够从我们阅读或听到的句子中提取和操作知识,识别文本中表达的实体、关系和事实,并应用逻辑和因果推理来推断新信息或回答问题[2, 4, 10, 37]。
在本文中,我们探讨了基于变换器的语言模型在训练期间如何记忆知识,并在推理期间提取它。这与上下文学习或RAG[19]不同,在推理期间模型被给定一个段落,并立即回答有关它的问题。我们关注的是一个语言模型需要从训练语料库中记忆的事实知识(例如,知识图谱),将其编码到其权重中,并在推理期间稍后提取。
我们强调,记忆训练数据中的所有句子并不能确保模型在推理期间能够提取或操作句子中的事实知识。语言模型可以在推理期间复制确切的输入,但这并不一定意味着它们可以使用这些句子来回答与它们相关的事实问题。因此,我们区分了语言模型中的“知识记忆”和机器学习中的传统记忆,后者仅仅意味着模型可以拟合确切的训练数据,但并不意味着模型在训练后可以灵活地从数据中提取知识
例如,如果训练数据包括林肯的传记,模型可以在给定提示“亚伯拉罕·林肯出生于”时记忆并复制句子“亚伯拉罕·林肯出生于肯塔基州的霍奇维尔”,但它可能无法回答“亚伯拉罕·林肯出生于哪个城市?”这个问题。因此,一个关键问题是:
语言模型如何在训练期间记忆知识,并在之后提取它来回答推理期间的问题或进行逻辑推理?
之前的研究表明,通过探测模型来回答与不同实体和属性相关的问题,语言模型可以“记忆”很多知识,参见[25, 30, 32]及其引用。然而,这些研究使用的是训练在互联网数据上的模型,这使得不清楚模型是通过从林肯的传记中提取知识(我们的关注点)来回答像“亚伯拉罕·林肯出生于哪个城市?”这样的问题,还是在训练期间遇到了类似(或相同!)的问题并简单地记住了答案(传统记忆)。
鉴于使用互联网数据进行受控实验的挑战,我们提出使用受控的、合成生成的数据来研究这个问题,1检查模型的数学属性,这些属性特征化了它们的知识表示和提取。我们构建了一个包含100k个传记的合成数据集,包括他们的生日、出生地、主修等。
我们还使用LLaMA[34]来重写它们,使它们接近真实的传记风格。我们对所有100k人的传记数据集进行语言模型的预训练。我们问:2
在对传记数据集进行预训练后,模型能否被微调来回答像“[name]的出生地在哪里”这样的问题,如果可以,模型是如何实现的?

在对整个传记进行预训练后,我们使用来自p部分个体的问题和答案(QA)对进行微调。然后我们测试它在分布外回答剩余1-p部分的QA的能力。这种方法确保了模型(1)接触到足够的数据来理解QA,并且(2)在训练期间没有遇到相同的问题。本文的结构如下:

  1. 在深入研究预训练-微调过程之前,在第3节中,我们首先展示了对所有传记以及p部分个体的QA进行预训练,使模型能够(应用知识来)回答有关剩余1-p部分的问题。我们称这个过程为混合训练。我们在混合训练中观察到,模型首先使用QA来编码有关p部分的知识,然后将这种编码的知识与传记相关联,以推断对剩余1-p部分的泛化。这种学习过程偏离了典型的人类学习,并且在实际的LLM预训练中也较少使用。3
  2. 在第4节中,我们只对传记进行预训练,然后对p部分个体的QA进行微调。我们观察到,模型在回答有关剩余1-p部分的问题上存在困难,无论模型大小、预训练时间或微调参数如何。然而,通过改变写作风格或句子洗牌等知识增强,准确性显著提高。即使这种增强只应用于一部分个体,我们称之为名人,其他人的测试准确性也显著提高。名人数据的仅仅包含在预训练中就增强了模型对少数群体的知识提取。我们研究的一个关键贡献是建立了预训练数据中的知识增强与模型在微调后改进的知识提取能力之间的这种强联系。
  3. 在第5节中,作为另一个主要贡献,我们使用(几乎是)线性探测技术来展示知识增强推动模型几乎在线性地将个人的知识编码在模型的隐藏嵌入中的人名标记中。如果没有增强,模型会将个人的知识编码在所有传记单词/标记中,使得无论如何微调,知识提取几乎是不可能的。总之:
    预训练数据中没有知识增强 ⇐⇒ 属性没有完全存储在人名上
    当模型记忆预训练数据时
    ⇐⇒ 无法通过指令微调提取知识
    预训练数据中增强了知识 ⇐⇒ 属性几乎完全存储在人名上
    ⇐⇒ 可以通过指令微调提取知识
  4. 在附录6中,我们展示了类似于BERT的仅编码器模型,无论是混合训练还是预训练然后微调,都不能在微调后提取个人的知识,无论知识增强如何,除非知识是一个单词或多个但独立的单词(如出生月份、日和年份)。

实际意义。我们的受控研究为工业规模的LLM训练提供了关键建议:
• 我们强调预训练数据重写(增强)的重要性,特别是对于罕见但关键的数据。在微调期间解决这个问题通常为时已晚。没有重写,模型可能逐字准确地背诵知识数据,但它将这些知识嵌入到其权重中的方式可能会阻碍在不同提示下的检索,导致模型容量的完全浪费。

==像LLaMA-7B这样的工具甚至更小的辅助模型对于这个重写任务来说是足够的。这些“重写模型”不需要自己拥有知识。==正如所展示的,简单的句子级洗牌或翻译已经可以提高性能。通常,我们建议在使用这些重写模型时包含鼓励句子洗牌的提示。数据重写是一种数据增强形式,但也与传统方法(例如,dropout、遮蔽、裁剪、抖动、翻转)及其相关的蒸馏技术(如对比学习)不同。虽然传统增强促进了可泛化特征的学习而不是纯粹的记忆,但数据重写——我们称之为知识增强——帮助语言模型以更易于下游任务访问的格式记忆知识。没有这种增强,即使是最简单的知识提取任务的准确性也可能接近零。
• 我们还展示了在预训练期间包含更多指令微调数据的优势。我们的混合训练实验表明,将所有类似QA的数据推迟到微调阶段是次优的。在预训练早期引入类似QA的数据可以使模型更有效地编码知识。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值