当前位置:   article > 正文

论文阅读-《A Survey of Large Language Models》

a survey of large language models

论文地址:https://arxiv.org/abs/2303.18223

 近年来现有大型语言模型(尺寸大于10B)的时间线。

 

在这个表格中,只包括llm和一篇关于技术细节的公开论文。“发布时间”是指论文正式发布的时间。“公开可用”意味着模型检查点可以公开访问,而“封闭源”则意味着相反的意思。“适应性”表示模型是否经过了后续的微调:IT表示指令调整,RLHF表示通过人类反馈进行强化学习。“Evaluation”指的是他们在原文中是否用相应的能力对模型进行了评价:ICL表示上下文学习,CoT表示思维链。“*”表示最大的公开可用版本。 


术语来源:近年来,基于大规模语料库的预训练Transformer模型提出了预训练语言模型(pre- training language model, PLMs),在解决各种自然语言处理(NLP)任务方面表现出了很强的能力。由于研究人员发现模型缩放可以提高模型容量,他们进一步研究了参数缩放到更大的尺寸的缩放效应。有趣的是,当参数规模超过一定水平时,这些扩大的语言模型不仅获得了显著的性能提高,而且还表现出一些小规模语言模型(如BERT)没有的特殊能力(如语境学习)。为了区分不同参数尺度的语言模型,研究界创造了大型语言模型(large language model, LLM)这个术语,用来描述具有显著规模(例如,包含数以百亿或数千亿个参数)的plm。

本文主要内容:本文从llm的研究背景、主要研究成果和主流技术等方面综述了llm研究的最新进展。特别关注llm的四个主要方面,即培训前、适应调整、利用和能力评估


PART2---Background for LLMs

LLMS的突现能力(Emergent Abilities of LLMs)

LLMS的突现能力被正式定义为“小模型中不存在而在大模型中出现的能力”,这是LLMS(大预言模型)区别于以往PLMS(预训练语言模型)的最显著特征之一。

三种典型的应急能力:

1、情境学习。 GPT-3正式引入了上下文学习(ICL)能力:假设语言模型已经被提供了一个自然语言指令和/或几个任务演示,它可以通过完成输入文本的单词序列为测试实例生成预期的输出,而不需要额外的训练或梯度更新。 在GPT系列模型中,175B GPT-3模型总体上表现出较强的ICL能力,而GPT-1和GPT-2模型则不具备ICL能力。 同时,这种能力还取决于具体的下游任务。 例如,ICL能力可以出现在13B GPT-3的算术任务(如3位数的加减法)上,但175B GPT-3甚至不能很好地工作在波斯语QA任务上。

2、遵循指示。 通过对通过自然语言描述格式化的多任务数据集的混合进行微调(称为指令调优),LLMS在同样以指令形式描述的未见任务上表现良好。 通过指令调优,LLMS能够遵循新任务的任务指令,而无需使用显式示例,从而具有改进的泛化能力。 

3、循序渐进的推理。 对于小语言模型,通常很难解决涉及多个推理步骤的复杂任务,如数学单词问题。 而在思想链(COT)提示策略下,LLMS可以利用包含中间推理步骤的提示机制来解决此类任务。 


大预言模型的关键技术 (Key Techniques for LLMs.)

1、缩放。 在Transformer语言模型中存在明显的缩放效应:更大的模型/数据大小和更多的训练计算通常会导致更好的模型容量。 作为两个有代表性的模型,GPT-3和Palm分别通过将模型尺寸增加到175B和540B来探索缩放极限。 此外,由于计算预算通常是有限的,可以使用缩放律来进行计算资源的更有效的分配。  但是,需要注意的是,由于预训练数据的质量对模型的容量起着关键作用,所以数据的缩放应该伴随着仔细的清洗过程

2、训练LLMS的网络参数学习需要分布式训练算法,其中常常联合使用多种并行策略。 为了支持分布式训练,一些优化框架已经发布,以促进并行算法的实现和部署,如DeepSpeed和Megatron-LM。 此外,优化技巧对训练稳定性和模型性能也很重要,如克服训练损失尖峰的重启和混合精度训练。 最近,GPT-4提出开发特殊的基础设施和优化方法,以更小的模型可靠地预测大模型的性能。

3、引发的能力(Ability eliciting)。 经过大规模语料库的预训练后,LLMS被赋予了作为通用任务解决者的潜在能力。 然而,当LLMS执行某些特定任务时,这些能力可能不会显式地表现出来。 作为技术途径,设计合适的任务指令或特定的情境学习策略有助于培养这种能力。 例如,Chainof-Think(COT)提示已经被证明通过包含中间推理步骤来解决复杂的推理任务是有用的。 此外,我们还可以用自然语言表达的任务描述对LLMS进行指令调整,以提高LLMS对未知任务的泛化能力。 然而,这些技术主要与LLMS的突现能力相对应,对于小语言模型可能没有同样的效果。

4、对齐调整(Alignment tuning)。 由于LLMS的训练是为了捕捉预训练语料库的数据特征(包括高质量和低质量的数据),它们很可能生成对人类有毒、有偏见甚至有害的内容。 有必要使LLMS与人类价值观相一致,例如,乐于助人、诚实和无害。 为此,InstructGPT[61]设计了一种有效的调谐方法,使LLMS能够遵循预期的指令,该方法利用了带有人类反馈的强化学习技术它将人与精心设计的标签策略结合在训练循环中。 ChatGPT实际上是基于与InstructGPT类似的技术开发的,它在产生高质量、无害的回答方面显示出强大的一致性能力,例如拒绝回答侮辱性的问题。

5、工具操作。 本质上,LLMS是在大量纯文本语料库中作为文本生成器进行训练的,因此在非文本形式表达的任务(如数值计算)上表现不佳。 此外,他们的能力也局限于训练前的数据,例如,不能捕捉最新的信息。 为了解决这些问题,最近提出的一种技术是使用外部工具来弥补LLMS的不足。 例如,LLMS可以利用计算器进行精确计算,并使用搜索引擎检索未知信息。 最近,ChatGPT启用了使用外部插件(现有或新创建的应用程序)的机制,这与LLMS的“眼睛和耳朵”类似。 这种机制可以广泛地扩大LLMS的能力范围。


GPT系列型号的技术演进(Technical Evolution of GPT-series Models)

总的来说,OpenAI在LLMS上的研究大致可以分为以下几个阶段。

早期的探索(Early Explorations)

根据对Ilya Sutskever(OpenAI的联合创始人和首席科学家)的一次采访,在OpenAI的早期,就已经探索了用语言模型接近智能系统的想法。 随着Transformer的出现,OpenAI开发了两个最初的GPT模型,即GPT-1和GPT-2,这两个模型可以被认为是后来更强大的模型GPT-3和GPT-4的基础。

1、GPT-1。 2017年,Google推出了Transformer模型(attention is all you need),OpenAI团队很快将他们的语言建模工作适应了这种新的神经网络架构。 他们在2018年发布了第一个GPT模型,即GPT-1,并创造了缩写术语GPT作为模型名称,代表生成性预训练。 GPT-1是基于生成式、只译码的转换器结构,采用无监督预训练和有监督微调的混合方法开发的。 GPT1建立了GPT系列模型的核心架构,并建立了对自然语言文本建模的基本原则,即预测下一个单词

2、GPT-2。 遵循GPT-1的类似体系结构,GPT-2将参数尺度提高到1.5B,并用大型网页数据集WebText进行训练。 正如GPT-2的论文所声称的那样,它试图通过无监督的语言建模来执行任务,而不是使用标记数据进行显式的微调为了激励这种方法,他们引入了一种多任务求解的概率形式,它根据输入和任务信息来预测输出。 为了对这种条件概率进行建模,语言文本可以自然地作为一种统一的方式来格式化输入、输出和任务信息。 因此,如果无监督语言建模训练得具有足够的恢复世界文本的能力,它就可以解决各种任务。 GPT-2论文中的这些早期讨论在Jensen Huang对Ilya Sutskever的采访中得到了呼应:“神经网络学习的是产生文本的过程的一些表示。 这段文字实际上是世界的投影……你对下一个单词的预测越准确,保真度越高,你在这个过程中得到的分辨率就越高……“。

容量飞跃(Capacity Leap)

虽然GPT-2是一个“无监督的多任务学习者”,但与有监督的微调方法相比,它的总体性能较差。 虽然它有一个相对较小的模型大小,但它在下游任务中进行了广泛的微调,尤其是对话框任务。 在GPT-2的基础上,GPT-3通过扩展生成性预训练体系结构展示了一个关键的能力飞跃。

1、GPT-3。 GPT-3于2020年发布,将模型参数缩放到越来越大的175B。 在GPT-3的论文中,它正式引入了上下文学习(ICL)的概念,它以Fewshot或Zero-shot的方式使用LLMS。 ICL可以教LLMS理解自然语言文本形式的任务。 在ICL中,LLMS的预训练和使用收敛于相同的语言建模范式:预训练根据上下文预测以下文本序列,GPT-3不仅在各种NLP任务上表现出了非常优异的性能,而且在许多特殊设计的需要推理或领域适应能力的任务上也表现出了非常优异的性能。 虽然GPT-3的论文没有明确讨论LLMS的突现能力,但我们可以观察到可能超越基本标度律的大性能飞跃,例如,较大的模型具有明显更强的ICL能力(见GPT-3论文的原始图1.2)。 总体而言,GPT-3可以被看作是从PLMS向LLMS演进过程中的一个显著里程碑。 经验证明,将神经网络缩放到一个显著的规模可以导致模型容量的巨大增加。

能力增强(Capacity Enhancement)

 由于其强大的能力,GPT3已经成为为OpenAI开发更多能力的LLMS的基础模型。 总的来说,OpenAI探索了进一步改进GPT-3模型的两个主要方法,即对代码数据的训练(train-
ing on code data)和与人类偏好一致(alignment with human preference)

1、对代码数据的训练。 原始GPT-3模型的一个主要缺陷是缺乏对复杂任务的推理能力,如完成代码和解决数学问题。 为了增强这种能力,OpenAI于2021年7月推出了Codex,这是一个在大型GitHub代码语料库上微调的GPT模型。 它证明了Codex可以解决非常困难的编程问题,也导致了解决数学问题的显著性能改进。 实际上,GPT-3.5模型是在基于代码的GPT模型(Code-Davinci-002)的基础上开发的,这表明基于代码数据的训练对于提高GPT模型的建模能力,特别是推理能力是一种非常有用的实践。 

2、与人类偏好一致(alignment with human preference)。关于人类序列的相关研究可以追溯到2017年(或更早)的OpenAI:OpenAI博客上发表了一篇题为“从人类偏好学习”的博客文章,描述了一项应用强化学习(RL)从人类标注的偏好比较中学习的工作(类似于图6中的InstructGPT对齐算法中的奖励训练步骤)。这篇RL论文发表后不久, 2017年7月发表的论文the Proximal Policy optimiztion (PPO),目前已成为从人类偏好学习的基础RL算法2020年1月晚些时候,GPT-2使用前面提到的RL算法进行了微调,利用人类的偏好来提高GPT-2在NLP任务中的能力。同年,另一项研究训练了一个总结模型,以类似的方式优化人类的偏好。基于这些前期工作,2022年1月提出了InstructGPT,以改进人体对准的GPT-3模型,正式建立了一种基于人反馈的三阶段强化学习(RLHF)算法。请注意,“指令调优”的措辞似乎很少在OpenAI的论文和文档中使用,它被人类演示的监督微调所取代(即RLHF算法的第一步)。除了提高指令跟踪能力外,RLHF算法还特别有助于缓解产生有害或有毒内容的llm问题,这是llm在实践中安全部署的关键。OpenAI在一篇技术文章中描述了他们的对齐研究方法,其中总结了三个有前途的方向:“训练人工智能系统使用人类反馈,协助人类评估和进行对齐研究”。这些增强技术导致了性能更强的改进GPT-3模型,OpenAI将其称为GPT-3.5模型。

语言模型的里程碑(The Milestones of Language Models)

1、chatGPTChatGPT的训练方式与InstructGPT相似同时专门针对对话进行了优化他们报告了在数据收集设置中ChatGPT和InstructGPT的训练之间的差异:人类生成的会话(同时扮演用户和AI的角色)以对话格式与InstructGPT数据集相结合,用于训练ChatGPT。 ChatGPT在与人类沟通方面表现出卓越的能力:拥有丰富的知识储备、对数学问题进行推理的技巧、在多轮对话中准确地追踪上下文,以及与人类价值观保持一致以确保安全使用。 后来,ChatGPT支持插件机制,这进一步扩展了现有工具或应用程序的ChatGPT的能力。 到目前为止,它似乎是人工智能历史上最强大的聊天机器人。 ChatGPT的推出对未来人工智能研究产生了重大影响,为探索类人人工智能系统提供了启示。

2、gpt-4作为另一个显著的进步,GPT-4[46]于2023年3月发布,它将文本输入扩展到多模态信号。总的来说,GPT-4比GPT-3.5具有更强的解决复杂任务的能力,在许多评估任务上表现出了较大的性能提升。此外,GPT-4对恶意或挑衅性查询的反应更安全,这是由于六个月的迭代对齐(在RLHF训练中有一个额外的安全奖励信号)。在技术报告中,OpenAI强调了如何安全开发GPT-4,并应用了一系列干预策略来缓解llm可能出现的问题,如幻觉、隐私和过度依赖。


PART3---大预言模型的资源(RESOURCES OF LLMS)

在本节中,简要总结了用于开发LLMS的公开可用资源,包括模型检查点(或API)、语料库和库。

接下来,介绍公开可用的模型检查点和API

1、具有数百亿参数的模型(Models with Tens of Billions of Parameters.)。除LLaMA(最大版本包含65B参数)和NLLB[82](最大版本包含54.5B参数)外,这类模型的参数规模大多为10B - 20B。其中,Flan-T5 (11B版本)可以作为研究指令调优的首要模型它从三个方面探讨了指令调优:增加任务数、缩放模型大小、利用思维链提示数据进行微调。此外,CodeGen (11B版本)作为一种用于生成代码的自回归语言模型,可以作为探索代码生成能力的良好候选。还引入了一种新的多圈程序综合基准MTPB,该基准由115个专家生成的问题组成。对于多语言任务,mT0 (13B版本)可能是一个很好的候选模型,它已经在具有多语言提示的多语言任务上进行了微调作为最新的版本,LLaMA (65B版本)[57]包含的参数大约是其他模型的5倍,在与指令跟随相关的任务中表现出了卓越的性能。由于其开放性和有效性,LLaMA已经引起了研究界的极大关注,许多工作都致力于对其不同的模型版本进行微调或持续的预培训,以实现新的模型或工具。

2、拥有数千亿个参数的模型。 对于这一类别的模型,只有屈指可数的几款模型公开发布。 例如,opt[81]、opt-iml[85]、bloom[69]和bloomz[84]与gpt-3(175b版本)具有几乎相同数量的参数,而glm[83]和galactica[35]分别具有130b和120b参数。

LLMs的公共API(Public API of LLMs)

API不是直接使用模型副本,而是为普通用户提供了一种使用LLMS的更方便的方式,而不需要在本地运行模型。 OpenAI为GPT-3系列中的模型提供了七个主要接口:Ada、Babbage、Curie、Davinci(GPT-3系列中最强大的版本)、Text-ADA-001、Text-Babbage-001和Text-Curie-001。  此外,GPT-3.5系列包括一个基本模型代码-DAVINC-002和三个增强版本,即Text-DAVINC-002、Text-DAVINC-003和GPT-3.5-TURBO-0301。 值得注意的是,GPT-3.5-Turbo-0301是调用ChatGPT的接口。 最近,OpenAI还发布了GPT-4的相应API,包括GPT-4、GPT-4-0314、GPT-4-32K和GPT-4-32K-0314。 

常用的语料库

如图


PART4---预训练(PRE-TRAINING)

 前期培训为LLMS的能力奠定了基础。 通过大规模语料库的预训练,LLMS可以获得基本的语言理解和生成技能。 在这个过程中,预训练语料的规模和质量是LLMS获得强大功能的关键。 此外,为了有效地对LLMS进行预训练,需要设计好模型结构、加速方法和优化技术

图2显示了一些有代表性的LLMS的预训练数据来源的分布。

 搜集语料--质量过滤--去重复操作--隐私编辑--令牌化

图3显示了一个典型的LLMS预训练数据的流水线。

表3列出了几个具有代表性的LLMS的模型卡,并附有公开的详细信息。

主流架构(mainstream architectures)

由于出色的并行性和容量,Transformer体系结构[22]已经成为开发各种LLMS的事实上的骨干,使得将语言模型扩展到数百亿或数千亿个参数成为可能。 一般来说,现有LLMS的主流架构可以大致分为三种主要类型,即编码器-解码器、因果解码器和前缀解码器,如图4所示。

 详细配置(Detailed Configuratio)

在这一部分中,我们将讨论变压器的四个主要部分的相应配置,包括归一化,位置嵌入,激活函数,注意和偏差。 为了使这个调查更加独立,我们在表4中给出了这些配置的详细公式。


LLMS的自适应调谐(ADAPTATION TUNING OF LLMS)

在本节中,将介绍两种主要的调整预训练LLMS的方法,即指令调整和对齐调整。 前者主要是为了增强(或释放)LLMS的能力,而后者则是为了使LLMS的行为与人类的价值或偏好相一致。

1、指令调整(Instruction Tuning)

为了执行指令调优,我们首先需要收集或构造指令格式化的实例然后,我们使用这些格式化的实例以监督学习的方式对LLMS进行微调。 经过指令调整后,LLMS可以显示出更好的能力来概括看不见的任务,即使在多语言环境中也是如此。

        1)格式化实例构造(Formatted Instance Construction)

        通常,指令格式的实例由任务描述、输入输出对和少量演示组成。 作为重要的公共资源,现有研究已经发布了大量以自然语言格式化的标注数据(见表6)。

 

        构造格式化实例的两种主要方法:

        (1)格式化现有数据集。 一些早期的研究从不同的任务(例如,文本摘要,文本分类和翻译)中收集实例来创建有监督的多任务训练数据集。 作为指令优化实例的主要来源,使用自然语言任务描述格式化这些多任务训练数据集非常方便。 具体地说,最近的工作用人工编写的任务描述来扩充标记的数据集,它指示LLMS通过解释任务目标来理解任务。在指令调优之后,LLMS可以通过遵循任务描述来很好地推广到其他看不见的任务。

        (2)格式化人类需求。 为了丰富任务的多样性,人类标记者还被要求为现实生活中的任务编写指令,包括开放式生成、开放式问题回答、头脑风暴和聊天。 然后,他们让另一组贴标员直接回答这些指示作为输出。 最后,它们将一条指令(即收集的用户查询)和期望的输出(即人工编写的答案)作为训练实例进行配对。 注意,InstructGPT还使用这些用自然语言格式化的实际任务进行对齐调优。 

        2)指令调谐策略(Instruction Tuning Strategies)

        指令调优的两个重要方面:

        (1)平衡数据分布。 由于指令调优涉及不同任务的混合,因此在调优过程中平衡不同任务的比例是很重要的。

        (2)结合指令调优和预训练。 为了使优化过程更加有效和稳定,Opt-IML在指令优化过程中加入了预训练数据,这可以看作是模型优化的正则化。 

2、对准调优(Alignment tuning)

背景: LLMS在广泛的NLP任务中表现出了非凡的能力。然而,这些模型有时可能会表现出无意的行为,例如,编造虚假信息,追求不准确的目标,以及产生有害的、误导性的和有偏见的表达。 对于LLMS来说,语言建模目标通过词汇预测对模型参数进行预训练,而没有考虑人的价值或偏好。 为了避免这些意想不到的行为,人们提出了人的一致性,以使LLMS的行为符合人类的期望 

三个有代表性的对齐准则:

        1)乐于助人。 为了有所帮助,LLM应该展示一个清晰的尝试,以尽可能简洁和高效的方式帮助用户解决他们的任务或回答问题。

        2)诚实。 在基本层面上,一个与诚实一致的LLM应该向用户提供准确的内容,而不是捏造信息。此外,LLM在其输出中传达适当程度的不确定性是至关重要的,以避免任何形式的欺骗或对信息的歪曲。

        3)无害。 要做到无害,它要求模型产生的语言不能带有冒犯性或歧视性。 尽其所能,该模型应该能够检测到旨在为恶意目的请求。 理想情况下,当模型被诱导进行危险行为(例如,犯罪)时,LLM应该礼貌地拒绝。 

正如我们所看到的,这些标准是相当主观的,是基于人类的认知发展起来的。 因此,很难将它们直接表述为LLMS的优化目标。  一种很有前途的技术是Red Teaming[115,225],它包括使用手动或自动方法以对抗的方式探测LLMs,以产生有害的输出,然后更新LLMs,以防止这种输出

在接下来的工作中,我们重点介绍了一种著名的技术,即基于人类反馈的强化学习(RLHF),该技术已广泛应用于最近的强大的LLMS中,如ChatGPT。 

RLHF算法的工作流程:

         1)监督微调。 为了使LM最初执行期望的行为,它通常需要收集一个有监督的数据集,其中包含输入提示(指令)和用于微调LM的期望输出。 这些提示和输出可以由人类标签员为某些特定任务编写,同时保证任务的多样性。 

        2)奖励模型训练。 第二步是使用人类反馈数据训练奖励模型(RM)。 具体地说,我们使用LM生成一定数量的输出文本,使用采样提示(来自监督数据集或人工生成的提示)作为输入。 然后,我们邀请人类标记者来注释这些对的偏好。 批注过程可以以多种形式进行,常用的方法是通过对生成的候选文本进行排序来进行批注,这样可以减少批注者之间的不一致性。 然后,训练RM来预测人类偏好的输出。

        3)RL微调。在这个步骤中,微调LM被形式化为RL问题。在这个设置中,经过训练的LM作为策略,以提示作为输入并返回输出文本,它的动作空间是词汇表状态是当前生成的令牌序列奖励由RM提供。为了避免明显偏离初始的LM(在调整之前),惩罚项通常被纳入奖励函数中。例如,InstructGPT使用PPO算法针对RM优化LM。对于每个输入提示,InstructGPT计算从当前LM和初始LM生成的结果之间的KL散度作为惩罚

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/925905
推荐阅读
相关标签
  

闽ICP备14008679号