语言模型的发展-大语言模型关键技术概览

    规模扩展,规模扩展是大语言模型的一个关键成功因素。在较早期的研究中,OpenAI 从参数、数据、算力三个方面深入地研究了规模扩展对于模型性能所带来的影响,建立了定量的函数关系,称之为“扩展法则”(Scaling Law)(论文在 2020 年发表),并在 GPT-3 中探索了千亿级模型参数规模(175B 参数)所带来的性能优势,为后期研发 GPT 系列模型打下了重要的基础。随后,谷歌研究团队也在 2022 年推出了具有 540B 参数的 PaLM 模型,子公司 DeepMind 也在同年发表了重要研究成果—Chinchilla 扩展法则。研究人员发现这些超大规模语言模型能够展现出一些小型语言模型不具备的能力特点,如上下文学习能力、思维链能力等,这也成为区分上一代预训练语言模型与大语言模型的重要标志。早期的研究主要关注模型参数规模所带来的性能优势,最近的工作则是加大对于高质量数据的规模扩展。针对十亿级别(如 2B 或 7B)参数的模型使用超大规模的数据(如 2T 或 3T 词元)进行训练,仍然可能无法达到这些模型的最大数据容量。实现规模扩展的关键在于模型架构的可扩展性。Transformer 模型的可扩展性非常强,对于硬件并行优化的支持也比较友好,特别适合大语言模型的研发,很多工作也在进一步针对其进行优化与改进。

    数据工程,OpenAI 于 2019 年就在 GPT-2 的论文中给出了当前大语言模型的技术路线图:通过在海量文本上进行下一个词预测的优化,使得模型能够学习到丰富的语义知识信息,进而通过文本补全的方式解决各种下游任务。这种方式最大的好处是,极大地简化了模型的设计与优化过程,使得模型训练与使用都是基于自然语言生成的模式进行的。实际上,人工智能技术的几次重要升级都体现出了这种“大道至简”的思想。例如,早期的深度学习系统通过端到端的训练方法来建立输入与输出间的映射关系,而抛弃了传统耦合多个组件的复杂系统。在这种通用的预训练范式下,模型能力本质上是来源于所见过的训练数据,因此数据工程就变得极为重要,不是简单的扩大数据规模就能够实现的。目前来说,数据工程主要包括三个方面。首先,需要对于数据进行全面的采集,拓宽高质量的数据来源;其次,需要对于收集到的数据进行精细的清洗,尽量提升用于大模型训练的数据质量;第三,需要进行有效的数据配比与数据课程,加强模型对于数据语义信息的利用效率。这三个方面的数据工程技术直接决定了最后大语言模型的性能水平。目前来说,针对英文的开源高质量数据集合比较丰富,相关的数据工程技术讨论也相对较多,但是对于其他语言的研究关注度还有待进一步加强。

    高效预训练,与传统预训练语言模型相比,成功训练出一个性能较强的大语言模型极具挑战性。由于参数规模巨大,需要使用大规模分布式训练算法优化大语言模型的神经网络参数。在训练过程中,需要联合使用各种并行策略以及效率优化方法,包括 3D 并行(数据并行、流水线并行、张量并行)、ZeRO(内存冗余消除技术)等。为了有效支持分布式训练,很多研究机构发布了专用的分布式优化框架来简化并行算法的实现与部署,其中具有代表性的分布式训练软件包括 DeepSpeed和 Megatron-LM,它们能够有效支持千卡甚至万卡的联合训练。在实现上,大语言模型的训练过程需要搭建一个全栈式的优化体系架构,能够支持大规模预训练数据的调度安排,建立起可迭代的模型性能改进闭环,加强效果反馈机制,从而能够快速、灵活地进行相关训练策略的调整。由于大语言模型的训练需要耗费大量的算力资源,通常需要开展基于小模型的沙盒测试实验,进而确定面向大模型的最终训练策略。为此,GPT-4 构建了一整套面向大模型的基础训练架构,可以使用较少的算力开销来可靠地预测大模型的最终性能。此外,研发过程也需要关注较为实用的优化技巧,提升训练稳定性和优化效率,如混合精度训练。

    能力激发,大语言模型经过超大规模数据的预训练后,能够编码大量的文本语义知识信息。然而,这个阶段的模型能力仍然是通过通用的下一个词预测任务建立的,主要目的是为了进行预训练文本数据的恢复。为了提升模型的任务求解能力,需要设计合适的指令微调以及提示策略进行激发或诱导。在指令微调方面,可以使用自然语言表达的任务描述以及期望的任务输出对于大语言模型进行指令微调,从而增强大语言模型的通用任务求解能力,提升模型在未见任务上的泛化能力。通常来说,现有的研究认为指令微调无法向大模型注入新的知识,而是训练大模型学会利用自身所掌握的知识与信息进行任务的求解。在提示学习方面,需要设计合适的提示策略去诱导大语言模型生成正确的问题答案。为此,研究人员提出了多种高级提示策略,包括上下文学习、思维链提示等,通过构建特殊的提示模板或者表述形式来提升大语言模型对于复杂任务的求解能力。提示工程已经成为利用大语言模型能力的一个重要技术途径。进一步,大语言模型还具有较好的规划能力,能够针对复杂任务生成逐步求解的解决方案,从而简化通过单一步骤直接求解任务的难度,进一步提升模型在复杂任务上的表现。

    人类对齐,互联网上开放的无标注文本数据的内容覆盖范围较广,可能包含低质量、个人隐私、事实错误的数据信息。因此,经过海量无标注文本预训练的大语言模型可能会生成有偏见、泄露隐私甚至对人类有害的内容。在实践应用中,需要保证大语言模型能够较好地符合人类的价值观。目前,比较具有代表性的对齐标准是“3 H 对齐标准”,即 Helpfulness(有用性)、Honesty(诚实性)和 Harmlessness(无害性)。与传统的任务优化目标不同,这三个对齐标准一定程度上都与人类主观感知相关,很难直接建立形式化的特定优化目标。为了解决这一问题,OpenAI 提出了基于人类反馈的强化学习算法(Reinforcement Learning from Human Feedback, RLHF),将人类偏好引入到大模型的对齐过程中:首先训练能够区分模型输出质量好坏的奖励模型,进而使用强化学习算法来指导语言模型输出行为的调整,让大语言模型能够生成符合人类预期的输出。由于强化学习算法的优化过程较为复杂,最近学术界开始涌现出一批使用监督微调的对齐方式,从而简化RLHF 优化过程的算法,如 DPO 算法等。随着人工智能算法能力的不断提升,有效监管模型行为以及使用风险变得愈发重要,特别是当模型能力达到一个较高水平之后(如超级智能或人类水平)。为此,OpenAI 还专门发布了“超级对齐”(Super-alignment)的研究项目,旨在研究如何监管具有强人工智能能力的算法。

    工具使用,由于大语言模型的能力主要是通过大规模文本数据的语义学习所建立的,因此在非自然语言形式的任务(如数值计算)中能力较为受限。此外,语言模型的能力也受限于预训练数据所提供的信息,无法有效推断出超过数据时间范围以及覆盖内容的语义信息。为了解决上述问题,工具学习成为一种扩展大语言模型能力的关键技术,通过让大语言模型学会使用各种工具的调用方式,进而利用合适的工具去实现特定的功能需求。例如,大语言模型可以利用计算器进行精确的数值计算,利用搜索引擎检索最新的时效信息。为了能够有效地使用外部工具,GPT 系列模型通过插件机制来形成系统性的工具调用方式,这些插件可以类比为大语言模型的“眼睛和耳朵”,能够有效扩展大语言模型的能力范围。在技术路径上,工具调用能力主要是通过指令微调以及提示学习两种途径实现,而未经历过特殊训练或者缺乏有效提示的大语言模型则很难有效利用候选工具。本质上来说,工具使用这一思想来源于人类行为的启发,人类能够充分利用各种外部工具来提升某种特定技能。例如,人类发明了汽车,能够有效缩短通勤的往返时间。随着应用范围的不断拓展,创建广泛的、可供大模型使用的工具资源变得愈为重要。

    尽管大语言模型技术已经取得了显著进展,但是对于它的基本原理仍然缺乏深入的探索,很多方面还存在局限性或者提升空间。首先,大模型中某些重要能力(如上下文学习能力)的涌现仍然缺乏形式化的理论解释,需要针对大语言模型基础能力的形成原因进行深入研究,从而揭示大语言模型内部的工作机理。其次,大语言模型预训练需要大规模的计算资源支持,研究各种训练策略的效果并进行可重复性的消融实验的成本非常高昂。学术界难以获得充分的算力来系统性研究大语言模型;虽然工业界或者大型研究机构不断推出性能优异的开源大模型,但是这些模型的训练过程的开源程度还不够充分,许多重要的训练细节仍缺乏公开的研究报道。特别地,现有的大语言模型非常依赖于工程方法的优化(如数据清洗等),但是这些技术的理论支撑还比较缺乏。第三,让大语言模型充分与人类价值观或偏好对齐也是一项重要的科研挑战。尽管大语言模型已经具有较好的模型能力,但是在特定场景下或者蓄意诱导下,仍然可能生成虚构、有害或具有负面影响的内容。这一问题随着模型能力的提升而变得更为难于解决。为了应对模型能力未来可能超越人类监管能力的情况,需要设计更为有效的监管方法来消除使用大语言模型的潜在风险。综述所述,大语言模型技术的研究才刚刚开始,仍然存在众多的研究挑战等待突破,需要研究人员和工程人员携手努力解决。

上一篇:Prompt-to-Prompt Image Editing with Cross Attention Control


下一篇:unity学习(86)——细节优化