Are Emergent Abilities of Large Language Models a Mirage?

news2024/11/24 8:47:28

Paper name

Are Emergent Abilities of Large Language Models a Mirage?

Paper Reading Note

Paper URL: https://arxiv.org/pdf/2304.15004.pdf
Video URL: https://www.youtube.com/watch?v=hZspGdApDIo

TL;DR

  • 2023 年斯坦福的研究,探索大语言模型表现出涌现能力的原因,初步结论是涌现能力主要是由研究人员选择一个非线性或不连续的评价指标导致的,另外探索了如何诱导涌现能力的出现,本文在视觉任务上通过对评价指标的修改复现了涌现现象。

Introduction

背景

  • 最近的工作声称大型语言模型表现出涌现能力,也即只在大模型上有的现象,一般在小模型上不会出现
    • 涌现能力最初是在 GPT3 上观察到的
    • 最近一些工作认为 llm 应该要具备类似“突然的、特定的能力缩放”的涌现能力
      在这里插入图片描述
  • 有两个原因让涌现能力变得有趣
    • 突变:该现象从之前的不存在到现在的存在过渡似乎是瞬间发生
    • 不可预测:在看似不可预见的模型尺度上过渡
  • 神奇的涌现能力也不禁让我们产生一些思考:
    • 什么控制了涌现能力的出现?
    • 什么控制了何时出现涌现能力?
    • 如何让涌现能力更快出现?

本文方案

  • 本文发现涌现能力似乎仅在非线性或不连续地缩放模型的 token 错误率的指标下出现
    在这里插入图片描述
    • 这就提出了对 LLM 涌现能力来源的另一种解释: 研究人员选择测量指标可能会导致看似尖锐和不可预测的变化,即使模型的每个 token 错误率随着模型规模增加而平滑、连续和可预测地变化。也即涌现能力是由研究人员选择一个非线性或不连续的评价指标导致的,另外也有一部分测试数据较少的原因(导致小模型看起来完全无法执行任务)以及评估的大规模模型较少
  • 在一个简单的数学模型上展示了本文的解释,然后以三种互补的方式对提出的解释进行验证:
    • 利用 InstructGPT/GPT-3 模型系列验证了三个评价指标会导致的影响预测
    • BIG-Bench 上分析关于度量选择的影响预测,在“任务-指标-模型”的三元组上,验证了只有一些特定的指标上出现了涌现能力。在固定模型输出的情况下,修改评价指标就会导致涌现能力消失
    • 视觉任务上引入非线性或不连续的评价指标后也可以展现出涌现能力
  • 在所有三个分析中,本文发现了强有力的支持证据,证明涌现能力可能不是缩放 AI 模型的基本属性

Dataset/Algorithm/Model/Experiment Detail

实现方式

涌现能力的解释

在这里插入图片描述

  • neural scaling laws:经验观察,深度网络在测试损失中表现出是训练数据集大小、参数数量(模型大小)或计算的幂律缩放函数
    在这里插入图片描述
    其中 N 是模型参数量,c>0, α < 0 \alpha<0 α<0 ,如上图 A 所示

  • 写成 per-token 交叉熵的形式
    在这里插入图片描述
    实际上替换了经验观察到的 token v * 的 one-hot 分布,将上式转换为
    在这里插入图片描述
    然后具有 N 个参数的模型具有选择正确 token 的 per-token 概率,如上图 B 所示在这里插入图片描述- 假设研究人员选择一个需要正确选择长度为 L 的 token 序列的评价指标(例如,我们的任务可能是 L 位整数加法,当且仅当所有 L 个输出数字与没有添加、删除或替换的所有目标数字完全匹配时,模型的输出才会被评为准确)。如果 token 正确的概率与其他预测 token 无关,则模型正确输出所有 L 个 token 的概率为
    在这里插入图片描述
    这种度量的选择随着 token 序列长度的增加而非线性缩放性能,在绘制线性对数图上较长序列的性能时,可以看到一个尖锐、不可预测的涌现能力,如上图 C 所示

  • 如果换成 Token Edit Distance 这样的近似线性度量,per-token 错误率在目标长度上以准线性缩放,如上图 E

  • 如果使用不连续的评估指标,比如 Multiple Choice Grade,也可以看到涌现能力,如上图 D。二如果换成类似 Brier Score 之类的连续评估指标,就不会有涌现现象,如上图 F

  • 【总结】涌现现象的解释

    • 非线性和不连续的评估指标放大了 per-token 误差率
    • 大规模模型下的采样不充分,也即大模型下的实验一般比较少
    • 小模型的评估细粒度不够,及如果训练数据量少的情况下细粒度为 1/test dataset size,所以应该尽量增加评估数据量

实验结果

InstructGPT/GPT-3 涌现能力分析

  • 下图从左到右分别是

    • 数学模型,2个两位整数乘法任务,2个四位整数加法任务
  • 下图上面的是非线性的 accuracy 评价指标,有涌现现象,如果使用线性的 Token Edit Distance ,则随着模型参数增加性能是平滑可预测的提升
    在这里插入图片描述

  • 使用更多的评测数据使得性能变化是平滑、连续和可预测的。即便是在非线性的 accuracy 指标下,涌现现象也消失了
    在这里插入图片描述

对声称涌现能力的分析

  • 基于 BIG-Bench 这个大语言模型测试工具,39 个评价指标中,出现涌现能力的评价指标最多只有 5 个,大于 92% 的涌现能力来源于 Multiple Choice Grade 和 Exact String Match 这两个非线性或不连续指标
    在这里插入图片描述
  • 改变评价指标可以让涌现能力消失
    在这里插入图片描述

诱导涌现能力的方式

  • 在全连接网络、卷积网络、自注意网络上诱导涌现能力,主要关注视觉任务(之前视觉任务很少关注到涌现现象)

  • 改变评价指标可以在 MNIST 上复现涌现能力,实验模型是 LeNet,评价指标重新定义为 subset accuracy:K 个测试数据都需要预测正确才算对
    在这里插入图片描述

  • 在非线性 autoencoders 上的实验,重建指标改为 R e c o n s t r u c t i o n c Reconstruction_{c} Reconstructionc 后有涌现现象
    在这里插入图片描述
    在这里插入图片描述
    该指标卡了阈值造成了指标不连续,需要误差小于 c 才算正确

  • autoregressive transformers 上的诱导涌现能力实验,在 MMLU 数据集上做的,自回归分类 Omniglot 手写数字。指标重新定义为正确分类序列中的所有图像就会展现涌现能力
    在这里插入图片描述

Thoughts

  • 对涌现现象的一个看起来合理的解释,作者全篇的行文风格主要是在阐述该解释,并结合多个实验进行论证,并没有说该解释一定是确保正确,不排除未来有更合理的涌现现象解释
  • 设置评价指标的时候需要考虑该指标对于 per-token 错误率的影响
    • 比如如果选择 accuracy 作为评价指标,应该确保有足够的数据来准确测量模型性能;使用太少的数据意味着分辨率太低,这增加了得出无效科学结论的可能性
  • 确定常用的 NLP 指标与人类偏好相关的程度应该是需要优先考虑的:
    • 一些自动化的指标不一定靠谱,比如 BIG-Bench 上的 “Q: What is 4 plus 5?”,回答 “The sum of 4 and 5 is 9” 会被判别为错误,因为评价的方式是取回答中的第一个数字作为答案
    • 不靠谱的 NLP 指标会导致模型在这些指标上过拟合,并不满足人类真正的需求
  • 作者最后还批评了当前部分不公开模型或者 API 的问题会阻碍学术研究进展,推荐是至少要像 GPT3 这样公开 API 调用
  • 基于本文的结果来看,因为人类现在主观也觉得大模型有涌现现象,人类主观评价可能也是非线性和不连续的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/599845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 1552. Magnetic Force Between Two Balls【二分,排序,贪心】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

内存栈与CPU栈机制

1. 内存栈: 先入后出,LIFO(LAST IN FIRST OUT) 入栈:将一个新的元素放到栈顶 出栈:从栈顶取出一个元素 栈顶元素总是最后一个入栈,需要时出栈. 2.CPU栈机制 8086CPU提供相关指令以栈方式来访问内存空间.相当于将一段内存当做栈来使用 8086CPU提供的入栈指令为:PUSH ,出栈指令为…

【Linux】序列化和反序列化

目录 &#x1f308;前言&#x1f338;1、应用层&#x1f33a;2、重谈协议&#x1f341;3、网络计算器&#x1f361;3.1、定制协议&#x1f362;3.2、样例代码 &#x1f308;前言 这篇文章给大家带来序列化和反序列化的学习&#xff01;&#xff01;&#xff01; &#x1f338;…

chatgpt赋能python:Python倒序for:如何优化循环遍历

Python倒序for&#xff1a;如何优化循环遍历 Python作为一门高级编程语言&#xff0c;一直以来都在开发者中得到广泛的应用。在日常的编程工作中&#xff0c;遍历列表&#xff08;List&#xff09;和元组&#xff08;Tuple&#xff09;是很常见的操作。而对于列表或元组的倒序…

NLP(五十四)tiktoken的使用

tiktoken是OpenAI于近期开源的Python第三方模块&#xff0c;该模块主要实现了tokenizer的BPE&#xff08;Byte pair encoding&#xff09;算法&#xff0c;并对运行性能做了极大的优化。本文将介绍tiktoken模块的使用。 tiktoken简介 BPE(Byte pair encoding)算法是NLP中常见的…

Redis系列---Redis网络模型1

我们都知道&#xff0c;redis的高性能是具有多方面的因数&#xff0c;如&#xff1a;运行在内存上&#xff0c;单线程命令&#xff0c;io多路复用技术等&#xff0c;对于redis高性能的探究&#xff0c;就需要深入的研究其工作原理&#xff0c;这就涉及到redis的网络模型了&…

python实现单链表、双链表、反转链表(二)

一、链表概述 链表是有元素组成的数据结构&#xff0c;每个元素都是单独对象&#xff0c;包含数据和指针信息 链表中的每个元素称为节点&#xff0c;如下所示&#xff0c;第一个节点称为Head(头节点)&#xff0c;为链表的入口点&#xff0c;如果链表为空&#xff0c;则Head指…

Vue.js 比较重要知识点总结二

概述 vue3 组合式API生命周期钩子函数有变化吗&#xff1f;Composition API 与 Options API 有什么区别&#xff1f;watch 和 watchEffect 的区别&#xff1f;vue2 如何升级到 vue3 ? vue3 组合式API生命周期钩子函数有变化吗&#xff1f; 选项式API 和 组合式API 生命周期…

Java的继承性

1.为什么要有类的继承性&#xff1f;(继承性的好处&#xff09; ① 减少了代码的冗余&#xff0c;提高了代码的复用性② 便于功能的扩展③ 为之后多态性的使用&#xff0c;提供了前提 2.子类继承父类以后有哪些不同&#xff1f; 2.1体现&#xff1a; 一旦子类A继承父类B以…

汇编基础学习

1. 利用ldr向寄存器里面写较大数据&#xff0c;和设置寄存器的某些位 2. 这个lable 不对呢 验证宏值加载到寄存器里是正确的。 pc 的地址是0x80594 当前pc指针加上宏定义值的地址值。 3 打印字符串 字符串加载了8个字节到寄存器里面&#xff0c; 如何调试打印出来呢&#xff1…

数据库设计的原则有哪些

数据库设计是程序开发的核心部分&#xff0c;标准的数据库设计原则和步骤能有效提高开发进度和效率。 数据库设计(Database Design)是指对于一个给定的应用环境&#xff0c;构造最优的数据库模式&#xff0c;建立数据库及其应用系统&#xff0c;使之能够有效地存储数据&#xf…

RK3588平台开发系列讲解(驱动基础篇)中断相关函数

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、获取中断号相关函数二、申请中断函数三、free_irq 函数四、中断处理函数五、中断使能和禁止函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 中断有专门的中断子系统,其实现原理很复杂,但是驱…

Git详解——安装、使用、搭建、IDEA集成

Git 看目录&#xff0c;越往后面越重要 目录一、git是什么&#xff1f;二、为什么要使用Git&#xff1f;三、版本控制工具四、git下载安装以及环境配置五、git基本命令六、git项目搭建七、远程仓库怎么搞&#xff1f;git,gitlab,github,gitee区别八、idea集成Git 一、Git是什…

HBase2.2.2安装(单机、伪分布)

系列文章目录 Ubuntu常见基本问题 Hadoop3.1.3安装&#xff08;单机、伪分布&#xff09; Hadoop集群搭建 HBase2.2.2安装&#xff08;单机、伪分布&#xff09; Zookeeper集群搭建 文章目录 系列文章目录前置条件一、HBase2.2.2安装二、配置环境变量1、问题 三、单机模式1、修…

浅谈数字化

一、数字化转型 数字化转型&#xff08;Digital transformation&#xff09;是建立在数字化转换&#xff08;Digitization&#xff09;、数字化升级&#xff08;Digitalization&#xff09;基础上&#xff0c;进一步触及公司核心业务&#xff0c;以新建一种商业模式为目标的高…

仙人掌之歌——权力的游戏(3)

像疯子一样死去 陈速没想到李通是在香山深处一所疗养院里休养&#xff0c;军方的岗位森严&#xff0c;进去还得把身份证押在门卫室。李通穿着病号服悠哉地晃过来把陈速领了进去。 “通哥&#xff0c;这儿真是个好地方啊。” 陈速由衷地赞叹着&#xff0c;望着大院里古树参天&…

九、Spring Cloud—gateway网关

一、引言 每个微服务都需和前端进行通信&#xff0c;解决每个微服务请求时的鉴权、限流、权限校验、跨域等逻辑&#xff0c;放在一个统一的地方进行使用。 在微服务架构中&#xff0c;网关是一个重要的组件&#xff0c;它作为系统的入口&#xff0c;负责接收所有的客户端请求…

Shiro高级及SaaS-HRM的认证授权

Shiro高级及SaaS-HRM的认证授权 Shiro在SpringBoot工程的应用 Apache Shiro是一个功能强大、灵活的&#xff0c;开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。越来越多的企业使用Shiro作为项目的安全框架&#xff0c;保证项目的平稳运行。 在之…

前端042_图表展现_自适应

自适应 当缩小窗口时,饼图和柱状图不会自动自适应,会被遮挡住。因为 ECharts 本身并不是自适应的,当你父级容器的宽度发生变化的时候需要手动调用它的 .resize() 方法。 其中 vue-element-admin项目中已经实现了自适应效果,只要将对应代码拷贝引用即可。将 vue-element-adm…

Java中的this、package、import

this 在Java中&#xff0c;this的作用和其词义很接近。 它在方法内部使用&#xff0c;即这个方法所属对象的引用&#xff1b; 它在构造器内部使用&#xff0c;表示该构造器正在初始化的对象。 this 可以调用类的属性、方法和构造器 什么时候使用this关键字呢&#xff…