摘要ChatGPT等基于基础模型的产品在人类语言理解方面的出色表现,促使学术界和工业界探索如何将这些模型定制化应用于特定行业和应用场景。此过程被称为领域特定基础模型的定制化,旨在解决通用模型的局限性,因为通用模型可能无法完全捕捉领域特定数据的独特模式和需求。尽管这一过程至关重要,但目前关于构建领域特定基础模型的全面综述性论文却非常少见,而关于通用模型的资源则非常丰富。为填补这一空白,本文提供了一个及时且深入的领域特定基础模型定制方法的综述。我们介绍了基本概念,概述了通用架构,并对构建领域特定模型的关键方法进行了梳理。此外,本文讨论了可以从这些专用模型中受益的各类领域,并指出了未来面临的挑战。通过这一综述,我们希望为来自不同领域的研究人员和实践者开发定制化基础模型提供有价值的指导和参考。
关键词: 人工智能;领域特定基础模型;多模态基础模型;预训练基础模型;微调
ChatGPT凭借其出色的表现重新定义了人们对人工智能的理解。作为其核心技术的大型语言模型(LLM)已经成为各个领域的研究人员和从业者改进工作流程的重要工具。通用基础模型通常是在大型公共数据集上进行训练,能够学习并解决广泛的常见问题。然而,这些数据集并不能完全涵盖某些特定领域的所有专业知识和技术细节。因此,尽管通用基础模型具备广泛的通用知识,但它们缺乏足够的深度来满足某些特定领域的复杂需求[1]。因此,构建针对特定行业需求的领域特定基础模型变得尤为重要。领域特定基础模型,也被称为行业特定基础模型,是基于特定领域的数据和应用开发的。与通用基础模型相比,它们通过大量领域特定数据进行训练,使其能够更准确地理解和生成领域内的专业内容。
随着类似ChatGPT产品的普及,“基础模型”的范围逐渐扩展。因此,有必要首先明确本文讨论的基础模型的定义,以为后续领域特定基础模型定制化的讨论奠定基础。本文提到的基础模型是由至少一个通用多模态基础模型的五个模块中的一个组成的神经网络模型(后文将详细说明)。这些模型还具有以下特征:
根据基础模型能够处理的模态数量,它们可以分为单模态基础模型和多模态基础模型,如表1所示。
在构建领域特定基础模型的过程中,会遇到一系列挑战,尤其是在数据获取和预处理阶段。例如,所需的领域特定数据可能不是开源的或容易获取的,因为这些数据通常具有高度的保密性。此外,领域特定数据的模态可能与训练通用基础模型所用的数据模态不同,使得现有模型难以适应处理这些数据。此外,领域特定数据的收集环境可能与预训练数据集的环境显著不同,导致预训练模型不熟悉领域特定知识。 总的来说,构建领域特定基础模型是一项具有挑战性且成本高昂的任务,涉及到重要的技术安全问题,但预计会带来巨大的经济效益。因此,有必要全面审查并探索构建这些模型的方法,为研究人员和从业者提供指导。 值得注意的是,之前的综述文章主要集中在通用基础模型的发展上。尽管最近一些综述文章开始探索基础模型的领域特定适配,但在文献中,缺乏对适用于各种模态基础模型的适配策略的全面探讨,这些策略不仅限于语言、视觉或任何单一模态,还涉及到多个应用领域。我们在表2中总结了关于基础模型的代表性调查或综述文章。本文旨在为有兴趣构建领域特定基础模型应用的研究人员和从业者提供方法论参考,并讨论实际案例和未来的研究方向。
本节将详细介绍定制领域特定基础模型的基础技术。我们首先介绍基础模型的架构,详细说明所有功能模块。然后从四个角度——特征提取、模态对齐、扩展法则和新兴现象——解释支持每个模块在基础模型中实现高性能的基础技术。
根据当前关于基础模型的前沿研究,广泛认为多模态基础模型能够涵盖单模态基础模型的所有功能和结构。实质上,单模态基础模型只实现了多模态基础模型功能的一部分。本文提出的五模块框架有效地涵盖了以语言为中心模态的多模态基础模型架构。然而,随着非语言基础模型的出现,包括视觉基础模型[13,14]、图基础模型[28,29]、时间序列基础模型和时空基础模型[32,33],基础模型的骨干结构正在超越语言模态。因此,我们提出多模态基础模型的结构可以分为以下五个模块:模态编码器、输入投影器、骨干计算器、输出投影器和模态解码器。图1展示了以语言为中心模态的多模态基础模型框架。 对于多模态基础模型,我们将所有输入模态的集合定义为M。通常,多模态基础模型有一个中心模态C。通过模态对齐技术,多模态基础模型将其能够处理的所有模态投影到该中心模态上。下文我们定义多模态基础模型的五个模块及其输入输出数据,奠定了描述基础模型架构的基础。
根据上述定义,构建领域特定基础模型涉及选择必要的模块——其中一些模块可能是可选的——并组装一个符合特定领域需求的模型,随后用该领域相关的数据对其进行训练。
特征提取是从原始数据中提取代表性特征的过程。在机器学习,尤其是深度学习领域,特征提取是至关重要的一步。原始数据通常包含大量冗余和噪声信息,特征提取通过将数据映射到一个信息密集的特征空间,使模型能够更有效地理解数据结构和模式。 在深度学习中,神经网络可以从原始数据中执行端到端的特征提取。然而,这种方式通常需要大量的数据和计算资源才能确保良好的性能和泛化能力。神经网络的每一层将上一层的输出转换为新的向量空间,这种结构允许灵活地定义每层的输出维度,而无需明确指定转换方式。利用这些有利特性,自动编码器通过最小化输入向量与重构向量之间的重构误差来学习有效的数据表示。自动编码器首先将输入数据压缩为低维特征向量,然后通过解码器将其投影回原始数据空间,如图2所示。
单模态基础模型的工作流程中,架构不包括输入投影器和输出投影器,这反映了不需要进行跨模态数据处理的情况。相反,多模态基础模型必须适应处理各种模态数据,包括主要模态和辅助模态。为了通过输入投影器和输出投影器实现模态之间的数据转换,关键是应用模态对齐技术。模态对齐的目标是通过使用损失函数来表征特征向量之间的相关性,将不同模态的特征向量处理为具有相同维度的公共特征空间。理想情况下,模态对齐应确保携带相同语义信息的不同模态的原始数据在目标特征空间中表示为同一个点,从而实现跨模态信息的传递。
本节深入探讨了定制领域特定基础模型的技术路径。我们将详细解释如何根据不同领域的具体需求,灵活选择和组合五个关键组件中的适当模块——模态编码器、输入投影器、骨干计算器、输出投影器和模态解码器。此外,我们还将分析具体案例,帮助读者更好地理解和应用本节讨论的方法。 我们可以将领域特定基础模型的定制分为三个层次,从低到高依次为(即对通用基础模型或预训练模块的依赖性从高到低):
表3总结了这三种领域特定基础模型定制化方法的特征。
通用基础模型具备广泛的能力,使其适用于多种任务场景。当通用基础模型能够完全处理所需的数据模态时,模型开发者无需对其底层架构进行修改,而是可以专注于实现领域特定的增强。 根据领域特定增强是否需要改变基础模型的参数,我们可以将其进一步分为两类:即插即用的领域特定增强和基于微调的领域特定增强。表4分类并总结了基于全架构通用基础模型的领域特定增强方法。
通用基础模型的通用性、泛化能力和推理能力使其能够作为领域特定模型的基础。为了实现即插即用的领域增强而不修改基础模型的参数,有两种方法可以使用:利用现有知识或嵌入新知识。第一种方法旨在利用通用基础模型中已经存储的领域知识,如图5(a)所示。第二种方法通过引入领域特定的知识使基础模型能够处理领域任务,进一步分为通过提示嵌入知识和通过外部知识库嵌入知识。这些方法分别在图5(b)和(c)中展示。以下部分将详细解释这些技术。
调用现有知识进行领域增强:在训练过程中,通用基础模型可能已经包含领域知识。提示调优通过优化提示词(prompts)来更好地调用模型固有的领域知识,"调优" 指的是对提示词的优化。具体来说,它是在输入数据中插入精心设计的提示作为上下文,以改善生成的输出。这些精心设计的提示可以是自然语言描述、示例、规则或其他文本或嵌入向量,指导模型理解任务需求。在生成输出时,模型将考虑这些提示,产生与任务相关的结果。提示调优可以分为硬提示和软提示:(a) 硬提示:硬提示方法是自然语言处理(NLP)中的常见技术。它们使用可解释且可复用的手工设计词语和符号来引导语言模型的输出。硬提示通常是为特定任务手动设计的,难以修改。PET(模式利用训练)[62] 是一种经典的硬提示学习方法,它将问题建模为完形填空任务,并优化最终输出词。该方法在少量监督数据上训练模型,并对无监督数据进行集成预测以指导模型。(b) 软提示:设计硬提示需要实验探索和专业知识,且手工设计的提示可能无法与模型的数据处理方式良好对接。为了简化这一过程并提高提示调优的灵活性,研究人员提出了基于软提示的调优方法。Prefix Tuning [63] 是一种软提示调优形式,它通过向输入序列的开头添加可学习的前缀向量(软提示)来适应特定的下游任务。这些前缀向量作为输入的一部分,指导模型输出以满足任务需求。Prefix Tuning 的优势在于它只更新这些前缀向量,而不是模型的参数,显著减少了计算和存储资源的需求,同时保留了预训练模型所学到的丰富知识。基于Prefix Tuning,研究人员引入了P-tuning方法[64]。P-tuning用可学习的软提示替代了固定或手动设计的词语和符号。其核心思想是将提示视为模型的一部分,可以通过训练学习,使模型不仅能响应给定的任务,还能生成最优提示。这些软提示通常是一系列嵌入向量,与实际文本输入一起进行处理。通过端到端训练,模型自动学习调整这些嵌入向量以更好地完成任务。P-tuning 结合了Prefix Tuning的参数效率和传统硬提示调优的灵活性。软提示为模型提供了更多生成答案的自由,可能会产生更多样化的输出,但也增加了生成不准确或不相关回应的风险。
知识嵌入进行领域增强:当通用基础模型的现有知识不足以解决领域任务时,通过嵌入额外的背景信息来引入新知识可以提高输出质量。这种方法被称为知识嵌入进行领域增强。(a) 通过提示嵌入知识:提示作为用户与大型语言模型之间的直接接口,可用于融入领域知识。然而,使用提示嵌入知识的方法有一个显著的限制:嵌入的领域知识量受到模型最大提示长度的限制。Transformer架构的三个核心问题导致模型难以处理较长的文本输入:
位置编码的限制:Transformer模型通常使用正弦和余弦函数生成固定长度的位置编码,每个序列中的位置都有唯一的编码。然而,当序列长度超过训练时的最大长度时,模型无法有效处理额外的文本,因为它无法为新位置生成有效编码。
注意力机制的资源消耗:注意力机制是Transformer模型的核心,允许模型为序列中的每个元素计算注意力权重。然而,随着序列长度的增加,注意力机制的计算复杂度和内存需求呈指数增长,导致资源消耗显著增加。
长距离依赖问题:处理长序列时,Transformer需要跨越大量输入令牌,这通常导致梯度消失或爆炸等问题,使模型难以捕捉序列中相距较远的元素之间的依赖关系。
为了应对这些问题,出现了无损长文本技术。它旨在增强模型处理超过输入长度限制的长文本的能力,允许用户通过提示直接向大型语言模型输入大量领域知识作为上下文信息以进行领域增强。无损长文本技术从两个方向扩展了大型语言模型的长文本输入能力:外推和插值。
i. 外推:外推涉及扩展模型的上下文窗口以处理超过训练数据长度的新文本。这通常涉及改进位置编码机制,使模型能够理解和处理较长的序列。Longformer [78] 通过结合局部和全局注意力机制扩展了处理长文本的能力;BigBird [79] 通过稀疏注意力机制和可逆层扩展了模型处理长序列的能力;LongRoPE [65] 通过在自注意力中引入旋转变换改进了位置编码,使模型能够处理长距离依赖,并支持输入长达200万个令牌而不影响计算效率。
ii. 插值:插值指在现有序列长度范围内通过调整和优化注意力机制增强模型处理长文本的能力。这通常涉及对注意力机制的改进,使模型能够更有效地处理长距离信息。BERT模型[7]通过使用双向Transformer进行预训练,增强了文本理解;XLNet[80]通过使用置换语言建模和广义自回归预训练,增强了模型的内部表示能力,从而改进了长文本处理。
(b) 通过外部知识库嵌入知识:在实际应用中,用户可能无法提供足够的领域知识来增强通用基础模型。为了解决这个问题,模型的部署者可以通过专门的领域知识库来增强通用基础模型。这种方法允许通用基础模型在生成答案或执行任务时参考这个外部知识库,从而获取必要的领域信息和上下文,以提供更准确和有针对性的回应或解决方案。检索增强生成(RAG)技术[1, 67, 81] 就是为此目的开发的。RAG技术旨在通过利用外部文档库来增强语言模型的生成能力,而无需重新训练模型。它特别适用于需要可定制动态知识库的任务,如问答、文本摘要和事实核查。RAG技术的核心是在生成过程中整合检索组件,能够在大型文档数据库中快速找到与当前任务相关的信息。一旦检索到相关文档,这些信息就会作为附加上下文信息,帮助生成过程。RAG技术的优势在于它结合了大型语言模型的生成能力和外部检索系统提供的知识,而无需掌握领域知识。此外,由于外部知识库可以根据需要进行替换,RAG技术具有高度的灵活性和适应性。
在RAG技术中,两个核心挑战是如何从数据库中检索有用信息以及如何组织这些信息以增强基础模型的生成。在检索任务中,最早的朴素方法使用稀疏检索,直接基于原始数据进行匹配,如BM25 [82]。受到信息检索领域的启发,密集检索技术如DPR[83]被提出,它将原始数据投影到高维空间,可能更好地捕捉语义相似性。然而,主要挑战在于即使检索到的数据在语义空间中与原始输入高度相关,我们也不能保证它会对模型的生成有帮助,可能出现如歧义问题。为了解决这个问题,一些研究人员引入了知识图谱等技术来辅助检索过程[68]。此外,检索到的信息的组织也会直接影响输出质量,例如对检索数据进行排序[69]可以提高模型性能。
虽然上述技术最初是为了在特定领域增强大型语言模型提出的,但它们的应用不限于语言模型。随着基础模型领域的发展,这些技术预计将扩展到其他模态的基础模型。
当即插即用的领域增强技术难以实施或需要在通用基础模型中嵌入过多领域知识时,或者需要对通用基础模型进行深度修改时,我们可以转向基于微调的领域增强策略。该策略旨在通过特定的领域增强定制所需的领域特定基础模型,同时尽可能保留通用基础模型的预训练知识[85]。
微调技术可以分为三种主要类型:基于适配器的微调、基于低秩矩阵分解的微调和全参数微调。图6 (a)、(b) 和 (c) 分别展示了这三种技术路径。
基础模型可能包含数百万甚至数十亿的参数,通过迁移学习,可以减少模型中需要训练的部分,从而显著降低训练成本。这种方法被称为基于预训练模块的基础模型定制。 迁移学习的本质在于利用模型在预训练过程中嵌入参数中的知识来构建新模型。如前所述,基础模型的架构通常包含五个主要模块:模态编码器、骨干计算器、模态解码器、输入投影器和输出投影器。其中,模态编码器、骨干计算器和模态解码器携带大量的知识,因为它们直接参与数据的编码、处理和解码。相比之下,输入投影器和输出投影器本身携带的模型知识较少。在某些情况下,它们甚至可能没有明确的模型来承担这些功能,或这些模块仅在构建新的基础模型时进行训练。因此,在定制基础模型时,我们通常不选择迁移输入投影器和输出投影器。 接下来,本文将详细介绍如何基于预训练的模态编码器、骨干计算器和模态解码器来定制基础模型。通过这种方法,我们可以有效利用预训练模型的知识,同时减少训练的复杂性和成本。
当无法通过迁移预训练模型来构建基础模型时,就需要设计并训练相应的模块。我们首先将对单模态和多模态基础模型的架构进行一般性分析,作为构建各个组件的基础。 单模态基础模型由三个核心模块组成:模态编码器、骨干计算器和模态解码器。例如,在LLaMA-2 [11] 中,模态编码器和解码器专门为语言模态设计,采用字节对编码(BPE)算法来执行编码和解码功能。骨干计算器是一个大规模的自回归Transformer模型。通过这种方式,LLaMA-2 实现了完整的处理流程:“输入原始文本——输入文本特征向量——输出文本特征向量——输出原始文本”。此外,Bai等人[13]引入了“视觉句子”的概念,并提出了一个能够根据视觉句子自回归生成图像的大型视觉模型(LVM)。它在纯图像模态下实现了上下文学习,使模型能够直接从图像模态提示中推断任务并生成相应的结果。这不仅探索了纯视觉输入的潜力,也为构建领域特定基础模型提供了新的视角——中心模态不必局限于语言,可以是任何在特定领域中广泛使用的模态。 多模态基础模型则需要额外的输入投影器和输出投影器来实现模态对齐。例如,CoDi-2 [21] 首先利用ImageBind [25] 中提出的多模态编码器来处理输入数据,将所有相应的模态对齐到图像模态。然后,通过多层感知机(MLP)将图像模态的特征向量转换为语言模态的特征空间。具体来说,它使用预训练的自回归Transformer LLM LLaMA-2-7b-chat-hf 作为骨干计算器的基础。骨干计算器处理的图像和音频特征通过两个MLP转换回图像领域,并作为基于扩散的生成模型的控制向量输入,最终获得图像和文本结果。训练损失包括文本生成损失、模态转换损失和数据生成损失。因此,骨干计算器的多模态特征处理能力和两个MLP的模态转换能力可以通过端到端的方式同时进行训练。模型的模态对齐体现在两个方面。一方面,模型通过ImageBind的预训练模态编码器将多模态特征向量对齐到图像模态。另一方面,它还通过MLP在图像特征向量和文本特征向量之间进行转换。 综上所述,构建基础模型首先从确定数据模态和选择中心模态开始。接着,实施模态编码器和输入投影器,将来自不同模态的原始数据转换为中心模态的特征向量,这些特征向量将由骨干计算器进行处理。随后,设计输出投影器和模态解码器,将骨干计算器处理过的特征向量转换回各模态的原始数据形式。一旦模型结构构建完成,训练过程就可以开始。接下来,我们将详细介绍各个模块的实现原理和构建方法。
基础模型已经成为强大的工具,在各个领域中展现出广阔的应用前景。这些基础模型不仅能够处理海量数据和复杂任务,还能带来新的突破和创新。