大语言模型(LLMs)在自然语言处理(NLP)领域取得了显著的进步,为广泛的应用提供了一种非常有用的、与任务无关的基础。然而,直接应用 LLMs 去解决特定领域的复杂问题会遇到许多障碍,这些障碍源于领域数据的异质性、领域知识的复杂性、领域目标的独特性以及约束的多样性(例如不同的社会规范、伦理标准、宗教信仰等)。领域专业化是让 LLMs 在许多应用中实际投入使用的关键甚至是前提。因此,随着 LLMs 开始应用在越来越多的领域中的,领域专业化的技术在近期获得了加速发展和关注,而一份全面且系统的回顾能更好地总结和引导这一领域的持续工作。
在这篇文章中,我们提供了关于大型语言模型领域专业化技术的全面概览,这是大型语言模型应用的一个关键的新兴方向。
- 首先,我们提出了一个系统的分类法,根据对 LLMs 的访问性将 LLMs 的领域专业化技术进行分类,并总结了所有子类别的框架以及它们之间的关系和差异。
- 其次,我们讨论了一系列可以从 LLMs 专业化中获得巨大利益的关键应用领域,并讨论了它们的实际意义和开放性挑战。
- 最后,我们提供了对这个领域当前研究状态和未来趋势的洞察。如更详细的内容请参考原文。
图片
文章地址:https://arxiv.org/abs/2305.18703
大语言模型的背景及挑战
基于自注意力机制和 Transformer 框架的预训练语言模型(PLMs)在过去几年出现并迅速得到普及。PLMs 能够以无监督的方式从大规模数据中学习通用语言表征,可以在不用重新训练新模型的情况下帮助到许多下游的 NLP 任务。随着硬件能力的快速增长,研究人员发现增大 PLMs 的参数和训练数据规模可以带来更大的性能提升。这类大规模的预训练语言模型被称为大语言模型(LLMs),如 GPT-3(175 billion),LLaMA(65 billion),和 PaLM(540 billion)。LLMs 在理解和生成自然语言方面展现出极高的水平,为诸多特定领域(如法律,教育,公共医疗)提供了基础任务的处理方案。
然而,对于很多领域的特定任务和问题,直接使用预训练的 LLMs 会遇到许多难题。首先,不同领域的任务和语言风格有显著差异,像医药处方到法律法案。获取这些能力和经验甚至需要人类多年的培训,而且大部分是专业化的实践操作。此外,不同领域、机构和团队有自己的 “业务模式”,一个没有定制的通用 LLM 也不能直接替代领域专家。更重要的是,专业级别的使用也需要非常深入、实时且准确的领域知识,这些都不是预训练的 LLMs 能轻易做到的。许多领域知识资源是组织的专有资产和核心竞争力,这些是永远不可能泄露给通用 LLMs 的。最后,语言受社会规范、宗教信仰、法律要求和道德实践的约束,所有这些都是在不同的地区、人口、种族等变化的参数,使得通用 LLMs 无法成为一个一体适应所有情况的解决方案。以上难题都导致了 “将 LLMs 专业化到不同领域” 的强大需求和必然趋势。
将通用 LLMs 专业化到不同领域需要结合领域知识来理解上下文语意,通过领域特定任务目标优化,并受到领域约束的调节。更具体来说,将通用 LLMs 专业化面临着以下挑战:
保持 LLMs 与最新知识同步:LLMs 的力量主要归功于它们庞大的训练语料库。然而,这也表明 LLMs 往往存在知识断层(即,LLMs 无法获取最新的信息、事件或发现)。在许多专业领域,新的发现、规定和最佳实践结果持续出现,而通常离线的 LLMs 难以处理这些不在自身语料库的信息。
在一个 LLM 中应用不同领域的专业知识:LLMs 默认具有广泛主题的通用知识,并可能已经看到并获得了大部分领域的特定知识。然而,更受欢迎的主题可能被过度表示,而某些特定领域的主题可能被低估,这使得它们难以被有效地提取用于特定领域的任务。此外,领域特定的任务通常涉及复杂的概念、专业术语和不同实体之间的复杂关系。没有适当的指导,LLMs 可能会生成听起来合理但实际有误的回答(hallucination)。
模型复杂性与微调所需的大量计算资源:为了更好地适应特定领域的应用,微调历来是专门化语言模型的常用方法。然而,微调 LLM 需要大量的高质量、领域特定的数据以进行有效的微调。此外,微调 LLMs 的海量计算资源也是不可忽视的一大难题。
领域专业化技术
图 1:将 LLMs 专门化到不同领域任务的方法分类。
主要技术概要和关系
为了解决上文中提到的领域专业化的挑战 1、2 和 3,LLM 领域专业化的方法可以被分类为三种对应的方法:外部增强(External Augmentation)、提示语制作(Prompt Crafting)和模型微调(Model Fine-tuning),如图 1 所示。这些类别对应于对 LLM 的不同访问级别,即无访问权限(黑箱 Black-Box)、部分访问权限(灰箱 Grey-Box)和全访问权限(白箱 White-Box)。我们进一步在图 2 对每类方法进行了概述。首先,Black-Box 类方法通常只能访问 LLMs 的 API,不知道任何模型和训练信息,只知道生成的输出。这类方法不一定需要访问 LLM 的内部参数空间,使其对资源有限的用户(例如,计算资源、领域特定数据)十分友好。如图 2(b)所示,通过使用外部资源或工具,将领域特定的知识纳入 LLM 的输入,生成的输出或两者,来有效地调整 LLM 的性能,而不改变其内部结构。Grey-Box 表示我们有限的信息(例如,GPT-3 API 中生成 token 的概率),这些信息可以指导我们设计一个合适的 prompt 以更好地引出领域知识(图 2.c);而 White-Box 表示我们可以完全访问 LLM(例如,完全开源的大语言模型 LLaMA 及其变体),包括参数设置、训练数据和完整的模型架构。这类方法要求最多的访问和资源,因为它涉及更新 LLM 的参数,将领域特定知识直接纳入模型中(图 2.d)。
图 2:为特定领域任务定制 LLM 的不同方法。
不同类别方法之间的关系
- 不同级别的专业化:每种方法在不同级别的专业化(即,Black-Box、Grey-Box 和 White-Box)上进行操作。例如用 External Augmentation 提供了领域特定信息的集中注入,而 Prompt Crafting 在 LLM 输入级别上进行操作,塑造模型的推断过程。Model Fine-tuning 修改 LLM 的内部参数,导致模型行为产生更深刻的变化。
- 权衡:这些方法不同在计算成本、实施的简易性和泛化能力方面。用 External Augmentation 和 Prompt Crafting 通常比 LLMs 的 Model Fine-tuning 计算成本低,但可能无法获得相同级别的性能改进。Model Fine-tuning 可以提供更大的性能提升,但可能更难实现,如果出现过拟合,可能会降低泛化能力。
- 互补性:这三种方法可以独立使用,也可以组合使用,以在领域特定的任务上实现更好的性能。例如,可以将 External Augmentation 与 LLM Model Fine-tuning 集成,以利用专业知识和优化参数。同样,精心设计的 Prompt 可以与 Model Fine-tuning 一起使用,以指导模型的输出,同时利用新学到的领域特定知识。
主要技术详述
外部增强 – External Augmentation
External Augmentation 旨在通过从外部源检索或调用领域特定信息来增强 LLMs,而无需微调模型参数。主要有两个类别:(1)领域知识增强(Domain Knowledge Augmentation),其中 LLMs 从外部知识源获得领域特定的上下文,和(2)领域工具增强(Domain Tool Augmentation),将 LLMs 与外部系统或工具集成,通常通过 APIs。
Domain Knowledge Augmentation 通过外部信息补充模型的响应,而 Domain Tool Augmentation 则扩展了模型对其无法执行的任务的能力。领域知识增强了特定领域内的深度和准确性,而领域工具则使模型能够执行超出其固有能力的任务。本节讨论了这两种方法,它们的局限性和优势。
Domain Knowledge Augmentation:领域知识广义上是对特定领域或主题区域的全面理解。它包括对特定领域特有的概念、原则、事实和模式的理解。知识可以以各种形式表示,包括一组文档、特定领域的知识图或包含参数领域知识的神经网络。Domain Knowledge Augmentation 在 LLM 专业化中指的是通过结合领域知识的附加信息来丰富 LLM 在特定领域的性能的过程。如图 3 所示,在一个问答任务中,我们可以在外部数据库或知识图谱中检索与问题相关的领域知识,然后把这些知识结合到原问题中以达到让 LLMs 更清楚相关问题的目的。通常有两类外部知识可以帮助 LLMs 在其领域专业化:显式知识指的是明确定义、易于表达并以可以直接理解和利用的方式结构化的知识;而隐式知识指的是未直接陈述或不易表达的知识,但它嵌入在数据或系统中,通常以潜在、非显而易见的形式存在。
图 3: 通过检索和问题相关领域信息,LLM 可以得到领域相关知识来更好的作出回答。
Domain Tool Augmentation:领域工具指的是专门为特定领域开发的专用软件、库或框架。例如,用于基因组问题回答的 API,用于数学证明的自动形式定理证明器,用于社会行为模拟的沙盒环境等。这些工具被设计用来有效处理领域特定的任务、数据或知识,它们常常结合了针对该领域独特要求的算法、技术或数据结构。然而,使用这些领域工具常常需要严格遵守输入格式或大量训练,这使得它们对一般用户的可访问性较低。另一方面,LLMs 表现出在广泛任务和领域智能以及认知能力中的人工通用智能模型。尽管它们具有多功能性,但当前的 LLMs 在需要领域专业化的任务中受到限制。这些限制包括:(1) 根据随机种子、生成超参数和输入内容,结果格式可能不稳定;(2) 无法获取最新信息的能力,因为 LLMs 只能从其训练数据中获取信息;(3) 研究人员观察到倾向于制造事实的趋势;(4) 在某些任务(如算术)中缺乏精度。因此,研究者们提出了一种协作集成方法,以克服仅使用领域工具或 LLMs 处理复杂领域特定任务的限制。这种方法结合了两者的优势,利用工具的领域特定知识、算法和功能,同时通过 LLMs 提供用户友好的界面。这种协作优化了领域特定资源的使用,并通过允许 LLMs 直接指导外部工具(如图 4),简化了用户参与。
图 4: LLM 不直接解答用户的问题,而是把问题转化为 Python 代码调用外部程序求解。
提示语制作 – Prompt Crafting
虽然在大规模语料库上训练的 LLMs 很强大,但在 Prompt 上进行进一步的预训练可以增强它们遵循用户意图并生成更准确回应的能力。Prompt,或者是为了引出特定模型回应而设计的任务特定输入文本,有助于引导 LLMs 的内容生成过程,并设定期望的输出。
方法通常分为两类:(1)离散提示(Discrete Prompt)涉及创建任务特定的自然语言指令来提示 LLMs,从它们的参数空间中引出领域特定的知识;(2)连续提示(Continuous Prompt)使用可学习的向量来提示 LLMs,消除了手动设计文本指令的需要。本节深入讨论了这两种方法以及领域专业化的优点和限制。
Discrete Prompt:允许 LLMs 通过 Discrete Prompt 去快速适应未见过的领域,GPT-3 是首个介绍如何使用 LLM 通过 Discrete Prompt 执行未见过的任务,而不更新 LLM 的内部参数的工作。我们在下面给出了 Discrete Prompt 框架的正式定义。给定一个 LLM其中表示预训练的模型参数,任务是通过一个 Discrete Prompt和一个测试问句 (testing query),即 在冻结 的情况下从 LLM 中引出期望的输出。值得注意的是,, 𝑝和𝒄都是表征序列(即,自然语言句子)。使用 Discrete Prompt 的理由是,它们可以作为引出 LLM 的推理能力的指令。通过遵循这样的指令,LLM 可以执行它们没有被专门训练的领域特定任务。这种方法允许 LLMs 展示他们将先前学习的知识应用于新的和多样化情况的能力,从而提高他们的整体有效性和实用性。值得一提的是,Discrete Prompt 可以被进一步分成两个分支:零样本提示(Zero-shot Prompt)只允许 Prompt包含任务信息;而少样本提示 (Few-shot Prompt) 允许 Prompt 包括任务描述和一些说明性的例子。我们在原文深入讨论了这两种方法在领域专业化的优点和限制。
Continuous Prompt:Continuous Prompt 是一个拟与输入句子相连的标记序列,用额外的知识指导 LLM,但可以通过 Continuous Prompt 的调整(Tuning)从下游数据集中学习。在这种情况下,Continuous Prompt 作为一种软参数化的 Prompt,而不是作为离散语言短语的硬编码指令。Continuous Prompt Tuning 是为了优化 Prompt,使 LLM 适应定制的任务或领域,同时保持 LLM 的一般语言理解能力。图 5 总结了 Continuous Prompt Tuning 的一般框架。在这里,我们可以只更新与 Prompt 有关的参数,这些参数的数量大约只占 LLM 参数总数的 0.01%,而在微调阶段冻结 LLM 本身。连续提示优化可以被进一步分为两类:(1) 任务依赖型提示优化(Task-dependent Prompt Tuning)和 (2) 实例依赖型提示优化(Instance-dependent Prompt Tuning)。Continuous Prompt Tuning 提供了一种参数高效、完全可控的调整方法,使大规模预训练语言模型能够更定制化地适应。
图 5: Continuous Prompt Tuning 的一般框架:火图标模块可以被调整,冰图标
模型微调 – Model Finetuning
尽管 LLMs 在广泛的通用文本数据上接受了训练,但它们可能未能对特定任务或领域的知识进行充分的编码。在这种情况下,对模型在较小的领域特定数据集上进行微调可以增强其在特定区域内的性能。这种微调可以分为两种主要方法:(1)基于适配器的微调(Adapter-based Fine-tuning)和(2)面向任务的微调(Task-oriented Fine-tuning)。这两种方法通过不同程度的更新 LLMs 模型参数以适应特定的任务或领域,提供了处理专业应用的灵活性和效率。
图 6: 基于特定领域知识对 LLM 进行微调的两种方法,其中蓝色矩形表示 LLM 的参数集。(a) Adapter-based Fine-tuning 旨在通过少量的额外参数(即 Adapter - 适配器)对特定领域的 LLM 进行微调;以及 (b) Task-oriented Fine-tuning 旨在根据具体的任务对 LLM 总体参数进行微调。
Adapter-based Fine-tuning:如图 6 (a) 所示,这种方法采用神经适配器(Neural Adapter)或模块化组件来增强 LLMs 在领域特定任务上的性能,而不对 LLMs 的内部参数进行大的修改。这些 Adapters 通常集成到现有的 LLM 架构中,允许进行任务特定的学习以指导语言模型适应目标领域或任务,同时保持原始模型的完整性。为模型增加额外模块的优点包括:(1) 参数数量少且简单;(2) 可扩展到原始的语言模型;(3) 在每个特定领域的序贯训练上具有灵活性。大部分具有上述优点的策略都是基于 Adapter 的,属于参数高效微调的范畴。常用的适配器类型有:参数化的普通 Adapter,具有神经网络结构的 Adapter,低秩适配器(low-rank Adapter),和一个集合的适配器框架(Adapter Framework)。
Task-oriented Fine-tuning:从根本上提高模型性能,超越少量任务信息和辅助 Adapter,仍然需要在大量高质量的特定领域数据集上更新 LLMs 的内部参数。然而,对 LLM 进行特定任务的微调会带来两个挑战:1) 更新 LLM 的全局知识可能会因过度拟合、灾难性遗忘和任务特定偏差等原因破坏其情境学习能力。2) 由于参数空间大且模型架构深度高,LLM Model Fine-tuning 在计算上成本很高。现如今更新 LLMs 内部参数主要可分为两个领域:基于指令的微调(Instruction-based Fine-tuning)和部分知识更新(Partial Knowledge Update),以分别应对这两个挑战。如图 6 (b) 所示,该方法侧重于修改 LLM 的内部参数以提高与特定任务的对齐度。然而,完全更新 LLM 的所有参数可能因硬件限制和潜在的性能下降而不切实际。因此,研究人员面临的挑战在于确定在广阔的参数空间中需要修改哪些参数,或者有效地更新这些参数的一个子集。
领域专业化的应用,挑战,以及未来研究方向
在这篇综述文章中,我们探讨了 LLMs 在一系列领域特定任务中的应用,这些领域包括社会科学(例如,教育,金融,法律),自然科学(例如,生物医学,地球科学),以及形式科学(例如,人机交互,软件工程,和网络安全)。为了在这些多样化领域中实现 LLMs 的领域专业化,读者可以采用各种技术,如外部增强,指导制定,以及模型微调。这些方法可以帮助将 LLMs 定制到每个领域的特定任务和挑战中,从而实现更准确、更相关和更有效的应用。虽然每个领域都有其独特的挑战和要求,但这些领域中都共享了一些专业化 LLMs 的通用应用如(1)从领域特定的文本中识别实体、关系和事件,比如识别生物医学文献中的基因,或者检测合同中的法律条款;(2)它们可以生成高质量的领域特定内容,并创建复杂领域特定文本的准确摘要;(3)它们可以分析领域特定的数据以进行预测和提供推荐,比如预测金融趋势或建议个性化的医疗治疗方案;(4)它们可以基于自然语言描述生成或分析代码,识别错误,或者建议改进。
领域专门化的特殊挑战
在探索了当前大型语言模型领域专业化的方法后,必须承认,尽管这个领域已经取得了重大进展,但仍存在一些开放的挑战。这些挑战进入到所有类别的模型中,不论它们的可访问性或用于专业化的具体技术如何。当我们努力创建可以有效理解和生成领域特定内容的 LLMs 时,正是这些挑战将决定这个领域研究的未来走向。
- 领域复杂性:每个领域都有其独特且复杂的特性,如专业词汇、术语及知识结构。如法律或医学领域,其语言及术语十分特定,遵循一定的语法规则。这种复杂性扩展到领域内不同实体和概念之间的关系。准确地理解和建模这种错综复杂的领域知识对所有类型的模型都是一个重大的挑战。
- 平衡一般知识和领域知识:LLM 在需要理解特定领域特点的同时,也需要保持其一般知识以提供上下文适当的响应。如果一个模型过度专业化,它可能在目标领域内表现出色,但无法理解或生成与该领域外的提示相关的连贯响应。相反,保留太多的一般知识可能会稀释领域特定的响应。在一般知识和领域知识之间寻找平衡是一项复杂的任务。
- 适应领域演化:领域并不是静态的;随着新术语、概念和趋势的出现,它们会随着时间的推移而演化。例如,正在进行的 COVID-19 大流行引入了一系列新的医学术语和概念。因此,专门针对某一领域的 LLM 必须不断适应这些变化以保持相关性和有效性。设计能够跟上其专业领域不断演变的模型是一项具有挑战性的任务。
- 可扩展性:领域专业化通常涉及使用领域特定数据对 LLM 进行训练或微调,编制特定提示,或使用其他领域特定资源。虽然这对一些领域来说可能是可行的,但将这个过程扩展到覆盖广泛的领域,或处理大型、复杂的领域是一个重大的挑战。它不仅涉及到计算资源,还涉及到领域特定数据和专业知识的可用性。挑战在于创建能够扩展到覆盖许多不同领域的领域专业化的有效和有效的方法。
未来研究方向
当我们在绘制大型语言模型专业化的前沿时,不仅需要构建并改进现有的黑箱、灰箱和白箱方法,还需要预见并探索有可能超越这些传统方法的创新和开创性的技术。利用 AI 技术的快速发展和对 LLMs 的深入理解,我们可以设想到未来会出现新的技术,推动领域专业化可能的边界,提供更高的性能,更大的灵活性,以及资源的更高效利用。以下是一些关键的方向:
- 混合方法:这可能涉及根据阶段或特定需求组合多种方法。例如,一个模型可能以黑箱方法开始,利用外部资源来增强 input Prompt,然后进一步利用梯度或损失值来改进提示的灰箱方法,最后采用 White-Box 方法根据已学习的策略和反馈来对模型进行微调。这种混合方法可以平衡资源需求和模型性能,并且在处理稀缺领域特定数据时可能特别有效。
- 元学习或 AutoML 技术:AutoML 或元学习策略可以用来自动化选择领域专业化的最佳策略的过程。例如,一个元学习方法可能会学习一种策略来选择微调的最佳数据,最佳的提示工程技术,或者对于给定领域来说最佳的微调层次,这都是基于以前对类似领域的经验。从而大大减少领域专业化所需的资源和专业知识,并可能导致更有效的方法。
- 加入更明确的世界知识:未来的 LLMs 可能不仅依赖于基于文本的预训练,而是利用结构化的知识源,如知识图谱,来增强它们对领域的理解。这可能涉及操作图结构数据的图神经网络或注意力机制等技术。例如,一个医学 LLM 可以从医学本体图谱中获得知识,以更好地理解各种医学术语和概念之间的关系。在那些可以获得明确结构化知识的领域,这可能会导致输出更准确和更具信息性。
- 人在循环中的学习:这涉及从人类用户或专家那里进行持续的互动和反馈,以指导模型的学习过程。例如,一个法律 LLM 可以根据使用模型的法律专业人员的反馈进行持续的更新。这种反馈可以以额外的训练数据的形式加入,或者作为强化学习框架中模型的奖励函数的改变,或者对模型的提示进行修改。这可能会导致一个更动态、更适应的模型,可以随着用户的需求和知识的进步而进化。
小结
LLMs 的快速发展已经引发了在各种自然和社科领域利用其潜力来解决领域特定任务的重大兴趣。然而,一些挑战,如有限的领域特定专业知识,知识诱导和模型复杂性,阻碍了在这些领域直接应用 LLMs。这篇综述系统地分类和总结了现有的领域专业化技术,这些技术基于对 LLMs 的访问级别,同时提供了一个全面的概述,说明哪些应用领域可以从专业化的 LLMs 中受益。通过提供不同技术和领域的优点、缺点和关系的详细分析,这篇综述旨在帮助领域专家识别适合他们目标问题设置的技术,并提供了对各种应用领域实际意义和开放挑战的清晰理解。此外,本文强调了这个领域的研究现状,阐明了未来的趋势和跨学科合作的可能途径。