本文来自微信公众号:AINLPer(ID:gh_895a8687a10f),作者:ShuYini,原文标题:《非常详细!大型自然语言模型(LLM)发展概要,及其关键技术!》,题图来自:《异次元骇客》


本文主要概述了自然语言模型的发展过程,即从最开始的概率模型,到神经网络模型,最后到大型语言模型。介绍了相关发展阶段用到的关键技术、语言模型的学习过程、大语言模型(参数大小、数据集、能力涌现、风险、调优)、人类反馈强化学习(RLHF)的关键思想及其优缺点等。


语言模型


如何让计算机来计算语言呢?人们将语言模型看作是一类概率模型。该语言模型的主要功能是计算一个词在给定输入句子之后的概率。如下图所示:



如何训练这些模型呢?其核心过程是应用了自监督学习技术,这是一种利用数据本身的固有结构来生成训练标签的学习范例。在自然语言处理的背景下,自监督学习使模型能够从未注释的文本中学习,而不是依赖于相对稀缺且通常昂贵的手动标记数据。


在训练过程中,向LM提供大量文本语料库(数据集),并负责预测句子中的下一个单词。在实践中,这通常是通过随机截断输入句子的最后部分并训练模型来填充缺失的单词来实现的。当模型遍历大量示例时,它会学习识别和内化各种语言模式、规则以及单词和概念之间的关系。可以说,通过这个过程,模型创建了语言的内部表示。



这个训练过程的结果是一个预训练的语言模型。通过接触不同的语言模式,该模型为理解自然语言和生成上下文适当且连贯的文本奠定了基础,有些人将这种预训练模型称为基础模型。


预训练模型


为什么以及如何预训练模型有用?


进一步释放预训练模型潜力的方法是模型微调。主要目标是针对具体的任务对预训练模型做进一步训练,改进其一般非专业知识(在预训练阶段获得)以适应更专业的领域。



微调一般利用监督学习在较小的、特定于任务的标记数据集上做进一步的模型训练。此步骤建立在预训练期间建立的语言基础之上,使模型能够以更高的准确性执行各种实际任务。就拿机器翻译来说,其中预训练的语言模型可以在包含源语言句子及其目标语言翻译的平行语料库上进行微调。通过这个过程,该模型学习映射两种语言之间的语言结构和模式,最终使其能够有效地翻译文本。


微调的另一个常见用途是使预训练模型适应技术或专业知识领域,例如医学或法律领域。预训练的LM可以在一组法律文件上进行微调,以促进诸如理解和总结法律协议等任务。通过这样做,该模型变得精通处理特定领域中普遍存在的独特词汇、语法和文体惯例。



“这种使预训练模型适应新任务或领域的过程是迁移学习的一个例子,这是现代深度学习中的一个基本概念”。迁移学习允许模型利用从一项任务中获得的知识并将其应用于另一项任务,通常只需最少的额外训练。这个概念并非自然语言处理所独有,也被用于其它领域。


模型越大,效果越好


语言模型能变得多好?能变得有多大?


事实证明,LM在执行各种任务时的有效性在很大程度上受其架构大小的影响。这些架构基于人工神经网络,这些计算模型受到生物神经网络(例如人脑中的神经网络)的结构和功能的启发。人工神经网络由互连的节点层或“神经元”组成,它们协同工作以处理数据并从中学习。“网络中的神经元与一组数字相关联,通常称为神经网络的参数。这些参数的数值应该代表不同神经元之间的连接强度。神经网络中的参数是可调的,并且它们在训练过程中得到迭代更新,以最小化模型预测与实际目标值之间的差异”。



特别是在LM的上下文中,具有更多参数的更大网络已被证明可以获得更好的性能。直观地说,参数越多,它们的“存储容量”就越大,尽管应该注意的是,语言模型存储信息的方式与计算机(硬盘驱动器)中存储内存的标准工作方式不同。


从本质上讲,更多的参数允许模型在它们所接触的语言数据中“内化”更多种类的统计模式。然而,更大的模型也需要更多的计算资源和训练数据才能发挥其全部潜力。



Transformers YYDS


语言模型不仅仅是一个神经网络。


现代语言模型包含各种组件或块,通常由不同的神经网络组成,每个组件或块都设计用于执行特定任务并具有专门的体系结构。“几乎所有当前的LM都基于一种特别成功的架构选择,那就是Transformer”。


从自然语言处理领域开始,Transformers已经彻底改变了几乎所有应用AI领域,因为它们能够高效地一次处理大量数据(并行化)而不是顺序处理,这一特性允许在更大的数据集上进行训练 数据集比以前的现有架构。“在文本数据上,Transformers被证明非常擅长执行某种形式的自然语言上下文理解,这使它们成为当今大多数NLP任务的标准选择”。两个组成部分是成功的关键:注意力机制和词嵌入。


词嵌入是词的高维向量表示,捕捉了它们的语义和句法属性。这些表示使模型能够在数学空间(一种语义空间)中对单词进行数字操作,在这种空间中,物理上相邻的单词共享某种形式的意义关系或其他类型的相似性。词嵌入不是将单词视为孤立的实体,而是允许模型学习和理解给定上下文中单词的复杂相互作用。


注意力机制允许模型权衡文本中不同单词或短语的重要性。这有助于模型有选择地关注输入的特定部分,根据单词与手头任务的相关性为单词分配不同的注意力分数。注意力可以被认为是一种数值运算,它应该模仿模型在阅读或生成文本时对局部、特定上下文的“聚焦能力”。


基于Transformers的语言模型采用编码器-解码器架构来处理和生成文本。编码器负责将输入文本转换为连续表示,通常通过处理词嵌入并结合注意力机制来实现。另一方面,解码器采用这种连续表示并将其转换为一些输出文本,再次使用注意力机制有选择地关注输入的相关部分。本质上,其主要思想如下:


  • 编码器接收文本并将其编码为数字、高维、几何和统计有意义地表示。

  • 解码器接受这样的表示并将其解码回文本。


根据任务的不同,语言模型可能只使用编码器部分,或只使用解码器部分,或两者兼而有之。这种区别的典型例子是:


  • BERT模型,代表来自Transformers的双向编码器表示。顾名思义,它仅使用Transformer的编码器部分,并且最擅长对给定的输入文本执行任何类型的预测或分类任务。

  • GPT模型,代表生成式预训练变压器。它仅用于解码器,顾名思义,最适合涉及生成新颖文本的任务。


对于各种任务,同时拥有编码器和解码器可能很有用。例如,在大多数机器翻译模型中,编码器处理源语言文本,而解码器负责生成目标语言的翻译文本。


大语言模型


模型规模


近年来,LLM发展的特点是规模急剧增加,以参数数量衡量。这种趋势从最初的GPT和ELMo等具有数百万参数的模型开始,并发展到像BERT和GPT-2这样具有数亿参数的模型。Megatron-Turing NLG和谷歌的PaLM等一些最新的最大模型已经超过了 5000 亿个参数。“换句话说,这意味着仅在过去4年的时间里,LLM的规模平均每3.5个月翻一番”。



训练大型语言模型的实际成本是多少?由于该过程涉及大量变量,因此很难给出非常准确的答案。然而,仅使用客户云服务对 PaLM 这样的模型进行预训练,可见得评估价格在1000到2000万美元之间。当然,这个数字仅代表最终模型预训练的成本,不包括这些复杂系统背后涉及的所有昂贵的工程、研究和测试。


模型参数


“对于模型效果,参数大小固然重要,但数据集的大小同样起着关键的作用”。那么,如何确定训练LLM需要多少数据呢?以前流行的启发式方法长期以来一直声称增加模型的大小是提高其性能的最有效方法,而扩展训练数据集则不那么重要。然而,最近的研究从根本上改变了这一观点,表明目前的许多LLM因为数据量原因会导致模型训练不充分。


这种根本性的转变,导致形成了一套新的启发式指导,强调了用更广泛的数据集训练大型模型的重要性。这种新观点的影响是深远的。一方面,实际可用的训练数据总量可能会成为这些人工智能系统真正的根本瓶颈。另一方面,即使是完美复制整个互联网知识的理想模型也绝不代表“最终的LLM”,因为新的数据时时刻刻都在生成


能力涌现


通过扩展,LLM的性能(可以预见)在许多定量指标上显示出一致改进,这些指标应该衡量LM能够在多大程度上完成其主要设计目的:计算单词的概率分布。此类指标的一个示例是困惑度,它是生成文本的流畅度的度量标准。


然而,扩展语言模型需要在大量数据上对其进行训练,这些数据通常来自在线提供的大量文本。因此,LLM需要“喂养”网络的大部分内容,涵盖大量信息。在训练期间接触到多样化的语言模式和结构,LLM逐渐学会以高保真度模仿和再现这些模式。令人惊奇的是,在这一过程中模型似乎出现了新的能力。研究发现,随着 LLM 的规模扩大,它们能够突然“解锁”了新能力。



这些新兴能力涵盖了广泛的任务,例如不同语言之间的翻译、编写编程代码的能力等等。值得注意的是,LLM仅通过在训练过程中观察自然语言中的重复模式来获得这些技能,也就是说,没有明确的特定任务监督。“能力涌现是一种非常有趣的现象,事实上,它不仅限于LLM,而且在其他科学背景下也有观察到”。


Prompt与指令调优


令人惊奇的是,我们可以通过自然语言表达适当指令来应用LLM的新能力,例如LLM可以提示一段文章,然后是摘要请求,它会生成给定文本的简明摘要。


然而,在许多情况下,预训练的LLM实际上无法正确遵循这些提示。这可能是由于模型复制了在其训练数据中观察到的模式。例如,如果提示“法国的首都是什么?”等问题,模型可能会回答另一个问题,例如“意大利的首都是什么?”,因为它可能已经从一些问题列表中提取了这个模式。为了解决这个问题,研究人员开发了一种称为指令调优的简单策略。该技术涉及在一个小型示例数据集上训练LLM,该示例数据集由提示或说明以及随后的正确操作组成。


通过对这些示例数据集微调模型,它学会更好地理解和遵循以自然语言给出的指令。这个过程的突出优势在于指令调整的LLM的泛化能力,这通常将使它能够成功地遵循指令完成比这个小数据集中看到的任务更广泛的任务。这种促进效应的兴起确实取代了为某些特定任务对更小的专用模型进行广泛微调的需要。其中一些任务实际上可以通过大型、缩放模型更有效地执行,这些模型通过仅仅接触不同的数据就获得了这些能力,并随后通过相对简单的指令调整来解锁它们。



模型偏好调整


LLM中涌现能力的现象虽然很新,研究人员仍未完全理解,但也不是一个完全模糊的现象。尽管无法准确预测未来LLM可能获得哪些新的认知能力,但允许这种情况发生的一般模式是相当清楚的。让我们思考一个问答的例子。


在这个庞大的语言数据集(文本互联网)中,存在大量问题和答案实例。这些问答对出现在不同的上下文中,例如论坛、文章或教育资源,涵盖从日常琐事到专业技术知识的众多主题。最终,经过大量问答分析表明模型给出的答案基本上都是正确的,这反映在LLM从网络知识中进行某种形式的信息检索的能力,通过在请求时对不同主题的常识性问题给出合理正确的答案。


不幸的是,互联网上也充斥着(统计上显着数量的)虚假事实和常识性问题的错误答案。由于这些数据量巨大,研究人员几乎不可能规范LLM在培训期间接触到的内容。事实上,LLM偶尔会表现出各种不良行为,例如复制有害或有偏见的内容,或者通过捏造不存在或虚假的事实来产生所谓的幻觉输出。当此类模型被作为通用会话聊天机器人(如 ChatGPT)时,输出的内容不可控是非常危险的。


LLM可能的危害


与任何技术一样,如果使用不当,则可能存在危害。“大型语言模型的危险不仅限于错误的答案或捏造的信息。它们的风险是多方面的,最终取决于他们的具体用例”。随着 ChatGPT 等通用聊天机器人的日益普及,数百万用户现在可以访问功能异常强大的LLM。为确保这些模型不被用于恶意目的,它们会拒绝可能导致危害的请求,这一点至关重要。这种真正的伤害如何表现出来的一些例子包括:


  • 可以使用具有编码能力的LLM以前所未有的轻松方式创建复杂的恶意软件。

  • 它们还构成了与大众宣传行动相关的新威胁,理论上可以在社交媒体平台上大规模使用协调的聊天机器人网络来扭曲公共话语。

  • 当LLM无意中从培训期间使用的数据中复制个人身份信息时,就会出现隐私风险。

  • 用户转向聊天机器人寻求社交互动和情感支持可能会导致心理伤害,结果却遇到意想不到且可能有害的反应。


这些只是人工智能安全问题中的一小部分,它们各有不同的风格。当前的整体想法是,通用LLM的设计应该满足以下几点:


  • 乐于助人:LLM在需要时遵循说明、执行任务、提供答案并提出相关问题以阐明用户意图的能力。

  • 真实性:LLM提供真实、准确信息并承认其自身不确定性和局限性的能力。

  • 无害:避免有毒的、有偏见的或冒犯性的反应并拒绝协助危险活动的重要性。


如果一个LLM能够成功地遵守这些准则,那么它就被认为是一致的。然而,“对齐的概念因专家而异”。例如,著名的AI对齐研究员Paul Christiano对对齐的定义更为狭义,侧重于AI的行为与其对用户意图的解释相一致的程度,即一种意图对齐形式。这些问题的不同性质可能需要LLM采取不同的策略和方法来充分响应各种请求。最终,不可否认的是,必须建立可证明有效的机制来防止滥用LLM技术。


基于以上这些问题,一种特殊的技术:人类反馈强化学习(RLHF)已经成为一种单一的方法论,原则上可以同时解决所有这些问题,在使LLM与人类价值观保持一致方面取得重大进展。


RLHF价值学习


奖励模型


机器可以学习人类价值观吗?从根本上说,RLHF 是基于一个简单的前提。想象一下有两个语言模型:基线(未对齐)模型和次要偏好模型。“偏好模型的作用是确定人类在给定的可能性列表中更喜欢哪个动作”(例如,基线模型对用户请求的两种不同响应)。该模型可以为每个动作分配一个数字分数,根据人类偏好有效地对它们进行排名。“用技术术语来说,这称为奖励模型”。


利用奖励模型,可以迭代地改进基线模型,改变其内部文本分布以优先考虑人类喜欢的序列(如奖励模型所示)在某种意义上讲,奖励模型是将“人类偏好偏差”引入基线模型的一种手段。



RLHF的核心思想围绕训练奖励模型展开。存在多种方法,但RLHF特别利用人类反馈来生成人类偏好数据集。然后使用该数据集来学习代表特定任务所需结果的奖励函数。具体而言,人类反馈可以通过多种方式体现,例如:


  • Preference orderings:人类将偏好排序分配给基线模型的不同输出。

  • Demonstrations:人类实际上没有对模型的输出进行评分,而是在执行完整的任务,即为一组提示或请求编写首选答案。

  • Corrections:这相当于编辑模型的输出以直接纠正不良行为。

  • 自然语言输入:人类不是直接纠正模型的输出,而是被要求用自然语言描述对这些输出的评论。


最佳方法取决于要优化的特定任务。通过基于高质量演示的监督学习微调模型理论上有望产生最佳结果。然而,在实践中,收集演示比其他反馈方法更耗时和昂贵,严重限制了这种方法的可扩展性。


基线模型


一旦建立了奖励模型,如何使用它来训练基线模型?这就是强化学习(RL)发挥作用的地方。RL 是一种机器学习范式,专注于使智能Agent(如LLM)能够学习指导其行为以最大化奖励的最佳策略。在此上下文中,基线模型是Agent,其目的是响应用户输入。RL框架采用奖励模型来有效地制定语言模型将用于生成符合人类价值的响应。


使用 RLHF 的大型语言模型的一个突出例子是ChatGPT,它集成了无监督预训练、监督微调、指令调整和RLHF实现了卓越的会话能力。通过结合RLHF,ChatGPT展示了如何利用人类反馈来产生更具吸引力、上下文敏感和安全对齐的响应,从而为下一代高级对话AI奠定了基础。


RLHF


RLHF如何用于训练ChatGPT,OpenAI通过三步过程微调ChatGPT。


“初始步骤”涉及使用一组大约40名人工注释者收集人工演示,用于一组预选的提示。这些提示来自两个不同的来源:一些是由注释者或开发人员创建的,而另一些则是从 OpenAI 的 API 请求中抽取的。这些演示可以被认为是“理想的答案”,或者对这些提示的回应,它们一起构成了一个训练数据集。然后使用该数据集以监督方式微调预训练模型,生成监督微调(SFT)模型。



如前所述,这种方法具有可扩展性限制,导致数据集相对较小(大约15k个示例)


“第二步”围绕偏好排序。标注者(或注释者)的任务是对多个 SFT 模型输出进行投票,从而创建一个由比较数据组成的新数据集。奖励模型是在这个数据集上训练的。在实践中,选择提示列表,SFT 模型为每个提示生成多个输出(4到9之间)。注释器将这些输出从最好到最差进行排序,形成一个新的标记数据集,并将排名作为标签。



尽管OpenAI仍未公开具体细节,但数据集的大小可能大约是用于SFT模型的精选数据集的十倍。


“第三步”涉及应用强化学习通过奖励模型向 SFT 模型传授人类偏好策略,基本上如上一节所述。SFT 模型通过奖励模型进行微调。结果就是所谓的政策模型。


用于训练策略模型的具体优化算法是OpenAI开发的Proximal Policy Optimization (PPO)。PPO 的一个关键特征是它采用trust region optimization method来训练该策略,并将策略变化限制在先前策略的一定范围内以确保稳定性。这是为了确保策略优化步骤不会最终过度优化奖励模型:如果没有这种约束,策略模型可能会开始偏爱那些尽管奖励分数很高但会降低实际任务性能的操作。


虽然示范的收集只发生一次,但第二步(奖励模型)和第三步(政策模型)会迭代多次。在当前最佳策略模型上收集更多比较数据,然后将其用于训练新的奖励模型,随后训练新的策略。


RLHF对LLM的作用


从人类反馈中强化学习代表了语言模型领域的重大进步,但是RLHF微调对“纯”基础LLM的实际影响是什么?


一种思考方式如下:基础模型经过训练以近似互联网文本的分布,具有一种混乱的性质,因为它模拟了整个互联网的文本价值,包括极其有价值和垃圾内容。假设我们有一个理想的基础模型,在这个阶段,它能够完美地复制这种高度多模态的互联网文本分布。也就是说,它已经成功地完成了一个完美的分布匹配任务。尽管如此,在推论中,这样一个理想的模型可能会在分布的数百万种模式中选择,从而表现出一种不稳定的形式(相对于输入提示),这些模式共同代表了不同音调、来源和存在于其海量训练数据中的声音。



此时,根据输入提示预测模型输出的质量可能具有挑战性,因为模型可能会根据它决定模拟的源生成截然不同的响应。举个例子,用户要查询一位著名政治人物。该模型可以产生模仿中性、内容丰富的维基百科文章语气的输出。相反,根据问题的措辞,模型可能会受到互联网上激进观点的启发而采用更极端的观点。


想象基本模型在其数值估计中仅预测轻微差异以在分布中的两种不同模式之间选择一种的情况是完全不现实的。选择哪种模式?这完全取决于模型的随机决策性质可能不是最理想的解决方案。“RLHF 通过根据人类偏好数据微调模型来解决这个问题,从而提供更加可控和可靠的用户体验”。


限制与多样性


正如我们之前所讨论的,通过在微调阶段将语言模型视为强化学习策略,RLHF在分布中引入了偏差。在操作上,我们可以将这种效果解释为模式搜索行为的引入,该行为通过分布引导模型并导致具有更高回报的输出(根据学习到的人类偏好建模),从而有效缩小生成内容的潜在范围。



当然,这种偏差直接反映了实际选择的人的偏好和价值观,这些人对用于训练奖励模型的偏好数据集做出了贡献。例如,在ChatGPT的情况下,这种偏见在很大程度上倾向于提供有用、真实和安全的答案,或者至少倾向于标注人员对这些值的解释。


“虽然RLHF提高了模型答案的一致性,但它不可避免地以其生成能力的多样性为代价”。根据预期的用例,这种权衡既可以被视为好处也可以被视为限制。例如,在搜索引擎等 LLM 应用中,准确可靠的响应至关重要,RLHF是一种理想的解决方案。另一方面,当出于创造性目的使用语言模型时,例如产生新颖的想法或协助写作,输出多样性的减少可能会阻碍对新的和有趣概念的探索。


本文来自微信公众号:AINLPer(ID:gh_895a8687a10f),作者:ShuYini