写点什么

增强型语言模型——走向通用智能的道路?

作者:百度Geek说
  • 2023-05-09
    上海
  • 本文字数:8815 字

    阅读完需:约 29 分钟

增强型语言模型——走向通用智能的道路?

作者 | FesianXu


导读

继 AlphaGo 在 2016 年横扫了人类棋手之后,2022 年末的 chatGPT 横空出世,再次引爆了全球对人工智能技术的热情。基于语言模型的 chatGPT 的功能却远远不止步于『chat(闲聊)』,而是能在人类的各个领域中提供帮助,包括但不限于编程、常识问答、法律咨询、知识检索、数学题/逻辑题解答、甚至有研究者还称其可能具有九岁孩童的人类心智 [1],并有研究者称 GPT-4 [3] 已经可以视为早期的通用人工智能 [2]。

对于笔者来说,由于没有在 NLP 前沿领域有太多跟踪,这一切太过突然,仿佛从天而降,但心里已经隐隐觉得大规模语言模型可能并不只受限于『语言』,而是能在非常广阔的其他领域有所应用。本文是笔者在读完综述 [4]后的一个读后感,笔者对 NLP 见识有限,谨以此文对一些阅读进行个人看法讨论。


全文 11355 字,预计阅读时间 29 分钟。


Augmented Language Model (ALM),笔者将其翻译为增强型语言模型,因其不仅可处理常规的自然语言处理任务(如命名实体识别、文本分类等等),而且在一些看似不是自然语言任务的场景也可以应用(如操控机械臂等),在论文[4]中,作者给我们展示了一个 ALM 在当前已有的一些研究,笔者深受其震撼。总结来说,ALM 主要有两种最为突出的能力:


1、推理能力(Reasoning): 指的是模型能将复杂任务拆解为多个或多步简单任务,通过对简单任务的求解从而达到对复杂任务求解的目的。


2、对外部工具的操控能力(The ability of using external tools): 指的是有能力调用外部工具,比如搜索引擎、数据库、甚至是物理世界的机械臂等。这种能力有可以再细分为单纯从工具中获取知识(如调用搜索引擎),或者通过工具影响物理世界(如操作机械臂)。


首先需要强调的是,这些能力目前来看都只在大规模语言模型(Large Language Model, LLM)中有所涌现(Emergency) [5],涌现指的是某种只在模型参数规模达到一定程度后(>10B)才能出现的能力,这些能力在小模型上都无从谈起,对此的讨论可参考博文 [6]。LLM 的涌现能力可以说是 ALM 的基础,具备了涌现能力之后,ALM 才具有了强大的逻辑推理和语义理解能力。可以想想,一个模型如果能够具有强大的语义理解能力和逻辑推理能力,并且可以通过操作外部工具获取知识,影响物理世界,那么这已经和我们认识中的『强人工智能』似乎也相差不远了?本文就是尝试对 ALM 的这些神奇的能力进行综述。

01 推理能力

通常来说,推理能力是通过证据(Evidence)和逻辑(Logic)对一个问题进行推理的能力,通常可以拆分为一些子问题进行研究,比如常识推理(Commonsense reasoning)、数学推理(mathematical reasoning)、符号推理(Symbolic reasoning)等等。近些年来,基于 prompt 技术的语言模型得到了广泛地流行,prompt 技术+预训练模型是一种新的范式,与传统 pretrain -> finetune 的范式有所不同的是,在 pretrain -> prompt 范式中,我们可以不对模型参数进行更新,只需要考虑如何设计更加合理的 prompt,就能充分地利用预训练模型中的知识。这里指的『设计更合理的 prompt』,既可以是借助已有的人工标注数据进行设计,也可以对已有的人工标注数据进行扩展,比如 Chain of Thought Prompt [7] 就扩展了已有标注,补充了思维链的过程。


说到底,无论是 prompt 还是 finetune,都是为了让预训练模型更好地往着下游任务迁移的过程,然而这两者有着完全不同的设计思路。对于 finetune 而言,预训练模型仿佛是一个早熟的『孩子』,知识丰富却缺少了经验,因此通过一些人工标注数据作为监督信号,去教导这个孩子成为某个领域的专家,然而这个蜕变的过程是刻骨铭心的,一旦他成为了一个领域的专家,他可能就很难成为另一个领域的专家了。蜕变后的他获得了某个领域的成功,却失去了作为孩子的无限发展的可能性(模型通用性)。不仅如此,现在的预训练模型日渐庞大,GPT-3 的参数量已经达到了 175B,PaLM 的参数量达到了 540B,在这种参数量下,即便是少量样本的微调,也显得代价难以接受。


此时,我们自然就在想,是否可以在不更新模型参数的前提下,进行预训练模型的下游任务迁移呢?而这也不是痴人说梦,预训练模型在参数量足够巨大的时候,本身就蕴含着无限可能性,他好似一个无穷尽的知识库,只是缺少了有效的搜索途径。从这个角度看,『finetune』这个过程才显得可笑,这相当于为了契合某个人的喜好,就将这个已有知识宝库里面的大部分知识都付之一炬一般。理查德·道金斯所著的《自私的基因》一书中曾经有句名言:


当搜索空间足够大时,有效的搜索就与真正的创造并无二致了。


我们在拥有了这个无尽知识宝库(大规模语言模型)后,应该考虑的是如何才能有效从中找到我们需要的内容,而这个过程我们不妨就称之为 prompt。(1.然而,这并不是说明 finetune 就不重要了,事实上基于 instruction 的 finetune 正是能让 chatGPT 如此成功的要点之一。)


LLM 的推理能力正是可以通过 prompt 技术进行诱导,而 prompt 又可以分为 zero-shot prompt 和 few-shot prompt,后者我们通常也称之为情景学习(in-context learning)。(2.之所以笔者将 in-context 翻译成情景,而不是上下文,那是因为 in-context 这个过程更多地是为 LLM 提供一个任务的诱导,而不是提供一个上下文。翻译成上下文多少和原意有所不同,因其可视为提供了某种任务的背景,翻译成情景就更为合适。 )


如 Fig 1.1 (a) 所示,few-shot prompt 技术可以通过提供一个解决某个问题的中间思维过程作为示例,如绿底字就提供了解决这个文字数学问题的中间计算过程,诱导 LLM 的回答里面也包含这个中间思维过程,因此这种 prompt 方式也称之为思维链提示(Chain of Thought Prompt, CoT prompt)。如果只提供了一个示例,称之为 one-shot prompt,如果提供了若干个示例,则称之为 few-shot prompt,如果没有提供任何示例呢?如 Fig 1.1 (b)所示,这种我们称之为 zero-shot prompt。在 zero-shot prompt 中,没有提供任何和任务有关的示例,顶多会提供一些通用的提示词,如[8]只是在输入的问题后面添加上了一段 Let's think step by step,即便如此,实验也证实了在 GSM8K 等推理任务中,zero-shot prompt 也有着不错的表现(即便比不过 few-shot prompt)。



△Fig 1.1 通过使用 Few-shot 思维链提示技术和 zero-shot 提示技术,可以『诱导』出模型的推理能力。


如 Fig 1.2 (a)所示,采用了 CoT prompt 技术的 LLM 模型,比起不采用 CoT 的有着巨大的性能提升,而如 Fig 1.2 (b)所示,CoT prompt 带来的大幅性能提升只在模型规模达到一定程度之后才会涌现。



△Fig 1.2 采用了 CoT prompt 技术后,与传统 prompt 技术的结果对比。


还有一些研究在尝试将复杂问题进行分解成多个子任务,进行分而治之解决,这些方法又可以分为两大类,将复杂问题分解为子任务的方法,也是采用了 prompt 技术[9]进行的。


1、独立对子问题进行求解,并将子解合并为最终解。


2、序列式地求解子问题,将上一个子问题的答案作为下一个子问题的依赖进行求解。


这个过程可见 Fig 1.3,在 Prompt 0 中对复杂问题进行分解,得到两个子问题,显然这两个子问题存在依赖关系,我们需要首先解决绿色子问题 Subquestion 1。在 prompt 1 中,将绿色子问题 Subquestion 1 作为 prompt,和原问题一并提供给 LLM 得到 Answer 1。然后在 Prompt 2 中将原问题,Subquestion 1 和 Answer 1 作为 prompt 的一部分输入,同时再加入 Subquestion 2,得到最终的问题答案 Answer 2。



△Fig 1.3 LLM 对复杂任务进行子任务分解,然后序列式地对子问题进行求解,得到最终的问题答案。


即便已经取得了如此了不起的结果,prompt 技术还处在一些缺陷,特别是当 LLM 足够大的时候。首先,探索出一些能够诱导出 LLM 形成推理能力(如多步推理)的 prompt,挑选一个合适的 prompt 并不是一件容易的事情。如 Fig 1.4 (a)所示,即便是相同的 prompt 示例样本,不同标注者的 prompt 风格都可以导致在 GSM8K 上的结果有较大差距。不仅如此,当 LLM 规模较大的时候,长 prompt 同样会带来较大的计算负担。



△Fig 1.4 即便对于同一个示例样本,不同的 prompt 风格都会对结果有很大影响。


因此,一些研究尝试显式地诱导语言模型进行推理 (3.之所以称之为『显式』,指的是我们需要提供多步推理的过程,作为某种形式的监督信号给模型,无论模型需要微调与否,当得到了这种多步推理的中间信号后,就可以视为是显式地对多步推理能力进行建模。 ) ,这个过程就回到了 pretrain -> finetune 的范式,不过还是同样会使用 prompt 技术的辅助。文献[10]提出了一种称之为『草稿本(Scratchpad)』的概念,指的是模型在训练时候可以同时见到原问题和中间步骤,并且以中间步骤作为监督信号进行模型的 finetune,在预测阶段模型汇通是对中间步骤和中间答案都进行预测,像极了我们解数学题时候的草稿本,因此而得名。如 Fig 1.5 所示,该图展示了一般直接式的程序执行预测和草稿本策略下的程序执行预测的差别,后者会对程序调用过程中的结果进行跟踪,并且以此微调模型,以此显式地获得推理能力。我们能发现,scratchpad 策略和我们之前提到的 few-shot prompt 等策略都有所不同,它是需要对模型进行微调的。



△Fig 1.5 scratchpad 会对代码运行或者数学计算的中间步骤和结果都进行预测。



△Fig 1.6 另一种可行的显式多步推理建模,将多步推理过程在 prompt 中作为输入。


总结来看,LLM 的推理能力可以认为是一种将复杂问题分解为多个子问题,并且进行分别求解的过程,这个过程中不能保证中间步骤的有效性,同时 LLM 也经常会出现一些常识性错误,并且 LLM 经常在一些简单的数学问题中得到错误的中间答案。这些我们将在后文中看到,可以通过调用外部工具(如搜索引擎、计算器等)进行缓解,提高中间推理步骤的有效性。


在原文中,此处作者还提到了一个有趣的结论,采用显式的指令微调(instruction finetuning),已经在诸多研究中证实了其作用,能够使得较小规模的(10B 左右)的语言模型,超越未经过指令微调的大规模语言模型,特别是在那些非常看重指令执行的任务中。这一点在 chatGPT 和其前辈 instructGPT [15]都有体现,他们利用了 RLHF(Reinforcement Learning from Human Feedback)技术,对 LLM 进行了指令微调,从而得到了强大的推理能力。

02 使用外部工具的能力

最近 chatGPT 又推出了一个使用插件的功能 [12],使得 chatGPT 可以联网与超过 5000 种的外部插件进行交互,这是一个轰动的结果,这意味着 chatGPT 作为一个『大脑』,从此可以利用互联网中海量的插件能力,这无疑给 chatGPT 赋予了左膀右臂,如 Fig 2.1 的官方演示所示,一旦 chatGPT 接入了 Wolfram Alpha,就再也不用担心 chatGPT 数值计算的不准确的问题了。一旦 chatGPT 接入了搜索引擎和数据库,chatGPT 就可以检索到最新的信息了。一旦 chatGPT 接入了代码解释器,chatGPT 甚至还能帮你 debug 代码!这海量的插件将给 chatGPT 带来完全不同的玩法,我们不禁感叹天网将至,似乎我们往着通用人工智能又往前了一大步。



△Fig 2.1 chatGPT 接入了 Wolfram Alpha 插件后,拥有了更为精确的数值计算功能。


从上面的例子中,我们不难看出 LLM 除了推理能力,还能借助外部知识库的力量巩固自己的知识,不仅如此,LLM 甚至还能『听得懂』你的指令为你购物,还能控制物理世界的机械臂 [13],而本章就讨论 LLM 的这两种能力:利用工具巩固自己知识、通过工具影响外部世界。


此处的外部工具(External Tools)是一个广义的概念,不仅仅是搜索引擎、数据库、机械臂等,连神经网络或者语言模型本身也可以视为是外部工具。从这种角度上看,LLM 迭代式地调用自身也可以视为是调用工具,类似的工作如 PEER [15]。如 Fig 2.1 所示,PEER 是一个自己调用自己的过程,其每次迭代中会输入 Text,LLM 生成 Plan 和 Edit,通过 Plan 的引导对原文进行修改,并形成修改后的文本 Edit。在后续的迭代中,将 Edit 作为 Text,并迭代运行,直到达到终止条件为止。这种迭代式优化文本的方式对于一些复杂的生成任务,如小说、文章生成而言有着优势,相当于是将复杂任务拆分为了多个小型的子任务了。



△Fig 2.1 采用 PEER 的迭代式 prompt 的例子。


正如上文所谈到的,LLM 还可以调用外部的知识单元,比如搜索引擎、数据库等提高自身的知识推理能力,通过这种手段可以减少 LLM 的事实错误推理,产生过时信息等,并且通过将 LLM 的知识储存功能下放到外部知识模块,可以减少 LLM 的参数量。检索通常可以分为稀疏检索(Sparse)和稠密检索(Dense),前者通过对文档和检索词进行词袋(Word of Bag, WoB)表达后进行匹配,是一种类似于字词匹配的技术;而后者通过神经网络对文档和检索词进行向量编码后进行相似度计算,也被称之为向量化检索 [16],这是一种基于语义的检索方式。在我们本文中提到的工作都是采用稠密检索的。语言模型尝试采用检索系统的结果并不是一件稀罕事儿,这类型的工作会将文档的稠密表达拼接到当前语言模型上下文的后面,从而进行相似度计量,第一篇端到端的工作是 REALM [17],还有若干篇后续工作。还有一些工作尝试把思维链的思想也引入到检索中,如 IRCoT(交织型检索思维链, Interleaving Retrieval CoT) [18]这个方案通过交织检索步(Retrieve)和推理步(Reason),利用检索得到的结果去加强 CoT 推理步的结果,反过来也用 CoT 推理步的结果去更好地检索新结果,这是一个彼此加强的过程,如 Fig 2.2 所示。



△Fig 2.2 IRCoT 的流程交织着检索步(Retrieve)和推理步(Reason)。


在这些工作中,为了获得对应的资料去增强语言模型,对于每个检索请求(Query)都会调用检索器(Retriever)。与此同时,也有些其他工作让语言模型只在需要的时候请求检索器扩充知识。比如 BlenderBot [20] 可以通过 prompt 的方法决定是否发起检索,在这种情况下,prompt 方法直接与调用搜索引擎工具的指令相关联了。由于可以访问到外部的搜索引擎,因此 BlenderBot 可以应对开放域(open-domain)的问题,如 Fig 2.3 所示,作者将其作为公开应用进行部署、公开,让模型能以人在回路(human in the loop)的方式对模型进行持续训练。



△Fig 2.3 BlenderBot 采用人在回路的方式,对模型进行持续学习。


BlenderBot 只能对检索器 (4.此处的搜索引擎并不是指的如同百度和谷歌一样的具有前端的搜索引擎,而是单纯的输入文本返回文本的搜索工具,或者笔者将其称之为检索器会更加合适的。) 进行调用,而在 WebGPT 这篇工作中,作者尝试让语言模型去仿照人的行为去『浏览』一个浏览器,为了实现的简便性,此处的浏览器是一个纯文本构成的浏览器 (5.浏览器是纯文本亦或是具有美观的前端和控件与否,并不是一个根本性的问题,具备有前端和控件的浏览器我们也能视为是有超文本定义出来的,因此只采用纯文本的浏览器并不会影响 WebGPT 的有效性。 ) 。webGPT 可以学习出如何通过使用如 Fig 2.4 所示的有限指令集对浏览器进行检索、浏览、点击链接、引用数据源等,由于这显然是一个 action-reward 的过程,在训练模型的时候采用了强化学习,而此处的奖励也并不难定义,在给定了某个特定的任务描述的时候,只要判断 webGPT 是否在浏览器中找到了需要的内容,即可定义出非零既一的硬奖励函数去引导模型的学习了。



△Fig 2.4 WebGPT 所使用的有限指令集,包括了网页浏览相关的基本操作,如查询、点击链接、定位网页、引用等等。


由此我们看到 LLM 具有分解任务和决策序列规划的能力,这种能力对于控制外部工具而言非常重要,LLM 有一个很有意思的应用就是尝试利用 LLM 作为『大脑』去分解高级指令,拆解目标后控制一个虚拟仿真世界中的实体或者真实世界中的实体(agent)。如 Fig 2.5 所示,"Get Class of Milk"是一个复杂且抽象的指令,为了完成这个指令需要实体知道周围环境的状态,并且拆解、规划出合适的一系列动作去完成,而[22]这篇工作指出,在 LLM 足够庞大并且进行了正确的 prompt 之后,LLM 中所具有的世界知识(World Knowledge)足以让实体完成这个任务。



△Fig 2.5 LLM 可以拆解复杂、抽象的指令成若干具体指令,然后指导虚拟世界的实体进行执行。


在[23]这个工作中,作者则结合多模态模型(Visual-Language Model, VLM)和 LLM 模型去控制模拟环境下的机械臂,LLM 作为多步规划器(去理解环境状况与任务语义,进行复杂任务的拆解),而 VLM 则作为观察外部环境的手段,通过多模态模型的引入提供了更好的观察外部世界的手段。


——END——


参考资料:


[1]. Kosinski, M. (2023). Theory of mind may have spontaneously emerged in large language models. arXiv preprint arXiv:2302.02083.


[2]. Bubeck, S., Chandrasekaran, V., Eldan, R., Gehrke, J., Horvitz, E., Kamar, E., … & Zhang, Y. (2023). Sparks of Artificial General Intelligence: Early experiments with GPT-4. arXiv preprint arXiv:2303.12712.


[3]. https://cdn.openai.com/papers/gpt-4.pdf


[4]. Mialon, Grégoire, Roberto Dessì, Maria Lomeli, Christoforos Nalmpantis, Ram Pasunuru, Roberta Raileanu, Baptiste Rozière et al. “Augmented language models: a survey.” arXiv preprint arXiv:2302.07842 (2023).


[5]. Wei, Jason, Yi Tay, Rishi Bommasani, Colin Raffel, Barret Zoph, Sebastian Borgeaud, Dani Yogatama et al. “Emergent abilities of large language models.” arXiv preprint arXiv:2206.07682 (2022).


[6]. https://fesianxu.github.io/2023/03/25/emergent-abilities-llm-20230324/, 《【论文极速读】 大规模语言模型中的能力“涌现”现象》


[7]. Wei, Jason, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Ed Chi, Quoc Le, and Denny Zhou. “Chain of thought prompting elicits reasoning in large language models.” arXiv preprint arXiv:2201.11903 (2022).


[8]. Takeshi Kojima, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, and Yusuke Iwasawa. Large language models are zero-shot reasoners. In Advances in Neural Information Processing Systems (NeurIPS), 2022.


[9]. Zeqiu Wu, Yi Luan, Hannah Rashkin, David Reitter, and Gaurav Singh Tomar. Conqrr: Conversational query rewriting for retrieval with reinforcement learning. Conference on Empirical Methods in Natural Language Processing (EMNLP), 2022d.


[10]. Nye, M., Andreassen, A. J., Gur-Ari, G., Michalewski, H., Austin, J., Bieber, D., … & Odena, A. (2021). Show your work: Scratchpads for intermediate computation with language models. arXiv preprint arXiv:2112.00114.


[11]. Taylor, Ross, Marcin Kardas, Guillem Cucurull, Thomas Scialom, Anthony Hartshorn, Elvis Saravia, Andrew Poulton, Viktor Kerkez, and Robert Stojnic. “Galactica: A large language model for science.” arXiv preprint arXiv:2211.09085 (2022).


[12]. https://openai.com/blog/chatgpt-plugins


[13]. Driess, Danny, Fei Xia, Mehdi SM Sajjadi, Corey Lynch, Aakanksha Chowdhery, Brian Ichter, Ayzaan Wahid et al. “Palm-e: An embodied multimodal language model.” arXiv preprint arXiv:2303.03378 (2023).


[14]. Timo Schick, Jane Dwivedi-Yu, Zhengbao Jiang, Fabio Petroni, Patrick Lewis, Gautier Izacard, Qingfei You, Christoforos Nalmpantis, Edouard Grave, and Sebastian Riedel. Peer: A collaborative language model. arXiv preprint arXiv:2208.11663, 2022.


[15]. Ouyang, L., Wu, J., Jiang, X., Almeida, D., Wainwright, C., Mishkin, P., … & Lowe, R. (2022). Training language models to follow instructions with human feedback. Advances in Neural Information Processing Systems, 35, 27730-27744. short for InstructGPT


[16]. Johnson, Jeff, Matthijs Douze, and Hervé Jégou. “Billion-scale similarity search with gpus.” IEEE Transactions on Big Data 7, no. 3 (2019): 535-547.


[17]. Gautier Izacard and Edouard Grave. Leveraging passage retrieval with generative models for open domain question answering. arXiv preprint arXiv:2007.01282, 2020.


[18]. Harsh Trivedi, Niranjan Balasubramanian, Tushar Khot, and Ashish Sabharwal. Interleaving retrieval with chain-of-thought reasoning for knowledge-intensive multi-step questions. arXiv preprint arXiv:2212.10509, 2022.


[19]. Shuster, Kurt, Jing Xu, Mojtaba Komeili, Da Ju, Eric Michael Smith, Stephen Roller, Megan Ung et al. “Blenderbot 3: a deployed conversational agent that continually learns to responsibly engage.” arXiv preprint arXiv:2208.03188 (2022).


[20]. Yao, Shunyu, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao. “React: Synergizing reasoning and acting in language models.” arXiv preprint arXiv:2210.03629 (2022).


[21]. Nakano, R., Hilton, J., Balaji, S., Wu, J., Ouyang, L., Kim, C., … & Schulman, J. (2021). Webgpt: Browser-assisted question-answering with human feedback. arXiv preprint arXiv:2112.09332.


[22]. Huang, Wenlong, Pieter Abbeel, Deepak Pathak, and Igor Mordatch. “Language models as zero-shot planners: Extracting actionable knowledge for embodied agents.” In International Conference on Machine Learning, pp. 9118-9147. PMLR, 2022.


[23]. Zeng, Andy, Adrian Wong, Stefan Welker, Krzysztof Choromanski, Federico Tombari, Aveek Purohit, Michael Ryoo et al. “Socratic models: Composing zero-shot multimodal reasoning with language.” arXiv preprint arXiv:2204.00598 (2022).


推荐阅读:


基于公共信箱的全量消息实现


百度APP iOS端包体积50M优化实践(二) 图片优化


浅论分布式训练中的recompute机制


剖析多利熊业务如何基于分布式架构实践稳定性建设


百度工程师的软件质量与测试随笔


百度APP iOS端包体积50M优化实践(一)总览

发布于: 刚刚阅读数: 3
用户头像

百度Geek说

关注

百度官方技术账号 2021-01-22 加入

关注我们,带你了解更多百度技术干货。

评论

发布
暂无评论
增强型语言模型——走向通用智能的道路?_人工智能_百度Geek说_InfoQ写作社区