大模型系列文章,针对《Beyond One-Model-Fits-All: A Survey of Domain Specialization for Large Language Models》的翻译。
大型语言模型(LLM)极大地推动了自然语言处理(NLP)领域的发展,为广泛的应用提供了非常有用的、与任务无关的基础。LLM作为一般任务解决者的巨大前景促使人们将其功能远远扩展到“聊天机器人”之外,并将其用作医疗保健、金融和教育等特定领域的领域专家和工具的助手,甚至替代者。然而,直接应用LLM来解决特定领域中的复杂问题会遇到许多障碍,这些障碍是由领域数据的异质性、领域知识的复杂性、领域目标的独特性和约束的多样性(例如,领域应用中的各种社会规范、文化一致性、宗教信仰和道德标准)造成的。为了填补这一空白,近年来对LLM的领域专业化进行了爆炸性的研究和实践,然而,这需要进行全面和系统的审查,以更好地总结和指导这一有前景的领域。在这篇综述论文中,首先,我们提出了一个系统的分类法,根据LLM的可访问性对LLM领域专业化技术进行分类,并总结了所有子类别的框架以及它们之间的关系和差异。我们还对可以从专门的LLM中受益的关键应用程序领域进行了全面的分类,讨论了它们的实际意义和公开挑战。此外,我们还对该领域的当前研究现状和未来趋势提供了见解。
自然语言处理(NLP)和人工智能(AI)模型的演变经历了一个显著的轨迹,从20世纪50年代和60年代的基于规则的系统开始,到20世纪90年代过渡到统计模型,再到2010年代神经网络的出现。由于自注意和基于Transformer的神经网络架构的成功,预训练语言模型(PLM)在2010年代末出现并迅速流行起来,因为它们能够以无监督的方式从大规模数据中学习通用语言表示,这对许多下游NLP任务是有益的,如常识推理,多项选择题回答和故事生成,同时避免从头开始训练新模型。在过去的几年里,随着大型语料库和硬件容量的快速增长,研究人员发现,根据缩放定律,放大模型和训练数据可以不断提高模型容量,最终产生大型语言模型(LLM),如GPT-3(175B参数)、PaLM(540B参数)和LLaMA(65B参数)。LLM在理解和生成类人文本方面显著优于小型模型,已成为一种有前景的人工智能研究趋势。通过高效的文献分析、新颖的假设生成和复杂的数据解释,他们有可能彻底改变自然科学和社会科学,这可以加速研究,加强发现过程,并促进跨学科合作。
LLM作为一般任务解决者的巨大前景促使人们在很大程度上扩展其功能,不仅仅是“聊天机器人”,而是将其用作医疗保健、金融和教育等特定领域的人工或现有事实工具的助手,甚至替代。然而,将LLM直接应用于特定领域的问题解决将遇到许多障碍。首先,从医学处方到法律判决,再到在线聊天等,不同领域、角色和任务的对话和语言风格存在显著差异。获得这些能力和经验甚至需要人类多年的训练,其中许多都是动手和专有的。此外,不同的领域、机构和团队都有自己的“业务模型”,关于该模型,响应将最大限度地提高其任务的效用函数,这是不可由单个通用LLM求解器直接替代的,而无需定制。更重要的是,专业级使用对领域知识的要求也需要非常深入、实时和准确,而这些都不是经过预训练的LLM所能轻易实现的。许多领域知识资源是组织的专有资产和核心竞争力,永远不会泄露给通用LLM。最后但并非最不重要的是,语言受到社会规范、文化一致性、宗教信仰、法律要求和道德实践的约束,所有这些都是不同地点、国家、人口、种族、社区等不断变化的参数,这使得通用LLM不可能在没有任何定制的情况下成为一个一刀切的解决方案。所有上述障碍都导致了“将LLM专门化到域中”或“LLM的域专门化”的必要性,即根据域上下文数据定制通用LLM,通过域知识进行扩充,通过域目标进行优化,并通过域约束进行调节。为了实现这一目标,这一专题目前正在经历极其迅速的增长。
LLM的领域专业化是一个关键但具有挑战性的问题,需要发明和集成有效的技术来解决其独特特征所带来的严重挑战,包括:1)知识差距和特定领域的专业知识。LLM的强大主要归功于其大量的训练语料库。然而,这也表明LLM往往具有知识截止点(即LLM无法获取最新信息、事件或发现)。在许多专业领域,新的发现、法规和最佳实践不断涌现,这使得LLM很难保持最新。例如,每天发表的主流新闻文章超过3万篇。对于社交媒体分析和事实核查,LLM可能无法处理它们,因为从训练语料库中提取的知识是离线的。这表明需要定期的再训练或持续学习机制来保持LLM在这些动态领域的相关性和准确性。然而,确保模型的新鲜度可能是资源密集型的,因为它需要持续的高质量和最新的数据收集、处理和计算量大的模型重新训练。2) 从LLM中获取领域知识。默认情况下,LLM拥有广泛主题的一般知识,并且可能已经看到并获得了大多数领域的特定知识。然而,更受欢迎或广泛讨论的主题可能被过度表示,而一些特定领域的主题可能表现不足,这使得很难有效地提取用于特定领域任务的主题。此外,特定领域的任务通常涉及复杂的概念、专门的术语以及不同实体之间复杂的关系。如果没有适当的指导,LLM可能会对类似的问题(即LLM的幻觉)或稍微改写的问题产生听起来合理但不一致的答案。这个问题的出现是因为LLM被设计为基于输入预测最可能的单词序列,而不是基于结构化知识库提供明确的答案。研究人员发现,用户可以通过向LLM提供一些特定任务的演示,引导模型产生更相关、更准确、更具体的响应,从而增强人工智能系统在多个领域的整体效用和有效性。尽管如此,为LLM提供充分的演示并非易事,因为用户指令往往是模糊的、不完整的或模棱两可的,这使得很难辨别预期的含义或期望的结果。更不用说LLM往往具有有限的上下文窗口,通常由它们可以处理的最大词元长度决定(例如,ChatGPT只能处理4097个词元)。3) 用于微调的模型复杂性和广泛的计算资源。为了更好地适应特定的领域应用程序,微调历来是专门化语言模型的常用做法。然而,与传统的语言模型不同,LLM的微调需要大量高质量的、特定领域的数据才能进行有效的微调。获取、清理和预处理此类数据可能耗时且资源密集。此外,LLM的复杂性使得确定最合适的微调策略具有挑战性,因为超参数、学习率和训练持续时间的选择会显著影响模型的性能。Chen等人还讨论了微调LLM可能导致严重的灾难性遗忘,因为具有复杂架构的LLM更有可能忘记先前学习的知识,并在微调过程中过度拟合到目标域。除了数据需求和复杂的模型架构外,LLM通常由数十亿个参数组成,例如,生成预训练Transformer3(GPT-3)和路径语言模型(PaLM)都包含超过1000亿个参数,这些参数需要大量的计算能力来训练。微调或重新训练这些模型需要使用高性能GPU或专用硬件,如TPU,这些硬件可能昂贵且难以获得,尤其是对于个人研究人员或较小的组织而言。
在过去的几年里,对LLM的领域专业化技术进行了大量的研究。许多方法侧重于一般技术贡献,只需稍作修改即可适应特定领域,并可访问特定领域的信息。然而,在不同的应用领域交叉引用这些技术仍然是一个挑战,缺乏评估各种领域专业化技术的方法的系统标准化和总结也是一个挑战。这种缺乏明确性的情况给非人工智能专业人士带来了障碍,并混淆了现有的瓶颈、陷阱、悬而未决的问题和潜在的未来研究方向。为了克服这些障碍,利用人工智能更有效地完成各个领域的任务,本文对当前最先进的LLM领域专业化进行了全面而系统的回顾。本文的主要贡献包括:
本节简要概述了以往与LLM领域专业化相关的调查,分为三类:(1)PLM和LLM的基本概述;(2) PLM的领域自适应和泛化技术;以及(3)专门针对特定领域的语言模型。
PLM和LLM的基本概述。虽然存在对PLM及其在不同NLP任务中的使用的全面综述,但由于两者之间的差异,它们不一定适用于LLM。鉴于LLM最近越来越受欢迎和有效,出现了几篇综述论文,涉及LLM的各个方面。一些人关注LLM的基本组成部分,另一些人关注生成人工智能的历史和潜在应用,还有一些人关注增强具有推理能力的LLM。然而,LLM领域专业化的全面综述和技术分类尚待提供。
PLM的领域自适应和泛化。综述[51,70]研究了如何有效地将PLM调整到特定领域,例如向模型添加层或更新模型参数。然而,这些技术中的大多数不适用于LLM,因为它们的体系结构和参数空间不可访问。此外,由于计算成本和对高效优化策略的需要,更新LLM中的知识是具有挑战性的。
专门针对特定领域的语言模型。最近的综述论文强调了为特定领域定制LLM的好处和必要性。[209]中指出了将通用LLM应用于医学教育等领域的风险,包括缺乏独创性和不准确性。[217]中还提出了法律领域特定语言模型的实际考虑因素。在金融部门,建立金融专业LLM的初步步骤表明,在不影响一般基准的情况下,财务任务的绩效有所提高。这些进展突出了对领域专业化技术进行全面综述和技术分类的必要性,以帮助不同部门有效地利用LLM完成其独特的任务。
大型语言模型通常被称为基于Transformer架构的大型预训练语言模型(PLM)。经验证据表明,扩展预训练的语言模型,例如增加模型大小或数据大小,通常会增强模型对下游任务的能力。在本节中,我们首先回顾PLM的基本概念,然后介绍现有技术的全面分类,旨在为特定领域专门化大型语言模型。
具体来说,PLM是一种在大型文本数据语料库上预训练的神经网络,用于学习语言模式、结构和语义。PLM的输入和输出可以描述如下。在LLM中,输入是一个文本序列,用作理解和处理的上下文。为了澄清任务,通常会包含提示、附加句子或查询。这些基于NLP任务设计的提示提供了前提或任务解释。例如,在文本摘要中,类似“总结下一篇文章中的要点:”这样的提示可能会出现在输入文章之前。输出是响应于输入而生成的文本序列或预测。根据任务的不同,这可能是对问题的回答或情绪标签,并且可能需要后期处理,如词元解码或标签提取,以进行最终呈现。由于LLM通常是PLM的放大版本,它们遵循类似的PLM架构设计,有三种主要风格:仅编码器、仅编码器-解码器和仅解码器架构。本简介将概述这些PLM架构,并讨论它们的差异和共性。
根据LLM的可访问性级别,将LLM专门化为域的方法分为三种,即无访问(黑盒)、部分访问(灰盒)和完全访问(白盒)。黑框通常表示我们只能访问模型API(例如ChatGPT和GPT4),而不知道任何信息,只知道生成的输出;灰色框表示我们的信息有限(例如,GPT-3 API中生成词元的概率),这些信息可以指导我们设计和微调合适的提示,以更好地获取领域知识;白框表示我们可以完全访问LLM(例如,LLaMA及其变体),包括参数设置、训练数据和完整的模型架构。
我们在图2中提供了每种方法的概述。更具体地说,1)外部扩充(黑匣子)不一定需要访问LLM的内部参数空间,这使得资源有限的用户(例如,计算资源、领域特定数据)最容易访问LLM。如图2(b)所示,通过使用外部资源或工具,将特定领域的知识整合到输入提示、生成的输出或两者中,从而在不修改其内部结构的情况下有效地调整LLM的性能。2) 提示制作(灰盒)包括通过访问LLM的梯度或损失值来设计各种类型的提示,从而对模型的行为进行更精细的控制。3) 模型微调(白盒)需要最多的访问和资源,因为它涉及更新LLM的参数,以将特定领域的知识直接纳入模型。(图2(d))
不同类别的方法之间的关系。
研究人员可以单独或组合使用这些方法,在考虑每种方法的独特要求和限制的同时,在特定任务上实现最佳性能。在以下各节中,我们将详细回顾每种方法中的代表作。
检索增强旨在通过从外部来源检索相关信息来增强LLM,而无需微调模型参数。主要有两类:(1)领域知识增强,LLM由外部知识源提供特定领域的上下文;(2)领域工具增强,通常通过API将LLM与外部系统或工具集成。领域知识增强用外部信息补充模型的响应,而领域工具增强则扩展了模型无法执行的任务的能力。领域知识提高了特定领域的深度和准确性,而领域工具允许模型执行超出其固有能力的任务。本节讨论了这两种方法、它们的局限性和优点。
从最广义上讲,领域知识是对特定领域或学科领域的全面理解。它包括特定领域特有的概念、原则、事实和模式。知识可以以各种形式表示,包括一组文档、特定领域的知识图谱或包含参数领域知识的神经网络。LLM规范中的领域知识增强是指通过合并来自领域知识的附加信息来丰富LLM在特定领域中的性能的过程。两类外部知识通常可以促进LLM的领域专业化:显性知识是指定义清晰、易于表达、结构清晰、可直接理解和利用的知识;隐性知识是指不直接陈述或不容易表达,但嵌入数据或系统中的知识,通常以潜在的、不明显的形式存在。
为领域特定任务定制语言模型的传统方法是从外部上下文中检索领域特定信息。当呈现包含特定领域信息的明确知识源时,如果数据源包含与模型记忆的知识相矛盾的任务相关细节,则LLM对上下文进行优先级排序至关重要。这种策略确保了模型预测被锚定在上下文中,从而允许在不需要频繁重新训练的情况下对特定模型预测进行细化或校正。
当前的技术通常使用神经检索器从大型语料库(例如,维基百科)或知识库(例如,维基数据)中获取任务相关信息。具体而言,给定特定任务的查询,早期的工作设计了神经检索器来向量化查询和外部知识源中的所有信息,以基于潜在空间中的各种相似性度量(例如,余弦相似性)搜索相关信息。然后,可以将搜索到的信息与下游任务的查询连接起来。随着LLM的流行,研究人员一直在使用LLM来取代基于神经网络的检索器,Izacard等人证明,当使用540B LLM(即PaLM)时,将相当轻的LLM(约110亿个参数大小)与外部知识库相耦合可以实现类似的性能。此外,为了提高检索的透明度和可解释性,He等人提出利用LLM来分解信息检索过程,并提供详细的推理步骤,Lu等人探索利用LLM验证预训练的基于神经网络的检索器获得的信息是否相关。
机器学习中的隐式领域知识是指嵌入数据或系统中的潜在、非显性信息,通常表示为向量化知识或预训练期间学习的嵌入。这种嵌入捕获了复杂的数据模式,以抽象的形式象征着领域知识。先前的研究建议使用注意力机制,使PLM能够从这种隐含知识中检索任务相关信息。这些研究将特定任务的查询转换为潜在嵌入,计算查询向量和每个知识条目之间的注意力得分。softmax函数用于生成涉及输入查询的所有知识条目上的权重或概率分布。然后,使用注意力权重,通过记忆条目的加权和来获得检索到的记忆向量。这种方法用隐式知识增强了传统的神经网络,允许模型在推理过程中访问相关的当前信息。
虽然LLM可以在其参数中存储大量信息以生成高质量的响应,但并不总是需要使用隐式知识进行增强。与显性知识不同,隐性知识需要额外的处理,例如将特定领域的数据转换为潜在向量,从而降低了其实用性。尽管用内隐知识增强LLM的工作有限,但研究人员正在探索其潜力,包括其在存储有关领域的教学知识方面的应用。这种方法包括创建一个指令周期,从隐式知识中检索下一个输入提示,解析LLM的输出以恢复变量赋值,并将这些赋值存储回内存中以检索下一条指令。通过该指令周期增强LLM,可以处理大量输入,并潜在地解决复杂的领域特定问题。
通过整合外部知识,LLM的功能就像图书馆员一样,在不需要记住所有资源的情况下找到相关信息。这提高了专业任务的性能,而无需进行广泛的再训练,使人工智能系统能够进行终身学习和知识更新。然而,利用特定领域任务的外部知识增强LLM带来了一些悬而未决的挑战。
领域工具是指专门为特定领域或领域开发的专用软件、库或框架(例如,用于基因组学问答的NCBI Web API、用于数学证明的自动形式定理证明器、用于社会行为模拟的沙盒环境等),或有效的知识,这些知识通常包含根据该领域的独特需求定制的算法、技术或数据结构。然而,这些领域工具的使用通常需要严格遵守输入格式或进行广泛的训练,这使得普通用户无法访问这些工具。另一方面,LLM是一种人工通用智能模型,在广泛的任务和领域中表现出智能和认知能力。尽管它们具有多功能性,但当前的LLM在需要领域专业化的任务中受到限制。这些限制包括:(1)取决于随机种子、生成超参数和输入内容的不稳定结果格式;(2) 无法访问最新信息,因为LLM只能从其训练数据中获取信息;(3) 虚构研究人员观察到的事实的倾向;(4) 在算术等特定任务中缺乏精度。
研究人员提出了一种协作集成方法,以克服仅使用领域工具或LLM执行复杂领域特定任务的局限性。这种方法结合了两者的优势,利用了特定领域的知识、算法和工具的功能,同时通过LLM提供了用户友好的界面。这种协作优化了特定领域资源的使用,并通过允许LLM指导有效的工具使用来简化用户参与。
LLM调用域工具。域工具扩充的一种简单方法是允许LLM调用域工具。本质上,这种类型的方法遵循多级管道,给定LLM f Θ ( ⋅ ) f_\Theta(\cdot) fΘ(⋅)和域工具 T ( ⋅ ) \mathcal{T}(\cdot) T(⋅):(1)引出可执行命令 c c c通过策划或构建的提示 p p p从LLM中获取域工具, 表示为 c = f Θ ( p ) c=f_\Theta(p) c=fΘ(p). (2) 执行命令 c c c在域工具中,并获取输出,表示为 r = T ( c ) r=\mathcal{T}(c) r=T(c). (3) 通过预定义规则或LLM对域工具输出进行后处理,表示为 y = p o s t − p r o c e s s ( r ) y=post-process(r) y=post−process(r).
该管道提供了一个通用图,可以很容易地扩展到多LLM多工具协作场景。关键的技术挑战是确保LLM生成的命令 c c c的指令遵循性和有效性,以便领域工具能够准确地解决所需的任务。大多数现有的工作都建议使用零显示或小样本提示来生成可执行命令(更多细节请参阅第4节)。图3展示了一个玩具示例,任务是解决一个算术问题“笼子里有72个头和200条腿。有多少只兔子和鸡?”。为了引出LLM生成一个可执行的Python程序,我们可以将提示公式化为“请编写一个Python脚本来解决算术问题。问题:{question_text}”。然后,LLM返回一段脚本作为可执行命令 c c c用于Python解释器。最后,Python解释器以程序输出“44,28”作为响应,并进一步后处理为所需结果“44只鸡和28只兔子”。
根据域工具的类型,LLM可以生成符合语法和格式要求的相应命令来调用它们。许多域工具提供了API,以实现简单而精确的访问。该方向的早期探索是引出以自然语言编写的搜索引擎查询(例如,WebGPT、WizInternet、GopherCite)或编程语言中的数据库查询(例如Binder SQL、DIN-SQL、BIRD)。后来,研究人员研究了如何引导LLM编写可在程序解释器中执行的可执行代码,如Python、Wolfram等。除了广泛使用的搜索查询、数据库查询和Python程序外,还有许多领域专用的API具有独特的语法。例如,chatGPT插件系统介绍了如何利用工具进行旅行预订、餐厅预订、电子商务购物和工作流程自动化。这些API调用脚本通常由零样本或少量快照提示技术生成,如玩具示例中所述。
复杂的任务通常需要多种工具才能完成,这促使研究人员将LLM概括为“任务规划师”或“API选择器”,使用各种领域工具。这些方法不仅生成可执行的命令,而且侧重于任务分解和工具协调。例如,Draft,Sketch,and Prove(DSP)框架用于自动定理证明,使用LLM或预言机起草非正式证明,另一个用于生成正式草图,现成的证明机在每个草图中最终确定开放的猜想。TaskMatrix.AI使用LLM为特定任务创建高级解决方案大纲,并将子任务与适当的现成模型或系统相匹配。HuggingGPT利用LLM作为控制器来管理复杂任务的现有域模型。最后,Qin等人提出了一种工具增强的LLM框架,该框架动态调整执行计划,并使用合适的工具有效地完成每个子任务。
LLM体现在域工具中。LLM也可以由域工具调用,以在交互环境中充当智能代理,即体现在域工具中的LLM。LLM在交互式机器人中实现时,可以作为特定领域应用的决策模块。例如,ProgPrompt研究了当机器人的感知模块观察周围物体时,LLM辅助机器人完成任务的能力,并且LLM被提示有可用的动作规范。结果表明,LLM可以为模拟家庭和现实世界的桌面任务生成定位动作。此外,Murali等人在涉及社交机器人的多方对话中,使用LLM作为识别不同说话者的主要组件。机器人界正在逐步探索这些领域,研究LLM在人机界面、规划、接地等方面的实用性。此外,研究人员开始研究多个LLM如何与环境互动,或在现实世界中共同沟通和协作以解决任务。Mind’s eye研究LLM如何从与模拟物理引擎的交互中获益,为物理对齐任务注入基础理论。CAMEL提出了一种通信代理框架,为LLM代理分配不同的角色,以便多个AI代理可以通过按照指令的方式相互聊天来协作通信,以解决指定的任务。Park等人在基于游戏的沙盒环境中使用25个LLM作为生成代理,为交互式应用程序创建可信的人类行为模拟。
通过利用LLM的强大功能,领域工具可以帮助完成多个领域的各种任务,包括机器人、虚拟代理和现实世界场景中的问题解决。这允许更直观、无缝的人机协作,从而提高处理复杂问题的效率和适应性。
使用域工具增强LLM带来了几个悬而未决的挑战:
虽然在大规模语料库上训练的LLM是强大的,但进一步的提示预训练可以增强它们遵守用户意图的能力,并产生准确且毒性较小的反应。旨在引发特定模型响应的提示或任务特定输入文本,有助于指导LLM的内容生成过程,并为所需输出设定期望值。方法通常分为两类:(1)离散提示涉及创建特定于任务的自然语言指令来提示LLM,从其参数空间中获取特定于领域的知识;(2)连续提示使用可学习向量来提示LLMs,消除了手动设计文本指令的需要。本节深入探讨了领域专业化的方法以及优点和局限性。
最近的工作允许LLM通过离散提示快速适应不可见的域,GPT-3是第一个介绍如何使用带有零样本/小样本离散提示的LLM执行不可见任务,而不更新LLM的内部参数的工作。我们在下面给出离散提示框架的正式定义。
问题设置。
给定LLM f Θ ( ⋅ ) f_\Theta(\cdot) fΘ(⋅)其中, Θ \Theta Θ表示预训练的模型参数,任务是引出所需的输出 y y y从带有离散提示的LLM p p p和一个测试查询,表示为 y = f Θ ( [ p ; c ] ) y=f_\Theta([p;c]) y=fΘ([p;c]), 当冻结 Θ \Theta Θ时。值得注意的是, 和 是表征序列(即自然语言句子)。使用离散提示的基本原理是,它们可以作为指令来引出LLM的广义推理能力。通过遵循这些指令,LLM可以执行未经过专门训练的领域特定任务。这种方法使LLM能够展示其将先前学到的知识应用于新的和多样化的情况的能力,从而提高其整体有效性和实用性。
根据提示类型的不同,离散提示可以分为两类:(1)零样本,其中提示 p p p仅包含任务描述;和(2)小样本,其中提示 p p p由任务描述和几个示例组成。零样本和小样本提示之间的关键区别在于是否提供了示例。
零样本设置表示冷启动场景,其中没有一个支持标记的示例可用。图4展示了一个零样本离散提示如何工作的简单示例。影响提示的任务描述 p p p可以由人工用户策划,也可以由模板自动生成,其中任务的意图和预期结果用自然语言描述。然而,如[214]所述,有时需要后处理来从无界原始输出中提取严格的预测结果。研究人员证明,指令对齐预训练能够在各种看不见的任务上实现良好的零样本性能,其中不同的任务可以用统一的序列生成格式表示。PADA是探索如何激发LLM对训练阶段未发现的领域的领域适应能力的开创性工作之一。PADA首先生成目标域名,然后生成一组与测试查询相关的域相关特征,然后将它们一起用作预测任务标签的提示。后续工作探索了如何在情感分析、图像分类、语义分割和谣言检测中利用零样本离散提示进行域自适应。后来,Kojima等人将few-shot-Chain-of-Thoughts(few-shotCoT)扩展为zero-shot-CoT,以引出LLM的多步推理能力。Zero-shot-CoT的核心思想是两阶段提示,第一阶段在每个答案之前简单地添加相同的提示“让我们一步一步思考”,以导出推理过程语句,第二阶段使用生成的推理语句生成最终答案。Zero-shot-CoT在算术、符号推理和其他逻辑推理任务上取得了明显优于标准零样本提示方法的性能。
小样本设置反映了许多领域特定应用程序的稀疏训练样本的特征(即,只有少数注释示例可用)。图5展示了一个玩具示例,展示了小样本离散提示的工作原理。与零样本提示不同,提示中包含了一些示例,这些示例进一步传达了任务意图并提供了所需输出格式的说明 p p p. 研究人员观察到,小样本提示会产生更稳定的输出格式,并在下游任务中产生更不错的性能。思想链(CoT)通过为复杂推理任务引入一系列中间推理步骤,提高了LLM的领域专业化能力,但它也带来了为每个测试示例手动设计CoT的额外成本。作为后续工作,Auto CoT通过在给定的任务上下文中添加“让我们一步一步思考”提示,并让LLM自己生成推理链,从而消除了手动设计。除了自然语言格式指令外,CoCoGen还研究了处理结构化推理任务的编程语言格式指令。
然后提出了更先进的技术来进一步改进LLM的离散指令,用于领域专业化和定制。例如,基于集成的指令利用多个不同的指令来导出多个模型输出,然后聚合这些输出以实现更好的任务性能。另一条研究路线提出了递归指令,将复杂的看不见的任务分解为一系列相对更容易解决的子任务,然后为每个子任务使用具有特定指令的LLM。
利用离散提示有助于LLM利用其固有知识来适应新的和多样化的情况。这种方法不仅证明了LLM的灵活性和适应性,而且增强了其在广泛领域和任务中的整体有效性和实用性。然而,为领域专业化制作LLM的离散提示带来了几个悬而未决的挑战:
与离散提示类似,连续提示是一系列词元,用于附加在输入句子中,并用额外的知识指导LLM,但可以通过连续提示调整从下游数据集学习。在这种情况下,连续提示充当软参数化提示,而不是作为离散语言短语的硬编码指令。提示调优是在保留LLM的一般语言理解能力的情况下,优化使LLM适应自定义任务或域的提示。这里,可以单独更新提示相关参数,其数量仅为LLM参数总数的0.01%左右,同时在微调阶段冻结LLM本身。
连续提示调整的一般框架(图6)可以在以下阶段简要描述:(1)给定一个输入句子及其相应的目标, 模板函数 T ( ⋅ ) T(\cdot) T(⋅)将它们与长度为的提示 τ \tau τ一起组织起来变成一个新句子 T ( τ , c ) = { τ 0 : i , c , τ i + 1 : m } T(\tau,c)=\{\tau_{0:i},c,\tau_{i+1:m}\} T(τ,c)={τ0:i,c,τi+1:m}. (2) 随后,序列 T ( τ , c ) T(\tau,c) T(τ,c)使用模型的输入层 e ( ⋅ ) e(\cdot) e(⋅)映射到嵌入空间,生成词元嵌入序列: T e ( τ , c ) = { e ( τ 1 ) , ⋯ , e ( τ i ) , e ( ω 1 ) , ⋯ , e ( ω n ) , e ( τ i + 1 ) , ⋯ , e ( τ m ) } T_e(\tau,c)=\{e(\tau_1),\cdots,e(\tau_i),e(\omega_1),\cdots,e(\omega_n),e(\tau_{i+1}),\cdots,e(\tau_m)\} Te(τ,c)={e(τ1),⋯,e(τi),e(ω1),⋯,e(ωn),e(τi+1),⋯,e(τm)}, 其中 τ i \tau_i τi是提示中的第i个词元,以及 T e ( ⋅ ) T_e(\cdot) Te(⋅)表示嵌入空间中的序列。为了执行提示调整, τ \tau τ被认为是没有明确语义的伪标记,因此 e ( τ i ) e(\tau_i) e(τi)替换为可训练张量 h ( τ i ) h(\tau_i) h(τi)由重新 θ τ \theta^\tau θτ参数化. 这会将模板修改为: T e ′ ( τ , c ) = { h ( τ 1 ) , ⋯ , h ( τ i ) , e ( x 1 ) , ⋯ , e ( x n ) , h ( τ i + 1 , ⋯ , h ( τ m ) } T'_e(\tau,c)=\{h(\tau_1),\cdots,h(\tau_i),e(x_1),\cdots,e(x_n),h(\tau_{i+1},\cdots,h(\tau_m)\} Te′(τ,c)={h(τ1),⋯,h(τi),e(x1),⋯,e(xn),h(τi+1,⋯,h(τm)}. (3) 最后,我们可以将嵌入序列喂到LLM,并优化连续提示 θ τ \theta^\tau θτ使用如下的下游损失函数 L \mathcal{L} L:
θ τ ⋆ = arg max θ τ L ( f Θ ( T e ′ ( τ , c ) ) , y ) , \begin{gather}\theta^{\tau\star}=\argmax_{\theta^\tau}\mathcal{L}(f_\Theta(T'_e(\tau,c)),y), \end{gather} θτ⋆=θτargmaxL(fΘ(Te′(τ,c)),y),
其中 f Θ ( ⋅ ) f_\Theta(\cdot) fΘ(⋅)是一个LLM函数,通过 Θ \Theta Θ来参数化。对于从一般任务中重新表述出来的完形填空式输入,例如,句子“I like the movie!”的情感分析任务可以被重新表述为完形填空题:“I likes the movie!It was[MASK]。”。然后,掩盖位置的预测词被用于后续分类。在这种情况下,在步骤(1)中生成模板的过程中集成了唯一词元[MASK], 表达器 ϕ \phi ϕ需要将类标签映射到语言模型词汇表中的单词,例如positve→‘great”,结果是:
θ τ ⋆ = arg max θ τ ∑ c log p ( [ M A S K ] = ϕ ( y ) ∣ T e ′ ( τ , c ) ) \begin{gather}\theta^{\tau\star}=\argmax_{\theta^\tau}\sum_{c}\log p\Big([MASK]=\phi(y)|T'_e(\tau,c)\Big) \end{gather} θτ⋆=θτargmaxc∑logp([MASK]=ϕ(y)∣Te′(τ,c))
提示所浓缩的信息分为两类:(1)依赖于任务的提示调优和(2)依赖于实例的提示调优。每一类都包括对领域和任务自适应的一般和特定增强。尽管一些研究是基于PLM的,但考虑到提示调优增强和模型大小与在大规模PLM上成功实现之间的相关性,这些优势适用于LLM。此外,它提供了一种参数高效、完全可控的调整方法,以适应更定制的目的。
依赖于任务的提示调优优化了特定任务中所有实例的共享提示,使其能够封装来自包括数千或数百万个实例的广泛数据集的信息。然而,训练一个朴素的提示很难收敛,而且对于不同的场景来说是次优的,这为特定的任务和领域留下了改进的空间。
提示内容增强。我们将提示内容称为连续提示的嵌入值,在特定任务的初始化和先验知识迁移方面进行了改进。试点工作已经验证,与许多在一般ML任务中以随机分布开始的优化器相比,软提示的优化过程受到其初始值的显著影响。对于语言模型,单词嵌入被预训练为非常独特。因此,标准优化器,如随机梯度下降(SGD),只能在有限的附近更新参数,导致陷入局部最小值的可能性。因此,更有效的初始化方法将涉及使用具体任务特定单词的嵌入。
WARP是一项开创性的工作,它通过嵌入特殊词元“[MASK]”来初始化提示。KnowPrompt将可学习提示设计为虚拟类型词和虚拟答案词,通过具体标签词的聚合表示和基于其在数据集中的频率的分解词来初始化。此外,随机初始化已被证明是效率最低的,尤其是对于小型模型,而当模型大小增长到11B时,提示调整在初始化策略之间没有显著差距,这表明LLM在一般任务中对提示的初始化值是鲁棒的。
进一步的研究表明,在源域上重新训练提示可以提高在看不见的目标域中的性能,说明了提示迁移的能力。SPoT使用从多个源任务中学习的单个通用源提示初始化提示,然后以经典方式在目标任务上对其进行微调。PPT还使用自监督学习在广泛的未标记语料库上预训练提示,然后作为目标任务的初始提示。Su等人证明了连续提示在跨任务和跨模型设置中的可迁移性,并发现初始化良好的提示可以显著加速训练收敛。此外,利用可迁移性的优势,LFPT5采用了终身学习的软提示。它不断训练同时学习解决当前任务的提示,并生成先前任务的训练样本,以克服灾难性遗忘。渐进提示将提示调整引入持续学习。当前任务的提示定义为在以前的任务上优化的提示和可调的当前提示的串联。
提示构建增强。我们参考了关于提示的位置和长度的提示构造,以及附加模板或离散提示的组合。连续提示可以简单地在原始输入句子前加上、附加和插入,而不需要额外的语言短语。这项开创性的研究,WARP采用了带有“[MASK]”标记的所有三个交集来进行分类任务。在前缀调整中,利用自回归模型从左到右的性质,在句子嵌入和所有注意力块的激活之前加上了可调提示:加上前缀的提示可以通过注意力机制有效地影响后续单词。类似地,提示调优仅在输入层预处理提示,实现了与微调模型相当的提示调优结果。
模板被广泛用于利用自适应性能,例如,将NLP任务(例如,句子分类)重新表述为LM预训练期间使用的掩蔽词预测任务。基于预定义的任务特定模板,可以插入软提示,从而为条件调整提供灵活性。KnowPrompt设计了一个模板,将主题和对象之间的“[MASK]”附加到输入句子中,用于关系提取,并结合了围绕这两个实体的“虚拟类型词”的可训练提示。“虚拟类型词”的输出嵌入被训练为在掩蔽位置与目标关系逻辑对齐,用实体类型的信息调节优化。KiPT开发了一种用于事件检测任务的知识提取器,该提取器基于句子中的触发词与阈值以上的事件概念的语义相似性来识别它们。识别的触发词以及相应的事件标签随后将与输入句子一起被随机初始化为软提示。KiPT还通过输出结构化事件记录,将序列标记任务(触发器识别和触发器分类)重新表述为生成任务。
共享任务相关提示对输入句子的变化是静态的,它忽略了语义差异以及单个实例的具体知识,因此在细粒度目标中是次优的。但是,与实例相关的提示调优有条件地为单个实例生成提示,同时包含上下文信息和任务指令。
提示内容增强。基于实例的调整的提示内容的增强侧重于学习任务的联合和自适应表示以及实例上下文。IDPG提出了一种额外的两层感知器作为提示生成器,向下和向上投影嵌入到自适应软提示中的句子。ATTEMPT首先在大规模源任务上训练多个提示,并基于逐句注意力网络计算聚合提示,然后将其与新初始化的目标任务提示混合,作为最终的实例相关提示。Jin等人假设提示词元对实例的贡献不同,因此设计了一个查找模块来对提示词元与实例词元的关联进行评分,然后用于计算聚合的提示嵌入。Bhardwaj等人通过基于Transformer的句子编码器生成上下文感知提示,但进一步将上下文提示量化为更紧凑的表示,以避免优化崩溃。Levine等人通过交叉和自注意层之后的冻结T5编码器学习提示和输入的联合表示。刘等人提出了一种应用于LM中间层的实例感知提示。所提出的提示生成器是一个具有瓶颈结构的简单前馈层,采用[CLS]词元的嵌入或句子词元嵌入的池化。
提示构造增强。与前面讨论的构造增强的目的类似,例如,依赖于实例的提示调整将依赖于实例知识引入为具体单词,或者在定位和长度方面学习自适应提示。OntoPrompt使用来自外部本体的实例相关知识作为附加文本来丰富模板,并调整围绕“[MASK]”的连续提示以帮助预测。最近,为了全面讨论提示的内容和结构的效果,动态提示提出了一个统一的框架,通过动态定义每个实例的提示位置、长度和值来学习依赖于实例的提示。它还证明了后置提示的有效性,因为大多数先前的工作都是在输入句子前加上提示。
持续的提示调优提供了一种简化的方法,可以利用LLM对不同领域的特定任务的广泛语言理解能力。它有效地解决了离散提示方法中固有的问题,例如(1)LLM性能对提示的显著依赖,其中微小的措辞或模板变化会极大地影响结果,(2)从大的搜索空间中识别最佳基于自然语言的提示的计算复杂性,以及(3)手动设计指令的耗时和劳动密集的过程,特别是在需要专业知识的领域。但是,连续的提示调优也有其局限性。
(1) 可解释性经常被批评为软提示调整的弱点。通过在LM的空位中将最优连续提示离散为附近的标记向量,WARP等研究发现这些提示是不可解释的,并且缺乏有意义的内容。在KnowPrompt和Prompt tuning中,提示词元是在与域相关的术语非常接近的地方发现的。例如,在BoolQ数据集上训练的提示显示,科学、技术和工程是最佳提示的近邻,因为大约20%的问题属于“自然/科学”类别。然而,连续提示作为连贯序列的可解释性仍然不清楚。此外,连续提示并不局限于使用紧凑的文本信息指导LLM。OPTIMA通过调整实现了域自适应,这有助于在源和目标数据分布相似的区域周围规则化决策边界,使其平滑,并使用对抗性学习框架。
LLM尽管接受了广泛的通用文本数据训练,但可能无法为特定任务或领域编码足够的知识。在这种情况下,在较小的、特定领域的数据集上微调模型可以提高其在特定领域的性能。这种微调可以分为两种主要方法:基于适配器的微调和面向任务的微调。(1) 基于适配器的微调:如图7(a)所示,这种方法使用神经适配器或模块化组件来增强LLM在特定领域任务上的性能,而无需对LLM的内部参数进行重大修改。这些适配器通常集成到现有的LLM体系结构中,允许特定任务的学习,同时保持原始模型的基本完整性。(2) 面向任务的微调:如图7(b)所示,该方法侧重于修改LLM的内部参数,以提高与特定任务的一致性。然而,由于硬件限制和潜在的性能下降,完全更新LLM的所有参数可能是不切实际的。因此,研究人员面临的挑战在于确定哪些参数需要在扩展的参数空间内进行更改,或者有效地更新这些参数的子集。这两种方法允许LLM针对特定任务或领域进行定制,从而在处理特定应用程序时提供灵活性和效率。
基于适配器的微调旨在为LLM添加少量额外参数,以在特定任务中获得更好的性能。通常,附加参数被编码在简单的模块中,以指导语言模型适应目标领域或任务。添加模块的亮点包括:(1)简单,参数数量少;(2) 可扩展到原始语言模型;(3) 灵活地在每个特定领域进行顺序训练。具有上述有利性质的大多数所提出的策略都是在参数有效微调的保护伞下建立在适配器上的。
适配器是插入预训练模型各层之间的可训练模块。适配器的关键特性强调了原始语言模型的参数保持冻结,从而即使在不同的域和任务中也能提供可持续的参数共享。认为 f Θ ( ⋅ ) f_\Theta(\cdot) fΘ(⋅)表示用参数集 Θ \Theta Θ参数化的LLM的函数,并且 g Δ Θ ( ⋅ ) g_{\Delta\Theta}(\cdot) gΔΘ(⋅)表示参数为 Δ Θ \Delta\Theta ΔΘ的适配器的函数,则 f Θ ∘ g Δ Θ f_\Theta\circ g_{\Delta\Theta} fΘ∘gΔΘ表示适配器微调的语言模型。允许是具有任务性能度量 ϕ \phi ϕ的通用输入数据, 和是具有特定领域任务性能 ϕ D \phi_D ϕD 的领域训练数据(两者都适用 ϕ \phi ϕ 和 ϕ D \phi_D ϕD , 值越高表示性能越好),适配器的目标是找到 g Δ Θ g_{\Delta\Theta} gΔΘ,使得:
ϕ ( f Θ ( X ) ) ≈ ϕ ( f Θ ∘ g Δ Θ ( X ) ) ϕ D ( f Θ ( D ) ) ≤ ϕ D ( f Θ ∘ g Δ Θ ( D ) ) \begin{gather}\phi(f_\Theta(X))\approx\phi(f_\Theta\circ g_{\Delta\Theta}(X))\quad \phi_D(f_\Theta(D))\leq\phi_D(f_\Theta\circ g_{\Delta\Theta}(D)) \end{gather} ϕ(fΘ(X))≈ϕ(fΘ∘gΔΘ(X))ϕD(fΘ(D))≤ϕD(fΘ∘gΔΘ(D))
尽管大多数关于跨语言或多任务学习的实证研究,但最近的一些工作探索了无监督的领域适应,特别是使用适配器。最近的工作中探索了使用适配器的无监督领域自适应(UDA),旨在增强预训练模型的跨语言或多任务学习能力。第一次尝试针对多领域自适应,采用两步策略:在混合语料库上使用掩蔽语言模型(MLM)损失进行领域融合训练,然后在领域语料库上使用特定任务损失进行任务微调。随后,引入了UDApter,它也采用了两步训练和微调方法,但将其分为两个适配器模块:域适配器和任务适配器。域适配器首先学习域不变表示,然后将其与参数被冻结的任务适配器连接。这是使用AdapterFusion中定义的体系结构实现的。AdapterGroup仅在测试阶段采用了域适配器的加权平均值,从而进一步提高了自适应效率。为了选择域适配器,研究了三种策略:穷举组合、文本聚类和语义相似。
尽管这些工作侧重于领域专门化,但它们是在GPT-2等预先训练的语言模型上进行评估的,这表明它们可能适用于更大的语言模型。为了解决这一问题,LLaMA适配器被设计用于使用自指令演示在带适配器的大型语言模型(LLaMA)上进行有效的自适应。适配器架构包含零初始化注意机制,并在指令跟随和多模式推理任务上测试了域专业化能力。
随着适配器应用的扩展,一些技术虽然没有明确声称对领域专业化有效,但通过在下游任务上提供良好的性能,或者在现有的领域专业化框架中作为集成组件,已经证明了其潜力。因此,适配器通常根据其架构分为神经适配器和低阶适配器。为了促进用户友好的实施,越来越多的工作致力于构建不同适配器的全面框架。某些研究还表明,适配器集成可以在各种下游任务中产生卓越的性能。
神经适配器。我们将具有神经网络架构的适配器称为神经适配器。在他们最初的设计中,[79]使用了以前馈层为主干的向下投影、GeLU非线性和向上投影的组合。后来[16]将体系结构简化为单隐层前馈网络,并证明了域自适应的有效性。适配器模块插入在Transformer中的多头注意和前馈层之后。这些适配器被命名为瓶颈适配器或串行适配器。在参考[79]时,我们在本文中使用了后者。
神经适配器的开发自然受到神经网络架构设计的启发,如ResNet、自动编码器、注意力机制等。[182]中使用的适配器具有额外的残差连接。不久之后,[184]提出了具有可逆适配器的MAD-X框架,这些适配器被插入到输入附近,并被反转以馈送到输出嵌入中。在高层,可逆适配器可以被认为是自动编码器的模仿。微小注意力适配器探讨了适配器使用具有微小人均维度的注意力的有效性。到目前为止,大多数提出的体系结构都将全连接层应用于适配器中的向下投影和向上投影。然而,Compacters认为参数化超复数乘法层是一种替代方案,其具有与全连接层类似的形式,但学习Kronecker乘积的和。主要优点是参数效率。另一种实现这一点的方法受到网络修剪的启发,如SparseAdapter所提出的,通过在初始化时进行修剪来进一步减少训练参数。请注意,SparseAdapter是一种适用于神经适配器的通用技术。通过插入聚集适配器可以被认为是语言模型内部的自适应,另一种选择是语言模型外部的自适应。-adapters提出在不同的知识域上单独训练多个adapters,然后通过级联将学习到的知识注入语言模型。最近,Sung等人提出了对所需高训练内存的担忧,因为反向传播通过插入适配器的语言模型进行传播。他们进一步提出了阶梯侧调优,只在通过快捷方式连接到语言模型主干的语言模型侧添加小模块。这两种技术都使用MLP进行演示,但在不同的适配器体系结构中保持灵活性。
低阶适配器。低秩自适应(LoRA)的灵感来自于观察到的大型语言模型位于固有子空间上,其中模型参数被有效更新。因此,在该子空间中的学习显著地减少了参数的数量。LoRA模块植入可学习SVD块作为具有低矩阵秩的子空间 r ≪ d r\ll d r≪d, 其中 d d d是输入数据的维度。矩阵与预先训练的权重并行添加,从而在微调过程中保持它们的冻结状态。值得注意的是,LoRA在进一步减少训练参数的数量和在推理过程中不引入延迟方面表现出优势。
这方面的后续工作是DyLora,它使用动态搜索解决了LoRA的两个问题:固定块大小和对最优秩的穷举搜索。最近,LoRA的另一个问题是,低秩模块的表示能力有限,并通过Kronecker适配器(KronA)进一步解决了这一问题。其本质是用具有两个较小尺寸矩阵的Kronecker乘积模来代替SVD模。尽管对低级别适配器的跟进不多,但LoRA模块作为一个重要的构建块被包括在各种集成适应框架中。关于这些框架的更多细节如下。
集成适配器框架。如上所述,随着有效适配器的蓬勃发展,将不同系列的几个适配器结合起来以提高其性能是一种自然的扩展。AdapterFusion采用了一个简单的想法:在不同的任务上训练多个适配器,并将每个适配器的学习嵌入与融合层相结合。UniPELT提出通过门控机制激活最适合当前数据或任务设置的不同方法组合。子模块包括串行适配器、LoRA、Prefix-tuning和Bitfit。与UniPELT正交,AdaMix堆叠了多个相同类型的适配器,但通过使用随机路由训练激活避免了更多的计算成本。AdaMix可以被视为适用于任何适配器的通用技术,尽管它们仅在串行适配器和LoRA上实现。
在适配器清单上学习路由函数的想法进一步启发了后续工作。在多任务学习的背景下,Polytropon联合学习适配器清单和路由函数,以重新组合不同任务之间共享的各种大小的微调适配器。[29]进一步研究了该方案的变体,包括用权重平均代替路由函数,或用多头路由函数来实现更好的表达。在面向实现方面,AdapterHub是集成了所有主流适配器的最全面、最易于使用的库。然而,唯一的缺点是缺乏对大型语言模型的支持。最近,LLM-adapters引入了一个包括开放访问大型语言模型(如LLaMA、OPT、GPT-J等)的框架。它包含四个适配器作为基本组件(串行适配器、MAD-X、并行适配器和LoRA),并保持对新模块的可扩展性。领域专业化的研究进一步探索了数学推理。
适配器的广泛应用源于其与语言模型的模块化兼容性、灵活的集成设计以及高效的特定领域数据微调,从而推进了基于适配器的微调范式。然而,这些方法也有缺点。首先,插入模块的性能可能对不同任务和领域的架构设计和大小敏感,这可能导致代表能力不足或对有限数据的过度拟合。其次,额外的模块扩大了模型的规模,带来了新的资源需求,并可能延长推理时间。最后,正如Sung等人所指出的,基于适配器的方法所需的训练记忆仍然很大,因为即使在先前的参数被冻结的情况下,反向传播也涉及整个模型。
鉴于这些讨论,我们概述了将适配器应用于LLM以实现域专业化的公开挑战:
尽管在大型文本语料库上训练的LLM具有这些令人难以置信的能力,但要从根本上提高模型性能,除了小样本示例和辅助适配器之外,仍然需要在大量高质量的特定领域数据集上更新LLM的内部参数。然而,在任何(领域)特定任务上微调LLM都会带来两个挑战:1)更新LLM的全局知识可能会破坏上下文学习能力,原因包括但不限于过拟合、灾难性遗忘和特定任务偏见。2) 由于庞大的参数空间和深度模型架构,微调LLM在计算上是昂贵的。在本节中,我们回顾了关于如何更新LLM的全局知识的最新技术,这些技术主要可分为两个领域:基于指令的微调和部分知识更新,以分别应对这两个挑战。
基于指令的知识更新是指通过在具有明确指令或提示的不同任务集上微调LLM来更新LLM的参数知识,这在概念上与[174]中引入的指令学习相同。图8中提供了使用指令对LLM进行微调的说明,其中LLM在整个NLP应用程序域的任务集合上进行微调,LLM部署在保留和看不见的任务上。Wei等人首次尝试基于通过指令描述的数据集对LLM进行微调。从经验上讲,有效的指令可以大大提高看不见任务的零样本性能。指令调优语言模型FLAN在137B LLM上使用自然语言指令模板对60多个NLP数据集进行微调。研究表明,FLAN在大多数看不见的任务上都优于未经修改的同类产品,甚至超过了零样本和小样本175B GPT-3。随后,在Chung等人Menick等人最近的工作中,明确的指令被用于微调LLM,重点放在(1)扩大任务数量,(2)扩大模型的大小,以及(3)微调思想链数据。因此,微调LLM在零样本和小样本NLP任务的许多基准上都获得了最先进的性能。
使用人工指令进行微调。根据人类指令进行微调旨在引导LLM根据用户意图生成更安全、真实、毒性更小的内容。大多数LLM使用自回归方法,使得生成的内容在很大程度上受到训练语料库分布的影响,并且不太可控。从人类反馈中强化学习(RLHF)是一种将LLM内容与人类需求相结合的显著技术。在RLHF中:1)LLM为提示创建多个内容选项,由人类根据质量、相关性和期望的输出对齐进行排序;2) 外部奖励模型基于排名为内容分配分数,捕捉评价者的偏好;3) 使用强化学习技术更新模型策略以最大化预期回报,微调模型以更好地与人类偏好保持一致;4) 这个内容生成、排名、奖励建模和策略优化的过程在迭代中重复,模型不断从人类反馈中学习。现有方法成功地将RLHF应用于使用人工指令对复杂推理任务的LLM进行微调。
基于指令的知识更新的潜在局限性。基于明确指令的知识更新往往在自然语言理解任务中表现良好,但仅限于更简单的指令,并且难以处理与评估集不同的任务。提高对不同任务的适应性往往会导致灾难性的遗忘。一个关键的问题是在不造成这种遗忘的情况下扩展模型知识和能力。最近,Huang等人提出了一种方法,该方法使用预先训练的LLM为未标记的问题生成高置信度、基本原理增强的答案,在没有基本事实标签或明确指令的情况下改进了一般推理。此外,Scialom等人通过在各种任务中微调LLM,并引入一种通过排练持续学习来应对灾难性遗忘的方法,在不忘记先前技能的情况下扩展LLM知识和能力。
除了利用特定任务指令来微调LLM之外,出现了许多方法,通过更新/编辑链接到特定知识的LLM参数的一部分来进行LLM微调,而无需利用外部指导。假设 f Θ ( ⋅ ) f_\Theta(\cdot) fΘ(⋅)表示用参数集 Θ \Theta Θ参数化的LLM的函数,并且 θ ∈ Θ \theta\in\Theta θ∈Θ是 Θ \Theta Θ中的单个参数。更新的内部知识 f Θ ( ⋅ ) f_\Theta(\cdot) fΘ(⋅)基于训练数据 D D D的集合表示为:
Θ ~ = Θ + ∇ f Θ ( D ) ⊙ T , T ( i ) = { 1 , i f θ ( i ) ∈ Θ T 0 , i f θ ( i ) ∉ Θ T \begin{equation}\tilde\Theta=\Theta+\nabla f_\Theta(D)\odot T,\quad T^{(i)}= \begin{cases} 1,& if\quad\theta^{(i)}\in\Theta_T\\ 0,& if\quad\theta^{(i)}\notin\Theta_T \end{cases} \end{equation} Θ~=Θ+∇fΘ(D)⊙T,T(i)={1,0,ifθ(i)∈ΘTifθ(i)∈/ΘT
其中 T T T表示掩码矢量 T ( i ) ∈ T T^{(i)}\in T T(i)∈T表示 T T T的第 i i i个元素. 掩码控制在每次微调迭代中要更新的LLM内部知识的数量,其中我们使用 Θ T ⊆ Θ \Theta_T\subseteq\Theta ΘT⊆Θ来表示需要在 Θ \Theta Θ中更新的参数。在微调预先训练的语言模型的传统设置中, ∣ Θ ∣ = ∣ Θ T ∣ \lvert\Theta\rvert=\lvert\Theta_T\rvert ∣Θ∣=∣ΘT∣。然而,在LLM的上下文中,更新所有参数在计算上是被禁止的,并且是消耗资源的。从经验上讲, ∣ Θ ∣ ≫ ∣ Θ T ∣ \lvert\Theta\rvert\gg\lvert\Theta_T\rvert ∣Θ∣≫∣ΘT∣,指的是仅修改少量参数。现有的参数有效知识更新可以分为三类:即,知识编辑旨在直接定位和更新LLM中的一小部分参数;梯度掩蔽旨在掩蔽微调过程中的非相对参数的梯度;知识蒸馏侧重于从LLM获得具有领域特定知识的子模型。
知识编辑。最近的研究表明,用新的记忆更新LLM以取代过时的信息或添加专门的领域知识是成功的。例如,提高更新过时预测的能力,如“鲍里斯·约翰逊是英国首相”,可以提高LLM的可靠性和泛化能力。已经提出了各种方法来定位和编辑LLM的参数知识。De Cao等人提出了一种超网络,该超网络经过训练,可以在需要修改的单个事实的情况下更新LLM参数,避免微调以防止性能退化。然而,后来的工作发现,随着LLM的扩大,基于超网络的编辑会出现问题,提出了基于检索的方法,将编辑存储在外显记忆中,并对其进行推理,以调整LLM预测。其他方法侧重于定位和理解LLM内部机制。值得注意的工作通过注意力机制和因果干预确定了LLM事实预测的关键神经元激活,成功地更新了领域事实。最近提出了一种方法,使用这些编码作为知识编辑器和探针,学习LLM内部表示中从文本查询到事实编码的映射。
梯度掩盖。梯度掩蔽是一种用于在微调过程中选择性地更新LLM的特定部分的技术。主要目标是减少计算开销,并可能缓解灾难性遗忘或过拟合等问题,特别是在将预先训练的模型适应较小或专门的数据集时。梯度掩蔽涉及在反向传播期间通过应用掩蔽函数来修改梯度(等式(1))。该函数确定模型的哪些部分将被更新,从而有效地掩盖某些参数的梯度并保持它们不变。要屏蔽的参数的选择可以基于各种标准,例如它们与任务的相关性、在模型中的重要性或对总体损失的贡献。
早期的尝试已经通过利用各种正则化技术来有效地微调相对较小的语言模型,他们的方法不能容易地适应微调LLM。这主要是由于有效训练LLM所需的数据和计算资源量要大得多,这可能比较小的语言模型所需的多几个数量级。为了将梯度掩码添加到LLM,CHILD-TTUNING利用下游任务数据来检测作为子网络的大多数任务相关参数,并将非子网络中的参数冻结为其预先训练的权重。此外,张等人提出了一种用于有效微调LLM的动态参数选择算法,该算法基于反向传播的梯度自适应地选择更有前途的子网络来执行阶段更新,这在低资源场景下为特定领域的下游任务带来了很大的改进。
知识蒸馏。虽然大多数关于LLM自知识更新的工作都集中在特定任务的指令和参数效率上,但一个很有前途的研究领域探索将LLM中的特定领域知识蒸馏到更小的网络中,以减少推理延迟并提高特定领域的任务解决能力。Muhamed等人将15亿参数LLM压缩为7000万参数模型,用于点击率预测,引入了双结构类BERT编码器和融合层,用于从单个LLM中提取跨架构,从而在在线和离线设置中获得卓越的性能。类似地,使用知识蒸馏模块进行LLM微调,实现更快的收敛和更好的资源利用率。该模块利用预先训练的参数进行快速收敛,并训练一小部分参数来解决模型参数化问题。此外,将较大模型的逐步思维链推理能力蒸馏为较小模型。
利用最新数据对LLM进行微调,确保它们提供相关和准确的信息,尤其是在发生快速变化的领域,如技术、医学和时事。此外,我们观察到不同的应用程序或用户可能有独特的要求或偏好。然而,对大规模LLM进行微调也带来了一些悬而未决的挑战:
在这篇综述论文中,我们探讨了LLM在社会科学(如教育、金融、法律)、自然科学(如生物医学、地球科学)和应用科学(如人机交互、软件工程和网络安全)的一系列特定领域任务中的应用。为了在这些不同的领域实现LLM的领域专业化,读者可以使用各种技术,如外部扩充、指令制作和知识更新。这些方法可以帮助LLM适应每个领域的特定任务和挑战,从而实现更准确、相关和有效的应用程序。尽管每个领域都有其独特的挑战和要求,但专业LLM的几个常见应用程序在这些领域中是共享的:
在本节中,我们将深入回顾现有的将LLM专门用于特定领域任务的技术,并详细讨论潜在的开放挑战。
语言模型在生物学领域越来越有用,从基础生物医学研究到临床医疗支持。在基础生物医学科学层面,LLM可以根据大量领域专业数据(如基因组和蛋白质组学)进行训练,以分析和预测生物功能、疾病机制和药物发现。LLM还可以帮助预测蛋白质结构和相互作用,这对理解细胞过程和设计新药至关重要。在临床医疗支持层面,预先训练或医学语料库微调的LLM可用于医疗记录的自然语言处理,以识别模式、进行诊断并提供个性化的治疗建议。此外,LLM可以以多模态学习的方式帮助医学图像分析,例如识别X射线或MRI扫描中的特定特征。总的来说,LLM为推进生物学研究和改善医疗保健结果提供了巨大的潜力。
LLM的最新进展为基础生物医学研究提供了有希望的结果。这些模型允许整合各种数据源,如分子结构、基因组学、蛋白质组学和代谢途径,从而能够更全面地了解生物系统。已经为分子和生物科学开发了几种特定应用的LLM。例如,MoLFormer是一种具有相对位置嵌入的大规模分子SMILES transformer模型,能够对分子中的空间信息进行编码。核苷酸转换器是一个在DNA序列上预先训练的基础模型,用于准确的分子表型预测,本质上是将单个氨基酸或k记忆DNA片段视为词汇表中的单词,并使用LLM从生物序列中学习。ESM-2和ESMFold是进化尺度建模(ESM)家族中包含的转换蛋白质语言模型,可以直接从蛋白质序列生成准确的结构预测,并且优于其他单序列蛋白质语言模型。ProtGPT2是一种在蛋白质空间上训练的语言模型,根据自然原理生成从头蛋白质序列。ProGen是一种深度学习语言模型,可以生成跨大蛋白质家族具有可预测功能的蛋白质序列。使用ProGen对不同溶菌酶家族进行微调的人工蛋白质显示出与具有低序列同一性的天然蛋白质相似的催化效率。
LLM极大地帮助了医学文本和电子健康记录的理解,为医疗保健带来了一系列潜在的好处。最近,已经为生物医学领域中的各种NLP任务开发了几个主要的领域特定LLM。BioGPT是一个在大规模生物医学文献上预先训练的领域特定的Transformer语言模型,它在大多数生物医学NLP任务上取得了令人印象深刻的结果,涉及文档分类、关系提取、问题回答等。BioMedLM是另一个在the Pile的生物医学文献上训练的最先进的GPT风格的语言模型,能够在包括MedQA在内的各种生物医学NLP任务上实现高精度,并具有语言生成能力,开发用于研究目的,以促进生物医学NLP应用程序的开发以及领域特定语言模型的负责任训练和利用。[234]探索LLM合成数据在临床文本挖掘中的应用。Med PaLM还根据医生和用户小组的判断,为消费者健康问题提供准确、有用的长篇答案,这有助于根据患者的独特健康状况向患者推荐定制药物的治疗建议。这可以帮助医生为患者选择最有效的药物,最终提高治疗效果。GatorTron是在由临床叙事和科学文献中的900多亿个单词组成的大型语料库上使用不同大小的BERT架构从头开始的模型。[272]在学习非结构化电子健康记录的基础上,从头开始进一步开发了GatorTro模型。此外,LLM还可以直接帮助根据患者过去的病史预测患者可能患上的潜在疾病。例如,Med BERT在大规模结构化电子健康记录上生成预先训练的上下文嵌入,用于疾病预测。ChatCAD提出了一种将LLM集成到医学图像计算机辅助诊断(CAD)网络中的方法,目的是为患者创建一个更用户友好的系统并提高CAD性能。LLM也为领域教育者或政策制定者带来了机遇和挑战。在公共卫生信息学方面,LLM的使用也有助于分析有关新冠肺炎疫情对全球社会影响的对话,这些对话是在推特等社交媒体平台上进行的。
在生物医学领域,由于缺乏高质量的标记数据,LLM的利用面临着重大挑战。不同任务中生物医学数据的复杂性和异质性使得适当的注释耗时且昂贵,需要特定领域的专业知识。在特定生物医学数据集上训练的LLM可能缺乏对不同患者群体和临床背景的可推广性。幻觉,即产生不准确或不正确的信息,是生物医学中LLM的一个主要问题,这可能导致现实世界应用中的有害错误。例如,生物医学文献训练的LLM中药物和疾病之间的假阳性关系可能导致不正确的治疗建议或不良反应。尽管存在这些挑战,LLM在生物医学中的应用为研究和临床实践提供了充满希望的机会。最近的研究表明,像GPT-3这样的LLM可以有效地捕捉生物医学语言的语义和上下文,促进生物医学知识的更准确表示。LLM能够集成和分析各种生物医学数据源,支持精确的医学本体论和分类法的发展。它们还能够鉴定新的表型和基因型相关性,并发现新的药物靶点。为了降低产生不准确信息的风险,可以采用各种方法,例如利用精心策划的数据集,实施基于抽样的自检方法,进行因果关系分析,以及结合外部知识来增强LLM。通过应对这些挑战并利用LLM的优势,LLM在生物医学中的使用可以彻底改变医疗保健的提供并改善患者的预后。
地球科学是一个跨学科领域,专注于研究不同空间和时间尺度上物理系统和人类系统之间的相互作用。该领域融合了地球观测、信息科学、空间分析、复杂性理论和模拟建模等方法,以研究气候变化、土地利用变化、自然灾害、环境发展和城市化等现象。空间信息对地球科学至关重要,地理信息科学工具对于涉及空间数据的广泛跨学科研究来说是非常宝贵的。像ChatGPT这样的大型语言模型可以充当问答系统,帮助那些对地球科学感兴趣的人获得相关知识,例如为特定研究目的推荐最佳地球观测数据集,提供谷歌地球引擎代码等代码示例来处理卫星数据,为环境相关问题提供高质量的回答,发展创新理念,生成气候情景。LLM还可以通过微调、小样本甚至零样本学习等方法,针对各种与地球科学相关的下游任务进行定制。
一项研究评估了GPT-2和GPT-3的两项地理空间语义任务:地名识别和位置描述识别。前一项任务涉及检测给定文本片段中的命名位置,后一项任务需要从推文等文本片段中识别更详细的位置描述,如家庭地址、高速公路、道路和行政区域。研究结果表明,任务不可知LLM在两项任务中都可以超过特定任务的完全监督模型,在小样本学习场景中有显著改进。此外,通过合并四个不同大小的预训练GPT-2模型,即最新的GPT-3、InstructionGPT和ChatGPT,以及针对相同的两个代表性地理空间语义任务的各种监督的任务特定基准,扩大了这一比较。结果表明,LLM只有有限数量的少量样本,在定义明确的地理空间语义任务中可以优于完全监督的任务特定模型。这突出了LLM在很大程度上减少地理空间语义任务对自定义架构或广泛标记数据集的依赖方面的潜力。然而,有必要进行进一步的研究,以确定在特定的地理空间语义任务中创建适当提示以指导LLM的最有效方法。
LLM通过基于提示的学习方法越来越多地用于各种地理空间人工智能任务,包括分类和时间序列预测。在Mai等人的一项研究中,城市区域内不同类型兴趣点(POI)的频率被转换为文本段落。研究人员根据这段话使用LLM来预测该地区的城市功能。该研究将GPT2、GPT-3和ChatGPT模型在零样本和一次性设置下与两个监督学习神经网络进行了比较。结果表明,与其他GPT模型相比,ChatGPT表现出优异的精确度和召回率。另一个例子是PromptCast,一个基于提示的时间序列预测模型。作者在三个真实世界的数据集上进行了预测:城市温度数据、人类流动安全图和电力消耗负荷数据。在单步和多步预测环境中的研究结果证明了使用语言生成模型进行基于提示的时间序列预测的潜力。此外,与传统的基于数值的预测相比,PromptCast在零样本环境下具有更好的泛化能力。此外,Mai等人利用LLM预测了不同地理区域(包括州和县)因痴呆症死亡的人数。
LLM实现了多模态分析,将文本、音频、图像和视频与视觉模型等其他基础模型集成。在Mai等人的一项研究中,使用街景图像噪声强度数据集,将VLFM(OpenCLIP、BLIP和OpenFlamingo-9B)用于城市感知任务。尽管在城市研究中,大多数VLFM在将视觉特征与细微的语义和概念联系起来方面面临挑战,但BLIP证明了平衡合理的预测,与微调的CNN模型相当。VLFM可以从视觉输入中理解城市社区的某些特征,但他们的纯语言能力不如LLM强。张等人开发了Text2Seg,这是一种使用文本提示促进遥感图像语义分割任务的管道。管道包含三种方法:Grounding DINO从文本提示生成边界框,用于SAM创建分割图;CLIP Surgery从文本提示中生成热图,采样以创建SAM生成分割掩码的点提示;并且SAM与使用CLIP的文本提示的语义相似性相比生成多个分割图。初步评估强调了在一条管道中集成多个基础模型的好处。
尽管LLM在一些仅使用语言的地理空间任务中显示出作为零样本或小样本学习者的前景,但它们也因产生不准确和误导性的结果而受到批评。在地理环境中,这个问题尤其成问题,因为生成地理上可靠的结果对于几乎所有的GeoAI任务都至关重要。LLM在更复杂的地理空间语义任务中面临挑战,如地名解析/地理搜索和地理问答,因为它们无法在现实世界中进行隐含的空间推理。此外,将LLM与其他基础模型集成以执行涉及多种数据模式的任务仍然是该领域的一个重大挑战。
NLP技术在金融业,特别是金融科技领域的应用广泛且不断增长。交易和投资管理领域中常见的NLP任务包括情绪分析、生成语言模型的问答、命名实体识别(NER)、文本分类。
金融工具的价值往往受到有关基础实体的公开信息的影响。各种形式的金融文本,如新闻文章、分析师报告和美国证券交易委员会的文件,都是可能影响市场价格的新信息的潜在来源。因此,近年来,使用NLP技术进行情绪分析来预测价格走势和回报越来越受欢迎。
FinBERT是一种经过微调的金融BERT模型,已成为金融情绪分析的有用工具。虽然一般的BERT模型已被证明比传统的基于字典的金融情绪分析方法更有效,但FinBERT在解决金融环境中使用的专业语言所带来的独特挑战方面尤其有用。FinBERT模型在金融语料库上进行了预训练,然后专门针对情绪分析任务进行了微调,产生了比以前最先进的方法更好的结果。ChatGPT模型是该领域的一个新加入者,在使用新闻标题的情绪分析预测股价的研究中也显示出了有希望的结果,优于BERT和早期的模型,如GPT-1和GPT-2。它还被用于评估新闻媒体的可信度,为其在金融部门的应用增加了另一个维度。就像BERT一样,ChatGPT在处理金融中使用的专业语言时可能会遇到挑战,这表明微调该模型以使其成为金融情绪分析任务的主要工具是一个巨大的机会。
生成语言模型被发现在金融行业的销售和客户参与过程中特别有用,无论是在消费金融、保险还是投资金融。例如,金融机构部署了客户服务聊天机器人,为客户查询提供即时响应。聊天机器人大多是使用通用BERT模型、seq2seq、word2vec或基于机器学习的分类模型以及历史问答数据开发的。对于金融产品销售人员来说,生成语言模型被广泛用于自动化销售电子邮件、建立销售电话议程、总结销售笔记以供客户洞察和发现产品趋势。随着LLM的出现,具有历史客户查询数据或领域财务背景的微调LLM将有望增强当前金融生成任务。
GPT-3的发布引发了人们对其在各种特定领域的潜在用途的好奇,如税务咨询和投资组合建设。初步评估表明,尽管GPT-3的表现比随机猜测要好,但它在这些任务中仍达不到人类的表现。然而,彭博社特定领域LLM BloombergGPT的首次亮相表明,在不影响其在一般LLM基准上的表现的情况下,财务任务的表现有了显著改善。这进一步激发了人们对金融领域特定领域LLM的兴趣,促使人们预测具有类似能力的模型的未来发展,无论是通过特定金融数据的训练还是微调现有模型。尽管取得了这些有希望的成果,但LLM在金融领域的应用并非没有挑战。值得注意的是,数据安全和知识产权问题在该行业具有重要意义。公司理所当然地担心其专有数据在模型训练过程中被泄露的可能性。此外,当GPT生成的代码被纳入商业软件产品时,知识产权的所有权也会出现问题。随着该领域的进展,需要解决这些问题,以促进LLM在金融部门的更广泛应用。
一般PLMs在许多NLP任务中显示出巨大的前景,包括在法律领域。然而,由于法律语言的复杂性,这些通用模型可能达不到要求。为了提高法律应用的准确性,Chalkidis等人提出了专门针对法律语料库进行训练的legal-BERT,从而提高了法律文本分类性能。Prasad等人进一步表明,即使在不熟悉的法律领域,微调LEGAL-BERT也可以提高其有效性。尽管有这些改进,Valvoda等人警告说,LEGAL-BERT可能会在法律结果中产生不对称的预测,这可能会影响现实生活中的法律决策。这些发现促使NLP研究人员为法律等细致入微的领域开发专门的语言模型,如LLM。目前的努力可分为两大类:一类侧重于LLM领域的适应,如法律提示,另一类通过实证评估考察LLM在法律应用中的变革潜力。
与GPT-3一样,LLM在处理法律任务方面的潜力也得到了探索,包括法定推理和法律判决预测。鉴于法律提示在法律领域的重要性,法律提示已被用于指导和协助LLM完成这些任务。例如,Blair-Stanek等人使用不同的指令方法,包括零样本提示、小样本提示和思维链提示,调查了GPT-3在法定推理中的表现。研究表明,思维链提示达到了最高的准确性,尽管法律推理技术通过进一步提高准确性而超过了这一点。研究人员利用模板和模式来指导GPT-3的推理过程,从而提高了法律推理任务的准确性。在法律判决预测方面也观察到了类似的性能改进。Yu等人使用思想链提示来指导GPT-3模型,并证明了该任务的性能有所提高。具体而言,他们向GPT-3提供了法律案件摘要,并要求其预测案件的结果。作者发现,该模型可以在法律提示的帮助下准确预测结果。Trautmann等人证明,零样本法律提示工程比所有基线都表现得好,但与监督方法相比还不够。
LLM的发展吸引了法律学者的注意,他们探索了LLM在法律领域革命的潜力。LLM的一个潜在应用是协助法律教育和法律考试的准备工作。Bommarito等人、Choi等人和Katz等人进行了案例研究,以在法律提示的帮助下评估LLM在法律考试中的表现。结果表明,在法律提示的辅助下,LLM可以取得良好的绩效。然而,值得注意的是,LLM预计不会取代法律界的律师。LLM在法律领域的一个局限性是,由于数据来源过时,它们很难识别最近的判例法。Macey等人和Iu等人讨论了这个问题,并建议LLM需要接受最新法律数据库的训练,以提高其在这一领域的表现。
LLM在法律领域的使用已经显示出前景,但还需要进一步的研究来充分了解其潜力和局限性。一个令人担忧的问题是,类似受版权保护作品的类人文本的产生,引发了知识产权问题。未来的工作可能侧重于开发基于LLM的工具,通过利用外部版权数据库来检测版权侵权。数据隐私是另一个挑战,因为LLM是在可能包含个人和敏感信息的广泛数据集上训练的。这引发了人们对受保护数据的无意披露或重建的担忧,要求遵守GDPR等数据隐私立法。潜在的解决方案包括提供提示,提醒LLM将受保护的数据保密,或使用没有私人信息的外部数据集对其进行微调。偏见和公平性也是LLM关注的问题,因为它们可能会从训练数据中学习并延续偏见。这可能会影响法律背景下的决策,例如法律论据的发展或案件结果的预测。解决这一问题可能涉及基于提示的指导,以纠正偏见或参考外部无偏见的案例数据库。这些领域需要进一步调查,以确保LLM在法律领域的负责任和合乎道德的使用。
LLM在各个方面彻底改变了教育,包括医疗保健研究、医学教育、图书馆管理、期刊和媒体教育、工程教育、学术界、自学教育和高等教育。LLM的引入对学生和教师都有好处:对学生来说,LLM的使用促进了提问技能的训练,让学生参与解决现实世界的问题,增强了药理学和代数作为自学工具的学习。对于教师或学院来说,LLM在辅助教学技能(如机械写作)和减少教学工作量(如简答题质量评估和课程设计)方面具有巨大潜力。尽管LLM有潜在的好处,但许多现有的工作证明了LLM的局限性,如难以理解高级科目和无法解决难题。一些初步调查利用促进技术来提高LLM的性能。这将激励更多未来的工作来探索教育领域规范技术,这仍然是一个开放的研究领域。该领域现有的研究工作可分为两类:评估LLM在各种教育任务中的表现,以及解决LLM引入教育伦理所引起的担忧。
一个重要的研究领域考察了LLM在各种科目中的有效性,旨在评估其作为学习助手的潜力。关于LLM在医学检查中的能力的争论仍然是该领域的热门话题。虽然一些案例研究表明,LLM在医学考试中的表现比学生差,但其他实验表明,无论是通过思维链提示还是在没有额外微调的情况下,LLM都在医学考试上表现良好。数学中也存在类似的争议,其中ChatGPT的性能因问题要求的不同而有很大差异。此外,一些研究表明,ChatGPT的数学能力低于普通数学研究生。相比之下,Kortemeyer、Bordt和Luxburg发现,ChatGPT可以通过物理和计算机科学的本科水平考试。Bommarito等人还证明了ChatGPT在CPA考试中的表现有所改善。
与大多数对LLM考试成绩的评估相反,Tack和Piech调查了GPT-3的教学能力,发现它在几个教学维度上比真正的老师差得多。尽管结果喜忧参半,LLM帮助学生学习的潜力仍然是一个重要的研究领域。通过提供即时反馈和个性化的学习体验,LLM可以帮助学生识别自己的优势和劣势,并更好地了解材料。此外,它们还可以帮助教师提供个性化的教学,开发课程内容,减轻行政任务的负担。
LLM为增强学生的学习体验提供了许多可能性,但也带来了伦理挑战和风险。一个重大风险是科学不端行为,学生可以使用GPT-3等LLM生成令人信服的、看似原创的文本,而无需额外的学习或努力。这种潜在的学术不诚实可能会对学生和教育机构造成严重影响。此外,学生可能会使用ChatGPT等LLM来撰写论文,而不是独立撰写,这破坏了教育的核心原则。ChatGPT批判性思维和以最少的投入编写高度现实的文本的能力进一步加剧了对教育完整性的威胁。此外,Khalil和Er指出,ChatGPT可以创建复杂的原始文本,这些文本不会被著名的剽窃检测工具发现,从而增加了学术不端的风险。几篇论文提出了打击剽窃和不诚实行为的潜在有效策略。例如,设计鼓励独创性和创造性的开放式评估可以促进学术诚信。结合口头陈述、小组项目和实践活动,要求学生以更具吸引力和互动的方式展示他们的知识和技能,也有助于培养诚实,减少对LLMs的依赖。通过部署这些策略,教育工作者可以培养一个鼓励独创性、创造力和学术诚信的环境,同时仍然利用LLM的优势。
教育领域的LLM专业化为未来的研究和创新提供了许多机会。从外部资源增加的角度来看,LLM可以用于搜索定制的教育内容和资源,以满足个人学习者的需求、偏好和能力,从而促进更有效和个性化的学习体验。从提示制作的角度来看,LLM可以进行定制,为用户提供的问题生成逐步解释。在模型微调方面,可以使用专门的LLM作为一个特定科目的家庭作业自动评分器。此外,LLM还可以进行微调,以检测潜在的剽窃和学术不端行为。
随着人工智能的发展,配对编程范式催生了“人工智能配对程序员”一词。LLM能够以不同类型的提示制作做出响应,这为将LLM作为软件开发人员的一个引人注目且有前景的组件带来了巨大的可能性。此外,无论是代码理解还是代码生成任务,预训练的LLM都可以优于未预训练的模型。正在进行的研究可以分为两个更广泛的视角。一组是否试图使用广义LLM,而另一组是否更专注于使用代码训练的LLM(LLMC)。
一项关于GPT-3的早期研究证明了人工智能生成的代码可以减少软件生产时间的假设。但是,广义LLM的性能在软件开发中仍然不尽如人意。例如,在研究[91]中,ChatGPT面临资源不足或语言遥远的困难,只能正确回答37.5%。尽管如此,基于对话的LLM仍然可以很有希望地帮助解决生命科学中的编程练习,特别是在生物信息学领域。使用专家起草的代码簿,与专家编码的结果相比,GPT-3的性能可以显著提高。另一种提高性能的方法是使用多个LLM来分配工作负载。通过遵循自协作框架,三个ChatGPT角色(即分析师、编码器和测试人员)可以改进LLM的传统编码生成。
基于代码的大型语言模型(LLMC)是基于代码的LLM的专门版本,如GPT-J-6B、GPT-Neo、Codex(几乎可以应用于所有编程任务)、Alphacode(需要更深入推理的问题)。关于基于LLM的代码完成框架,有许多研究侧重于降低成本、安全含义、代码解释或在不同领域的潜在扩展(例如,逆向工程、编程语法错误等)。通过利用Codex,模型CodexDB可以处理SQL查询。他们利用DB目录和文本到SQL的方法从自然语言指令中进行SQL查询。Codex还可用于通过组合来自多个来源(源代码、文档和编译器的错误日志)的上下文来生成文档特定的代码示例。同样,LLMC不仅限于编码。在结构遵循类代码模式的任务中(意思是表示),LLMC可以遵循与LLM相同的性能。
LLM对给定提示的语义理解与人类层面的理解并不相同。它可能导致从逻辑上相同但语义上不同的提示中产生不同的代码。此外,程序综合还需要确保性能、安全性、许可归属和多模式规范。另一方面,LLM更新可能导致为同一提示生成不一致的代码。因此,尽管LLM的适应性很有希望,但在它能够可靠地用于各种环境中的软件开发之前,它仍然需要进一步的进步,包括代码摘要、代码修复、代码翻译、代码生成、代码搜索、程序理解、程序调试(即检测、定位和修复)、代码解释等。
总之,大型语言模型的快速发展激发了人们对利用其潜力来处理各种自然、社会和应用科学领域中特定领域任务的极大兴趣。然而,一些挑战,如有限的特定领域专业知识、知识启发和模型复杂性,阻碍了LLM在这些领域的直接应用。本综述根据对LLM的访问级别,对现有的领域专业化技术进行了系统的分类和总结,并对可以从专业LLM中受益的应用程序领域进行了全面的分类。
通过对不同技术和领域之间的优势、劣势和关系进行详细分析,本综述旨在帮助领域专家确定适合其目标问题设置的技术,同时让数据科学家清楚地了解各种应用领域中的实际意义和公开挑战。此外,该论文强调了该领域的研究现状,揭示了跨学科合作的未来趋势和潜在途径。随着LLM领域专业化的不断发展,这项综述为研究人员和从业者提供了宝贵的资源,促进了人工智能在不同领域应用的进一步进步和创新。