Abstract
大型语言模型(LLMs)以其令人印象深刻的语言理解和生成能力大大推进了自然语言处理(NLP)。然而,由于有限地接触特定领域的知识和词汇,它们的性能对于长尾或特定领域的任务可能不是最优的。此外,大多数最先进的(SOTA)LLM缺乏透明度,只能通过API访问,阻碍了对自定义数据的进一步微调。此外,数据隐私也是一个重要问题。为应对这些挑战,本文提出了新的参数化知识指导(PKG)框架,为LLM配备了一个知识指导模块,可以在运行时访问相关知识,而不改变LLM的参数。我们的PKG基于开源的“白盒”小型语言模型,允许离线存储LLM所需的任何知识。证明了PKG框架可以增强”黑盒” LLM在一系列需要事实、表格、医学和多模态知识的长尾和特定领域的下游任务上的性能。
Introduction
大型语言模型(llm),如GPT3 Brown et all, 2020],在各种NLP任务中表现出令人印象深刻的能力。这些模型通常在广泛的互联网数据上进行训练,从而使它们能够将大量的隐性世界知识吸收到其参数中。因此,llm已经成为多功能工具,在NLP研究和工业应用中有许多应用。例如,它们可以用于机器翻译、文章摘要和推荐系统。凭借其出色的语言理解和生成能力,llm为各种工业应用程序开辟了新的机会,例如最近推出的新的Bing和ChatGPT插件。
尽管llm在一般NLP任务上有令人印象深刻的表现,但在长尾或特定领域任务上可能难以实现最优结果,因为他们对相关知识和词汇的接触有限。虽然llm在预训练期间获得隐性知识,但这些知识对于某些任务可能是有损的或不充分的,从而导致较低的精度和较低的效果。此外,许多SOTA llm被认为是只能通过api访问的“黑盒”模型。这种缺乏透明度使得对大多数研究人员和公司进行微调变得困难和昂贵。此外,有能力进行微调的用户必须将其私人数据提供给LLM所有者,这将使其面临滥用、泄露或其他安全威胁的风险。这些限制阻碍了llm对特定用例或领域的适应性。
![[Pasted image 20230524202439.png]]
最近的研究主要集中在使用基于检索的方法从外部知识库中提取特定领域的知识来提高llm的性能。虽然这种方法显示出了有希望的结果,但它有一些局限性。首先,它严重依赖于外部的知识来源,而这些来源可能并不总是容易获得或获得。此外,这些方法可能难以处理需要集成来自多源或多模态信息的复杂查询。为克服这些限制,本文提出一种称为参数化知识指导(PKG)的新框架,用生成取代检索,如图1所示。PKG模块是一个额外的背景知识生成模块,使llm能够在运行时访问相关信息,而不更新其参数。通过提供必要的知识,增强的llm可以在长尾或特定领域任务上取得更好的性能。
我们的PKG框架基于开源和免费使用的“白盒”小型语言模型,使更广泛的用户可以访问它。为了与给定任务或领域所需的特定知识保持一致,本文提出一种基于指令微调的两步知识对齐方法Ouyang等,2022]。参数化模块可以存储llm所需的任何知识,并且可以高效地离线更新。实验表明,所提出的PKG框架提高了“黑箱”llm在各种需要特定领域背景知识的下游任务上的性能,包括事实知识(FM2,+7.9%)、表格知识(NQ-Table,+11.9%)、医学知识(MedMC-QA,+3.0%)和多模态知识(ScienceQA,+8.1%)。我们的贡献总结如下:
- 本文提出一种新的参数化知识指导(PKG)框架,通过集成一个额外的背景知识生成模块来增强语言模型(LMs)的能力。
- 本文提出一种两步知识对齐方法,将PKG模块与给定任务或领域所需的特定知识对齐。该方法基于指令微调,实现参数化模块的高效离线更新。
- 在各种下游任务上进行了广泛的实验,以评估所提出的PKG框架的有效性。实验结果表明,PKG框架可以提高llm在这些任务上的能力。

2 Related Work
大型语言模型(Large language models)
LLMs,如GPT3、Codex、PaLM和GPT4,因其卓越的语言理解和生成能力而受到广泛关注。然而,当涉及长尾或特定领域任务时,他们的表现可能会受到限制,在这些任务中,他们可能缺乏接触专业知识和词汇。此外,虽然存在一些SOTA llm,如InstructGPT3.5和ChatGPT ,但出于商业考虑,它们只能作为“黑盒”api提供。这限制了资源有限的研究人员和开发人员,他们可能无法访问或修改模型的参数。虽然开源llm如OPT-175B和BLOOM-176B是可用的,但它们在大多数任务上明显落后于SOTA llm。此外,在本地运行和微调这些开放llm需要大量的计算资源。
扩充的大型语言模型(Augmented Large Language Models)
ALLMs是最近NLP中的一个流行主题,旨在通过合并外部模块来增强llm的上下文处理能力。实现这一目标的一种方法是通过使用检索增强的大型语言模型(RLLMs)。rllm通过使用基于检索的方法从知识来源检索相关文档或段落来利用外部知识,如BM25和DPR 。然后将这些检索到的段落用作额外的上下文,以提高llm在手头任务上的性能。尽管rllm在提高llm的性能方面表现出了希望,但它们也有一定的局限性。例如,它们严重依赖外部知识来源,而这些来源可能并不总是容易获得或容易获得。此外,他们可能难以处理需要集成来自多源或多模态信息的复杂查询。
指令微调(Instruction Fine-Tuning)
IFT是NLP中的一种技术,旨在使语言模型与特定的用户意图相一致。虽然许多llm在互联网数据的大型数据集上进行训练,以预测下一个单词,但它们可能没有针对用户要求的特定语言任务进行定制,这意味着这些模型没有天生地与用户的需求保持一致。近期研究强调了IFT作为提高llm可用性的关键技术的潜力。所提出的方法PKG遵循相同的原则,将基本模块与特定任务知识相对齐,以提高其性能。
3 Parametric Knowledge Guiding
在本节中,本文提出一种新的框架,称为参数化知识指导(PKG),旨在增强”黑盒” llm在长尾或特定领域任务上的性能。PKG利用离线参数化知识生成模块,与LLM集成在一起,在运行时提供相关知识,指导其推理。为实现这一目标,首先利用一个小型的开源语言模型来有效地与特定领域的知识对齐,这些知识通常是长尾的,或者在LLM的训练数据中不存在。然后,给定输入的问题或句子,pkg提供相应的背景文档,扩展了llm的输入上下文,使其能够处理更广泛的任务范围。

3.1 Knowledge Alignment of Guider
对于特定任务或领域,我们通过指令微调将Guider模块与相关知识对齐。如图2所示,我们将此过程分为两个步骤。首先,收集目标任务/领域的原始数据作为知识源;然后,我们将数据转换为一组(指令、输入、输出)三元组。该指令作为输入的提示符,并指导模块与预期输出对齐。接下来,采用这组三元组来调整基本PKG模块,优化其为给定任务或领域的llm提供相关和有效指导的能力。此过程使PKG模块能够学习和生成特定领域的知识,并在运行时将其提供给LLMs。指令提示符的一个例子是:
![[Pasted image 20230524200412.png]]
该指令作为提示,指导模型提供与特定领域或任务相关的背景知识。输入是一个提示,提示模型在指定的领域或任务中生成一个句子或回答一个问题。输出是模型根据给定的指令和输入生成的相关知识。为了生成输出,我们以自回归的方式训练基本指导模块,其中模型根据之前的上下文生成输出。一旦训练完成,基本模型就演变为一个参数化的知识引导器,可以根据相应的指令生成特定领域/任务的背景知识。
3.2 Augmented LLMs with PKG
在许多情况下,使用“黑盒”LLMs的标准方法是提供输入的句子/问题作为提示,并要求LLMs使用api返回响应/答案。然而,这种方法对于需要输入内容之外的知识的复杂任务可能不是有效的。为了克服这一限制,一种常见的方法是为llm提供额外的上下文,使它们能够访问与任务相关的更多相关信息。在PKG的情况下,我们用特定领域的背景知识来增强输入,以扩展输入上下文。这些补充信息可以作为llm的指南,使他们能够更深入地了解任务上下文,并可能提高他们生成响应的准确性。一个增强提示符的例子是:
![[Pasted image 20230524200532.png]]
4 Experiment
在本节中,评估了所提出的PKG框架在四种不同类型的知识上的有效性:事实性、表格性、医学和多模态知识。将所提出方法的性能与几个基线方法进行了比较,表1和表2所示的结果表明,PKG比”黑盒” llm取得了显著的改进。这些发现为所提出方法的通用性和有效性提供了令人信服的证据。
4.1 Models Steup
黑盒LLMs(Black-Box LLMs)
我们采用SOTA LLM InstructGPT3.5作为我们的目标“黑盒”通用LLM,使用text-davinic-002版本。该模型具有多达175B的参数,是最大的llm之一,并在大量互联网数据上进行了预训练,表现出了强大的语言理解和生成能力。然而,需要注意的是,与其他“黑盒”llm一样,此模型只能通过API访问,这限制了用户的交互。
基础知识指南(Basic Knowledge Guider)
所提出的知识指导模块采用了开源和流行的基础模型LLaMa-7B 。尽管LLaMa-7B已经在大量文本数据上进行了预训练,并具有广泛的常识世界知识,但它也可能不包含特定领域或长尾知识,在许多任务中的性能可能低于llm。然而,LLaMa-7B可以进行微调和定制,使其成为开发特定任务的参数化知识指南的有效起点,可以以有效的方式用特定任务/特定领域的知识增强llm。
基线(Baselines)
本文的工作包括三种不同类型的比较基线:
(1)无指导的直接生成:在这种方法中,不为给定任务提供任何背景知识,并要求llm按照之前工作的方法。
(2)基于检索指导的生成:遵循先检索再阅读的范式使用BM25 和DPR等检索模型从外部知识源检索相关知识。我们遵循plug方法对特定任务的DPR进行微调。然后,LLMs根据问题和检索到的背景文档的组合生成回答。
(3)参数化知识引导生成:在这种方法中,llm本身作为知识源。首先,llm自己生成相关的背景知识,然后基于问题和自生成的上下文相结合来生成回答。我们包括两种不同的基线方法。第一种方法是CoT Kojima et al.,采用Let ‘s think step .的提示来生成思维链,将其作为背景知识。第二种方法,GenRead Yu et al.,直接要求LLMs提供特定任务的知识,提示“请提供从[领域]到[任务]的背景文档。”
![[Pasted image 20230524200542.png]]
![[Pasted image 20230524201233.png]]
![[Pasted image 20230524202157.png]]
4.2 事实知识(Factual Knowledge)
数据集及实现细节
我们在FM2数据集上评估了所提出的方法,该数据集是事实核查的基准。在这项任务中,给定一个事实声明,我们的模型需要确定它是真还是假。我们将训练集中的声明和相应的证据作为事实知识。此外,我们从英文维基百科中采样了100k篇文章,每个文章由多达256个词例组成。我们将第一个句子作为输入,其余的句子作为背景知识。为了训练我们的PKG,我们将这些数据转换为指令数据,并使用64的批量大小并训练3个epoch。采用准确率作为评价指标。
结果
如表1所示,我们的PKG在事实核查方面优于所有基线系统。与直接生成相比,结果表明,有必要用基于检索或基于生成的方法为llm提供额外的背景知识。PKG比InstructGPT3.5提高了7.9% (67.9% vs. 59.4%),比基于检索的方法REPLUG提高了1.4% (67.3% vs. 65.9%)。值得注意的是,所提出的基于生成的方法不需要额外的知识库作为基于检索的方法。所提PKG的表现比自引导方法GenRead提高了1.8% (67.3% vs. 65.5%),表明所提PKG可以提供比llm本身更有用的信息。
4.3 表格化知识(Tabular Knowledge)
数据集及实现细节
在NQTable数据集上评估了所提出方法的有效性,该数据集是开放域表格问答的基准。数据集由问题组成,其答案可以在维基百科表中找到。我们将训练集中的问题作为输入,相应的表格作为背景知识。我们的PKG经过训练,以遵循指示并生成相关表。在训练过程中,批量大小为32,模型用10个epoch进行训练。采用精确匹配作为评价指标。
结果
表1展示了我们的PKG框架相对于所有基线系统在表格化知识相关任务上的优越性能。值得注意的是,PKG比InstructGPT3.5高出11.9% (28.8% vs. 16.9%),比基于检索的方法REPLUG高出4.5% (28.8% vs. 24.3%)。PKG显著优于自指导方法GenRead 5.3% (28.8% vs. 23.5%)。这些结果证明了所提出方法在利用参数化知识来增强llm以完成表格式知识相关任务方面的有效性和优越性。
4.4 医学知识(Medical Knowledge)
数据集及实现细节
在MedMC-QA数据集上评估了所提出方法的有效性,该数据集是多主题多选择医疗问答的基准。每个问题都需要使用相关的医学信息作为背景知识来提供正确的答案。我们使用训练集中的问题作为输入,相应的医学解释作为背景知识。我们的PKG经过培训,可以遵循指导并生成相关的医学背景。以32个批次大小和3个epoch调整模型,以准确性作为评估指标。与之前将维基百科的所有段落作为知识库的任务不同,我们不能访问外部的医学知识库,因此没有评估基于检索的方法在该任务上的性能。
结果
我们的PKG框架在这个与医学知识相关的任务上也优于所有的基线系统,如表1所示。PKG比InstructGPT3.5提高了3.0% (47.4% vs. 44.4%)。值得注意的是,基准自引导方法CoT和GenRead并没有提高llm的性能。这可能是由于llm缺乏足够的医学信息来有效解决这一任务。
4.5 多模态知识(Multimodal Knowledge)
数据集及实现细节
该方法在ScienceQA数据集上进行了评估,该数据集提出了一个具有挑战性的多模态多项选择问答任务,涵盖了不同的科学主题。每个问题都需要利用相关的科学背景知识来提供正确的答案。我们使用训练集的问题作为输入,其相应的科学讲座作为背景知识。为了处理任务的多模态方面,我们用CLIP-ViT 模型来扩充我们的基础知识模块LLaMa,以提取视觉特征,然后在LLaMa的每一层中使用简单的单头交叉注意力机制将其与文本特征融合:
![[Pasted image 20230524202028.png]]
由于该任务涉及到整合多种模式的信息,难以获取外部的多模态科学知识库,因此没有考虑基于检索的方法。为了便于对我们的方法进行公平的比较,我们包含了两个额外的基于gpt-3.5-turbo模型的基线系统。第一个基线是ChatGPT直接生成,第二个基线是Chameleon模型,它利用了几个外部工具,如搜索、OCR和图像描述模型。根据OpenAI的说法,gpt-3.5-turbo模型比text-davinic-002.3更有能力。
结果
表2显示,我们的PKG框架显著提高了LLMs在多模态科学知识相关任务上的性能。平均准确率提高了9.1% (80.76% vs. 71.66%),证明了所提方法的有效性。相比之下,CoT(-1.44%)和GenRead(+0.42%)等指导方法难以提升llm的性能。尽管使用了较弱的llm, PKG框架的性能平均比基于gpt-3.5-turbo的模型提高了2.45% (80.76% vs. 78.31%)。
4.6 分析
LLMs尺度
图3说明了我们的PKG框架对不同“黑盒”语言模型的影响,包括text-ada-001、text-babbage-001、text-curie-001和text-davinci-002。结果表明,该方法的有效性取决于语言模型的大小,较大的语言模型比较小的语言模型从pkg中获益更多。例如,在图3b中,不管有没有pkg中的背景知识,小型语言模型在表格任务上的精确匹配分数几乎为零,而llm则表现出明显更好的性能。在图3c中,0.3B和1.3B LMs在医疗领域任务上的性能几乎相同。6.7B LM开始受益于MedMC-QA任务的额外知识。这可以归因于较小的语言模型的语言理解能力较弱,即使从pkg中获得相关知识,它们也很难对上下文进行推理并生成正确的响应。这些观察结果与Wei等人讨论的llm的涌现能力一致。因此,llm的规模是性能良好的一个重要因素。
比较不同的基本pkg
本文对使用各种类型和规模的小型语言模型作为基本知识指导模块的有效性进行了调查。由于LLaMa7B是lama -家族中最小的模型,我们在opt -家族上进行了实验,opt -家族是另一个与lama结构类似的开源大规模语言模型。如表3所示,我们发现较大的基本pkg往往可以获得更好的性能。例如,将参数数量从13 b增加到27 b,可以使FM2上的性能提高1.4%,NQ_Table上的性能提高1.4%,MedMC-QA上的性能提高0.5%,ScienceQA上的性能提高2.5%,这与比例定律一致。然而,与表1和表2中的性能相比,我们发现当参数数量小于2.7B时,基于opt的pkg并不能提高llm的性能,甚至可能产生负面影响。此外,尽管OPT与LLaMa的大小相似,但LLaMa的性能明显优于OPT。
5 结论
本文提出了新的参数化知识指导(PKG)框架,以提高”黑盒” llm在特定领域和长尾任务上的性能。PKG引入了一个知识指导模块,可以在不改变LLMs参数的情况下在运行时提供相关的特定领域知识。这使llm能够处理各种需要专业知识的下游任务。该框架通过两个步骤将基本PKG模块与特定领域知识进行对齐。实验结果证明了PKG框架在广泛任务上的有效性。