0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

涌现能力的定义、常见的激发手段和具体的分类和任务

深度学习自然语言处理 来源:哈工大SCIR 2023-05-15 09:25 次阅读

摘要

一个一直以来的共识是,模型的规模越大,模型在下游任务上的能力越多、越强。随着最近的新的模型的提出,大规模的语言模型出现了很多超乎研究者意料的能力。我们针对这些在小模型上没有出现,但是在大模型上出现的不可预测的能力——“涌现能力”做了一些归纳和总结,分别简要介绍了涌现能力的定义、常见的激发手段和具体的分类和任务。

缩放法则(Scaling Law)

Kaplan J等人[1]在 2020 年提出缩放法则,给出的结论之一是:模型的性能强烈依赖于模型的规模,具体包括:参数数量、数据集大小和计算量,最后的模型的效果(图中表现为loss值降低)会随着三者的指数增加而线性提高(对于单个变量的研究基于另外两个变量不存在瓶颈)。这意味着模型的能力是可以根据这三个变量估计的,提高模型参数量,扩大数据集规模都可以使得模型的性能可预测地提高。Cobbe等人[2]的工作提出缩放定律同样适用于微调过程。

fbf78350-f2b5-11ed-90ce-dac502259ad0.png

图1:Loss值随计算资源、数据规模大小和参数量的指数提升呈线性下降

缩放定律的一个重要作用就是预测模型的性能,但是随着规模的扩大,模型的能力在不同的任务上并不总表现出相似的规律。在很多知识密集型任务上,随着模型规模的不断增长,模型在下游任务上的效果也不断增加;但是在其他的复杂任务上(例如逻辑推理、数学推理或其他需要多步骤的复杂任务),当模型小于某一个规模时,模型的性能接近随机;当规模超过某个临界的阈值时,性能会显著提高到高于随机(如下图所示)。这种无法通过小规模模型的实验结果观察到的相变,我们称之为“涌现能力”。

涌现能力的概述

涌现能力的定义

在其他的学科中已经有很多与“涌现能力”相关的研究了,不同学科解释的方式和角度也不尽相同。物理学中对“涌现能力”的定义[3]是:

当系统的量变导致行为的质变的现象(Emergence is when quantitative changes in a system result in qualitative changes in behavior)。

对于大规模语言模型的涌现能力,在 Jason Wei 等人的工作中[4]的工作中,给出的定义:

在小模型中没有表现出来,但是在大模型中变现出来的能力"(An ability is emergent if it is not present in smaller models but is present in larger models.)。

涌现能力大概可以分为两种:通过提示就可以激发的涌现能力和使用经过特殊设计的prompt激发出的新的能力。

基于普通提示的涌现能力

通过 prompt 激发大模型能力的方法最早在GPT3[5]的论文中提出提示范式的部分加以介绍:给定一个提示(例如一段自然语言指令),模型能够在不更新参数的情况下给出回复。在此基础上,Brown等在同一篇工作中提出了Few-shot prompt,在提示里加入输入输出实例,然后让模型完成推理过程。这一流程与下游任务规定的输入输出完全相同,完成任务的过程中不存在其他的中间过程。

下图展示了来自不同的工作的对于大模型的在few-shot下测试结果。其中,横坐标为模型训练的预训练规模(FLOPs:floating point operations,浮点运算数。一个模型的训练规模不仅和参数有关,也和数据多少、训练轮数有关,因此用FLOPs综合地表示一个模型的规模);纵轴为下游任务的表现。可以发现,当模型规模在一定范围内时(大多FLOPs在10^22以内),模型的能力并没有随着模型规模的提升而提高;当模型超过一个临界值时,效果会马上提升,而且这种提升和模型的结构并没有明显的关系。

fc1d437e-f2b5-11ed-90ce-dac502259ad0.png

图2:在普通prompt方式下,不同任务上的效果随模型训练的计算量的提升的变化

基于增强提示的激发方法

随着对大规模语言模型的研究越来越深入,为大模型添加prompt的方式也越来越多,主要表现出的一个趋势是,相比于普通的 few-shot 模式(只有输入输出)的 prompt 方式,新的方法会让模型在完成任务的过程中拥有更多的中间过程,例如一些典型的方法:思维链(Chain of Thought)[6]、寄存器(Scratchpad)[7]等等,通过细化模型的推理过程,提高模型的下游任务的效果。

下图展示了各种增强提示的方法对于模型的作用效果,具体的任务类型包括数学问题、指令恢复、数值运算和模型校准,横轴为训练规模,纵轴为下游任务的评价方式。与上图类似,在一定的规模以上,模型的能力才随着模型的规模突然提高;在这个阈值以下的现象则不太明显。当然,在这一部分,不同的任务采用的激发方式不同,模型表现出的能力也不尽相同,我们会在下文分类介绍。

fc3b670a-f2b5-11ed-90ce-dac502259ad0.png

图3:在增强的prompt方式下,一些复杂任务的效果随模型训练的计算量提升而提升

不同的涌现能力的介绍

在这一部分,我们并没有沿用Jason Wei 等人[4]的工作中以使用方法分类的脉络,因为同一种方式激发出的能力可能能应用于多个任务,多种激发方式也可能只是不同程度地提升同种能力;我们采用Yao等人[8]的方式,从能力出发,对不同的方法激发出的能力和激发效果进行总结。

优秀的上下文学习能力

大规模的语言模型展现出了优秀的上下文学习能力(In-context learning)。这种能力并非大模型专属,但是大模型的足够强大的上下文学习能力是之后各种涌现能力激发的基础。类似于无监督的预测,在上下文学习过程中,不需要对模型进行参数调整,只需要在输入测试样例之前输入少量带有标注的数据,模型就可以预测出测试样例的答案。

有关上下文学习的能力来源仍然有很多讨论。在 Min等人[9]的实验中,分析了上下文学习能力的作用原理。实验表明,上下文学习的过程中,prompt中的ground truth信息并不重要,重要的是prompt中实例的形式,以及输入空间与标签空间是否与测试数据一致。Xie 等人的工作[10]将上下文学习的过程理解为一个贝叶斯推理的过程,在in-context learning的过程中,模型先基于prompt推测concept,然后基于concept和prompt生成output。在对多个样例进行观测的过程中,prompt中的数据会给concept提供“信号”(与预训练过程中的相似之处)和“噪声”(与预训练过程分布差别较大之处),当信号大于噪声时,模型就可以推理成功。

可观的知识容量

问答和常识推理任务上需要模型具有较好的知识推理能力,在这种情况下,对大型模型进行提示不一定优于精调小型模型。但是大模型拥有更高的标注效率,因为:

在许多数据集中,为了获得所需的背景/常识知识,小模型需要一个外部语料库/知识图谱来检索,或者需要通过多任务学习在增强的数据上进行训练

对于大型语言模型,可以直接去掉检索器,仅依赖模型的内部知识,且无需精调

fc5f7604-f2b5-11ed-90ce-dac502259ad0.png

图4:之前的需要外部检索的SOTA和GPT-3的性能对比

上表来自于 Yu等人[11]的工作。如表中所示,虽然在常识/开放域问答任务上GPT-3 并没有明显优于之前的精调模型,但它不需要从外部文档中检索,因为其本身就包含了知识。

为了理解这些结果的重要性,我们可以回顾一下NLP的发展历史:NLP 社区从一开始就面对着如何有效编码知识的挑战。研究者们一直在不断探索如何把知识保存在模型外部或者内部的方法。上世纪九十年代以来,研究者们一直试图将语言和世界的规则记录到一个巨大的图书馆中,将知识存储在模型之外。但这是十分困难的,毕竟我们无法穷举所有规则。因此,研究人员开始构建特定领域的知识库,来存储非结构化文本、半结构化(如维基百科)或完全结构化(如知识图谱)等形式的知识。通常,结构化知识很难构建,但易于推理,非结构化知识易于构建,但很难用于推理。然而,语言模型提供了一种新的方法,可以轻松地从非结构化文本中提取知识,并在不需要预定义模式的情况下有效地根据知识进行推理。下表为优缺点对比:

构建 推理
结构化知识 难构建需要设计体系结构并解析 容易推理有用的结构已经定义好了
非结构化知识 容易构建只存储文本即可 难推理需要抽取有用的结构
语言模型 容易构建在非结构化文本上训练 容易推理使用提示词即可

优秀的泛化性

在 2018 年至 2022 年期间,NLP、CV 和通用机器学习领域有大量关于分布偏移/对抗鲁棒性/组合生成的研究,人们发现当测试集分布与训练分布不同时,模型的行为性能可能会显著下降。然而,在大型语言模型的上下文学习中似乎并非如此。

fc82f1f6-f2b5-11ed-90ce-dac502259ad0.png

图5: GPT-3的同分布和不同分布之间的对比,以及和RoBERTa的对比

上图来自Si等人[12]在2022年的研究,在此实验中,同分布情况下基于prompt的 GPT-3 的效果并没有精调后的 RoBERTa要好。但它在三个其他分布(领域切换、噪声和对抗性扰动)中优于 RoBERTa,这意味着 GPT3 更加鲁棒。

fc97849a-f2b5-11ed-90ce-dac502259ad0.png

图6:不同复杂程度的提示在不同分布中对模型效果的影响

此外,即使存在分布偏移,好的提示词所带来的泛化性能依旧会继续保持。比如Fu 等人[13]2022年的研究(上图所示),输入提示越复杂,模型的性能就越好。这种趋势在分布转移的情况下也会继续保持:无论测试分布与原分布不同、来自于噪声分布,或者是从另一个分布转移而来的,复杂提示始终优于简单提示。

复杂推理能力

复杂推理能力包含若干方面,如数学推理能力、代码生成、脚本生成等等,以下的介绍我们以数学推理能力为例。数学推理的一个典型的数据集是GSM8K,其由8.5K个人工标注的高质量的小学数学问题组成。数据集的标注内容不仅包含最终结果,还包含得到结果的2~8个推理步骤。

在最开始的GPT3的论文中,对于这个任务的学习方式仍然是微调的方式,得到的结果基本符合缩放定律。作者在论文里得出一个结论:

175B的模型仍然需要两个额外数量级的训练数据才能达到80%的准确率。

但是在之后的工作中,通过其他的方式大大提高了该任务上的结果。Wei等人[6]通过思维链的方式,将540B的PaLM模型上的准确率提高到56.6%,这一过程并没有微调,而是将8个提示示例作为prompt,通过few-shot的方式激发模型的推理能力。在此基础上,Wang等人[14]通过多数投票的方式,将这一准确率提高到74.4%。Yao等人[15]提出Complexity-based Prompting,通过使用更复杂、推理步骤更多的样例作为prompt,进一步提高模型的效果。在此之外,数据集的难度也越来越高:Chung等人[16]将测试范围扩展到高中的各个学科;Minerva[17]的工作将测试范围扩展到大学的各个学科;Jiang等人[18]进一步将测试范围扩展到国际数学奥林匹克问题上。

我们看到,从涌现能力的角度讲,模型在在达到一定规模后,用恰当的方式激发出的性能确实远远超过缩放法则所预测的效果;与此同时,各种方法都是few-shot或zero-shot的方式,需要的数据也更少。现在并没有太多工作能够直接对比在同样的足够大的模型上,微调和prompting的方式的性能差距;但是在下游任务数据集的规模往往远小于模型充足训练所需要的数据规模的情境下,利用prompting激发模型本来的能力确实能够显著提高效果,这也是目前大多数任务面临的情况。

涌现能力是海市蜃楼?

在斯坦福大学最新的工作[19]中指出,大模型的涌现能力来自于其不连续的评价指标,这种不连续的评价指标导致了模型性能在到达一定程度后出现“大幅提升”。如果换成更为平滑的指标,我们会发现相对较小的模型的效果也并非停滞不前,规模在阈值以下的模型,随着规模的提高,生成的内容也在逐渐靠近正确答案。

为了验证这一观点,斯坦福的研究人员做了两组实验,第一组是将NLP中不连续的非线性评价指标转为连续的线性评价指标,结果如下图所示,模型的涌现能力消失了(从图2到下图)。

fcb25a22-f2b5-11ed-90ce-dac502259ad0.png



图7:不同类型指标下,不同规模的模型的性能对比。当换为更加平滑的指标后,小模型的性能也随着规模扩大而逐步提高

第二组实验是将CV任务中的连续指标转换为了类似NLP中的不连续指标,结果如下图所示,CV任务中也出现了涌现能力:

fcd31ba4-f2b5-11ed-90ce-dac502259ad0.png



图8:更换指标之后,cv任务中的模型规模与模型效果之间的关系。当换为不平滑指标后,cv任务中的模型也出现类似的“涌现能力”

因此LLM中的涌现能力到底是什么,又是如何出现的,依然值得研究者们研究。

结语

本文简要介绍了涌现能力,具体包括涌现能力之前的缩放法则,涌现能力的定义,涌现能力的分类,还简要介绍了不同涌现能力的典型激发方法。当然,归根结底,“涌现能力”只是对一种现象的描述,而并非模型的某种真正的性质,关于其出现原因的研究也越来越多。现有的一些工作认为,模型的涌现能力的出现是和任务的评价目标的平滑程度相关的。在之后的工作中,更好的评级方式,更高的数据质量,更出乎人意料的prompt方式,都可能会更进一步提高模型的效果,并让观测到的效果得到更客观的评价。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5310

    浏览量

    119983
  • 模型
    +关注

    关注

    1

    文章

    3160

    浏览量

    48703
  • 语言模型
    +关注

    关注

    0

    文章

    504

    浏览量

    10244

原文标题:摘要

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ucos_ii 每个任务具体定义栈大小

    在ucos_ii 系统中,针对每个任务怎么来分配其栈的大小。我在程序中对一个只是LED点亮的任务,如果真是LED,大小为10就可以正常运行,如果增加一个消息队列,再用10就不能运行,我定义为80,就能够正常运行。到底是应该怎么
    发表于 04-30 17:43

    常见电机分类和驱动原理动画是什么

    常见电机分类和驱动原理动画文章目录常见电机分类和驱动原理动画基本分类直流有刷电机直流无刷电机(BLDC)步进电机(Stepper motor
    发表于 06-28 11:51

    继电器的定义分类、命名

    继电器的定义分类、命名
    发表于 06-30 13:10 4695次阅读

    电器的定义分类

    电器的定义分类 电器——自动或手动接通和断开电路,能实现对电路或非电对象切换、保护、检测、变换和调节目的的电气元件分类
    发表于 12-08 18:19 5027次阅读

    分类算法的定义和要求

    分类算法的定义和要求 给出流分类的正式定义分类器有N条规则{Rj,1≤j≤N},规则Rj由3部分组成:1) 正则表
    发表于 03-04 11:24 813次阅读

    如何利用机器学习思想,更好地去解决NLP分类任务

    NLP分类任务我们每个NLPer都异常熟悉了,其在整个NLP业务中占据着举足轻重的地位,更多领域的子任务也常常转化为一个分类任务,例如新闻
    的头像 发表于 08-28 10:02 2216次阅读
    如何利用机器学习思想,更好地去解决NLP<b class='flag-5'>分类</b><b class='flag-5'>任务</b>

    如何开发与自定义应用的音频分类

    在 Google I/O 大会上我们分享了一套教程,帮大家在音频方面使用机器学习。在这篇文章中,您可找到一些相关资源,帮助开发与自定义应用的音频分类模型,以及激发灵感的真实案例。 音频机器学习
    的头像 发表于 10-11 10:08 3183次阅读

    MCU常见的加密手段

    MCU常见的加密手段
    发表于 10-25 16:36 16次下载
    MCU<b class='flag-5'>常见</b>的加密<b class='flag-5'>手段</b>

    3.小白初学UCosIII STM32F429 任务定义任务切换的实现1

    ,图任务轮流切换波形图 的波形图的效果,并不是真正的多任务系统中任务切换的效果图,这个效果其实可以完全由裸机代码来实现,具体见代码清单: 任务
    发表于 12-23 20:00 1次下载
    3.小白初学UCosIII STM32F429 <b class='flag-5'>任务</b>的<b class='flag-5'>定义</b>与<b class='flag-5'>任务</b>切换的实现1

    图像分类任务的各种tricks

    计算机视觉主要问题有图像分类、目标检测和图像分割等。针对图像分类任务,提升准确率的方法路线有两条,一个是模型的修改,另一个是各种数据处理和训练的tricks。
    的头像 发表于 09-14 16:42 1137次阅读

    浅谈工业连接器的定义分类

    首先,我们先从连接器的定义分类来了解连接器产品命名的基本规则。 浅谈工业连接器的定义分类 任何电气系统都必须以电流作为信号或能量的载体,通过导体之间的接触将电流从一个导
    发表于 01-05 14:39 597次阅读

    freeRTOS用于任务之间同步的手段事件标志组

    freeRTOS中还有一种可以用于任务之间同步的手段 — 事件标志组。
    的头像 发表于 02-10 11:10 1501次阅读

    PyTorch文本分类任务的基本流程

    文本分类是NLP领域的较为容易的入门问题,本文记录文本分类任务的基本流程,大部分操作使用了**torch**和**torchtext**两个库。 ## 1. 文本数据预处理
    的头像 发表于 02-22 14:23 1062次阅读

    TDengine+OpenVINO+AIxBoard助力时序数据分类

    时间序列数据分析在工业,能源,医疗,交通,金融,零售等多个领域都有广泛应用。其中时间序列数据分类是分析时序数据的常见任务之一。本文将通过一个具体的案例,介绍 Intel 团队
    的头像 发表于 10-27 11:08 611次阅读
    TDengine+OpenVINO+AIxBoard助力时序数据<b class='flag-5'>分类</b>

    功放芯片的定义分类

    功放芯片,全称为功率放大器芯片,是电子领域中至关重要的组成部分,特别是在音频放大技术中占据核心地位。本文将对功放芯片的定义、作用、分类、性能评估、应用领域以及市场趋势进行全面介绍,并辅以具体的数字和信息进行说明。
    的头像 发表于 05-31 18:07 5561次阅读