当前位置: 首页 > news >正文

Scaling Instruction-Finetuned Language Models

Paper name

Scaling Instruction-Finetuned Language Models

Paper Reading Note

Paper URL: https://arxiv.org/pdf/2210.11416.pdf

TL;DR

  • 2022 年谷歌出的文章,对指令微调的影响因素进行分析,提出了一些提升指令微调效果的方案。与该文章一起出品的数据集 Flanv2 也是业界公认的高质量微调数据集,对于各种公开榜单刷榜有重要意义

Introduction

背景

  • 人工智能的一个重要目标是开发可以推广到看不见的任务的模型。在自然语言处理 (NLP) 中,预训练的语言模型朝着这个目标取得了重大进展,因为它们可以在给定自然语言描述的情况下执行任务,但这需要一些提示词工程(few-shot 示例)来进行协助
  • 通过在表示为指令的任务集合上微调语言模型,已经取得了进一步的进展,这使得模型能够更好地响应指令,并减少对 few-shot 示例的需求

本文方案

  • 本文提出了几种优化指令微调的方式
    • 研究了缩放对指令微调的影响
      • 与微调指令的任务数量有关,任务数量越多效果越好
      • 与模型的大小有关,模型越大效果越好
    • 研究了指令微调对推理任务的影响
      • 微调指令中增加思维链(CoT)数据能提升效果

在这里插入图片描述

  • 本文贡献
    • 使用 540B 参数模型训练 Flan-PaLM,将微调任务的数量增加到 1.8K,包括 CoT 数据。Flan-PaLM 优于 PaLM,在几个基准测试中实现了最优效果。比如 MMLU 实现了 75.2 的精度
    • 与 PaLM 相比,Flan-PaLM 也提高了多语言能力,例如 one-shot TyDiQA 的绝对精度提升为 14.9%,代表性不足语言的算术推理的绝对提升为 8.1%
    • 在人工评估员评估中,Flan-PaLM 在一组具有挑战性的开放式生成问题上大大优于 PaLM,这表明可用性有所提高
    • 指令微调 Flan-T5 模型(80M 到 11B)。这些 checkpoints 具有很强的 zeroshot、few-shot 和 CoT 能力,优于之前的 T5 模型。

在这里插入图片描述

Methods

Flan Finetuning

  • 将指令微调称为 Flan(Finetuning language models),加上 Flan 的模型指代微调后的模型,比如 Flan-PaLM。指令微调的流程可适配以下多种模型结构
    在这里插入图片描述

微调数据

  • 多个任务混合,如下图所示,包含 Muffin, T0-SF, NIV2, CoT 四个混合数据源,一共 1836 个微调任务,数据集就包含了 473 个
    在这里插入图片描述
  • 上图推理部分包含了 CoT 数据,用它来探索对 CoT 注释进行微调是否可以提高 unseen 场景下的推理任务的性能
    • 从先前的工作中创建了一个包含九个数据集的新混合,人类评分者手动为训练语料库编写 CoT 注释,九个数据集主要包含算术推理、multi-hop 推理、自然语言推理任务,每个任务手动编写十个指令模板
  • 模板设置
    • 对于 Muffin、T0-SF 和 NIV2,我们为每个任务使用指示性模板,由各个数据源的创建者给出
    • 对于 CoT,手动为九个数据集中的每个数据集编写了大约十个指令模板,包含/不包含 CoT 数据基于带/不带 few-shot 的样例数据如下
      在这里插入图片描述

finetuning 流程

  • T5、PaLM、U-PaLM 的不同尺寸模型都进行训练,训练流程一致,除了少量超参数:学习率、batch size、dropout 和训练 step 数目
    • 使用 Adafactor 优化器,恒定学习率
    • 使用 packing 将多个训练示例组合成一个序列,使用序列结束标记将输入与目标分开
    • masking 操作:用于防止 token 在 packing 的示例边界关注其他 token
    • 对于每个模型,对所有后续评估评估都仅使用某个固定 checkpoint;最佳 checkpoint 是基于评测任务的定期评估(每个 2k 到 10k 步,具体取决于模型大小),并且在给定模型的所有消融实验中都使用相同的 checkpoint 步骤数
    • 微调的计算资源消耗与预训练相比很小,例如只使用 0.2% 的预训练计算来指导微调 Flan-PaLM 540B(大约 512 v4 TPU 芯片 37 小时)

模型和任务规模的缩放效应

  • 以下图片的纵坐标是在多个评测集上的结果平均后的结果,随着模型规模提升精度提升,另外随着微调任务提升精度也提升
    在这里插入图片描述
    在这里插入图片描述
  • 从以上实验可以提取出的一些经验
    • 增加模型规模稳定涨点,不管是微调前还是微调后的
    • 指令微调对于大模型和小模型的提升幅度基本差不多。如果指令数据的任务足够多,看起来是小模型的绝对提升幅度大于大模型。但是这样评估也不一定科学,比如 8B 模型的绝对增益大于 540B 模型(8B 为 15.5%,5.4B 为 9.4%),但 540B 模型的错误率的相对减少更大(18.4% 540 B vs 16.6% 8B)
    • 增加任务种类涨点,282 个任务后的涨点幅度变小,可能有两种解释
      • 282 个任务之后的任务不是特别多样化,没有提供具有新知识的模型
      • 多任务指令微调的大部分收益来自让模型更好表达预训练过程中模型已经知道的知识,超过 282 个任务后作用就不大了。作者认为这个解释是有道理的,因为预训练数据由 780B 个 token 组成,而指令微调仅使用 1.4B 个 token(预训练标记的 0.2%)

CoT 的影响

  • CoT 的影响分为两方面

    • CoT 训练数据:从上节表格中,可以看出 CoT 的数据增加有明显涨点
    • CoT prompt:对于大尺度模型(540B)在推理性任务(比如 BBH)上有涨点,知识性任务(MMLU)上不论大小模型都掉点
  • CoT 如何结合 self-consistency 对于大模型可以显著涨点;指令微调后的模型 (Flan-PaLM)相比于预训练模型(PaLM)稳定涨点
    在这里插入图片描述

  • 同时使用 CoT 和 non-CoT 数据的精度最高;可以看出如果没有 CoT 数据引入,微调是掉点的(对于 CoT 评测任务),但是增加 CoT 数据后微调能涨点。这说明为了保持推理能力,对某些 CoT 示例进行微调至关重要
    在这里插入图片描述

  • 训练任务中有 CoT 的数据可以解锁 zero-shot 推理能力:对于预训练模型,使用 CoT prompt 无法涨点,但是对于微调后的模型,使用 CoT 能涨点。CoT 的方式为使用经典的 “let’s think step-by-step”
    在这里插入图片描述
    一些使用 CoT 的样例对比如下

在这里插入图片描述

Experiments

  • 基于 Flanv2 数据集训练的模型都能稳定涨点
    在这里插入图片描述

  • 基于人工评测模型的开放域问答能力,微调后的模型效果更佳
    在这里插入图片描述

Thoughts

  • 本文一些重要结论汇总
    • 指令微调对于大模型和小模型的提升幅度基本差不多。如果指令数据的任务足够多,小模型的绝对提升幅度大于大模型
    • 增加模型规模稳定涨点
    • 增加任务种类涨点,但增加任务种类在 282 个任务后的涨点幅度变小
    • 微调的计算资源消耗与预训练相比很小,例如只使用 0.2% 的预训练计算来指导微调 Flan-PaLM 540B(大约 512 v4 TPU 芯片 37 小时)
    • 指令微调后的模型 (Flan-PaLM)相比于预训练模型(PaLM)稳定涨点
    • 同时使用 CoT 和 non-CoT 数据的精度最高
    • 训练任务中有 CoT 的数据可以解锁 zero-shot 推理能力
  • CoT + self-consistency 对于大模型(540B)刷榜很有效
  • 文章实验充分且解释详尽,不愧是 yaofu 说要全文背诵的文章

相关文章:

Scaling Instruction-Finetuned Language Models

Paper name Scaling Instruction-Finetuned Language Models Paper Reading Note Paper URL: https://arxiv.org/pdf/2210.11416.pdf TL;DR 2022 年谷歌出的文章,对指令微调的影响因素进行分析,提出了一些提升指令微调效果的方案。与该文章一起出品…...

rust 闭包函数

函数有自己的类型,可以像使用基础类型一样使用函数,包括将函数保存在变量中、保存在 vec 中、声明在结构体成员字段中。闭包函数也是函数,也有自己的类型定义。不过,函数实际上是指针类型,在 rust 所有权中属于借用的关…...

MySQL 实现分库和分表的备份 2023.7.29

1、分库备份 [rootlocalhost mysql-backup]# cat db_bak.sh #!/bin/bash k_userroot bak_password123456 bak_path/root/mysql-backup/ bak_cmd"-u$bak_user -p$bak_password" exc_db"Database|information_schema|mysql|performance_schema|sys" dbname…...

20230728----重返学习-跨域-模块化-webpack初步

day-122-one-hundred-and-twenty-two-20230728-跨域-模块化-webpack初步 跨域 跨域 为什么要跨域? 浏览器为了安全,不能让我们的html文件可以随意引用别的服务器中的文件,只允许我们的html或js文件中,请求我们自己服务器。这个…...

[SQL挖掘机] - 多表连接: union all

介绍: sql中的union all是用于合并两个或多个select语句的结果集的操作符。与union不同的是,union all不会自动去除重复的行,它会简单地将多个查询的结果集合并在一起,包括重复的行。 用法: union all的基本语法如下: select_…...

TypeError: run() got an unexpected keyword argument ‘hide_label‘ yolov5最新版本报错

报错展示 解决方法 把detect.py中的如上部分的 --hide-label改为 --hide-labels,成功解决....

什么是Java中的集成测试?

Java中的集成测试(Integration Test)是一种测试方法,用于测试多个模块或组件之间的交互和集成。在Java中,集成测试通常使用单元测试框架(如JUnit)编写和运行。 对于初学者来说,集成测试可能有些…...

打卡力扣题目二

#左耳听风 ARST 打卡活动重启# 目录 一、问题 二、 解题方法一 三、enumerate函数介绍 关于 ARTS 的释义 —— 每周完成一个 ARTS: ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一个技术技巧 …...

【Qt】QML-02:QQuickView用法

1、先看demo QtCreator自动生成的工程是使用QQmlApplicationEngine来加载qml文件&#xff0c;下面的demo将使用QQuickView来加载qml文件 #include <QGuiApplication> #include <QtQuick/QQuickView>int main(int argc, char *argv[]) {QGuiApplication app(argc,…...

【IDEA】idea不自动生成target

文章目录 1. 不生成target2. 仅部分文件不生成target2.1. 一般原因就是资源没有设置2.2. 配置编译src/main/java文件夹下的资源文件2.3. 清理缓存&#xff08;王炸&#xff09; 3. 参考资料 本文描述idea不生成target的几种情况以及处理方法 1. 不生成target 像下图这样根本就…...

从官网认识 JDK,JRE,JVM 三者的关系

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ JVM 是一些大厂面试必问点&#xff0c;要想解决 OOM、性能调优方面的问题&#xff0c;掌握 JVM 知识必不可少&#xff0c;从今天开始&#xff0c;将为大家介绍 JVM 的常用知…...

python 将pdf文件转图片

有小伙伴问了怎么将 pdf文件转图片的问题&#xff0c;我百度了一波儿&#xff0c;搞了以下python代码给他封装成exe工具了。 中途打包踩了个坑&#xff0c;python进程池的问题&#xff0c;本地运行没啥问题&#xff0c;打包好的exe文件双击就会使电脑内存爆破卡死&#xff0c;…...

js原型以及原型链

目录 原型隐式原型显式原型constructornew操作符 重写原型对象原型链继承原型链继承借用构造函数继承组合构造继承 原型继承寄生继承组合寄生继承 原型继承关系 原型 在JavaScript中&#xff0c;每个对象都有一个内置属性[[prototype]]&#xff0c;这个属性指向一个另一个对象…...

Java面向对象编程实战详解(图书管理系统示例)

文章目录 面向编程概念图书管理系统示例需求分析设计阶段编码实现创建目录结构Book类的编码BookList类的编码User类的编码AdminUser类的编码NormalUser类的编码启动类的编写具体的操作实现IOperation接口新增图书的实现借阅图书的实现删除图书的实现显示图书的实现查找图书的实…...

ubuntu设置主机ip

ubuntu 设置ip sudo dhclient -r enp67s0 # 是你的网卡&#xff0c;可以通过ifconfig 查&#xff0c;比如enp0 sudo ifconfig enp67s0 192.168.1.114 netmask 255.255.255.0 Ubuntu显示有线网已连接但无法上网&#xff0c;已经确认网口、交换机&#xff08;路由器&#xff…...

CleanMyMac X4.14.1中文版如何清理 Mac系统?CleanMyMac 真的能断网激活吗?

CleanMyMac X4.14.1中文版如何清理 Mac系统&#xff1f;Mac系统在使用过程中都会产生大量系统垃圾&#xff0c;如不需要的系统语言安装包&#xff0c;视频网站缓存文件&#xff0c;mac软件卸载残留的注册表等。 随着时间推移&#xff0c;mac系统垃圾就会越来越多&#xff0c;电…...

详细介绍 React 中如何使用 redux

在使用之前要先了解它的配套插件&#xff1a; 在React中使用redux&#xff0c;官方要求安装其他插件 Redux Toolkit 和 react-redux Redux Toolkit&#xff1a;它是一个官方推荐的工具集&#xff0c;旨在简化 Redux 的使用和管理。Redux Toolkit 提供了一些提高开发效率的工具…...

VLOOKUP多条件查询

LOOKUP(1,0/((A3:A15A18)*(C3:C15C18)),F3:F15)...

分页插件Mybatis

<plugins><!-- com.github.pagehelper为PageHelper类所在包名 --><plugin interceptor"com.github.pagehelper.PageInterceptor"><!-- 配置方言:告诉分页插件使用底层数据库是什么--><property name"helperDialect" value"…...

AXI协议之AXILite开发设计(四)—Block Design使用

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 2、AXI interconnect互联组件的使用…...

音视频——帧内预测

H264编码(帧内预测) 在帧内预测模式中&#xff0c;预测块P是基于已编码重建块和当前块形成的。对亮度像素而言&#xff0c;P块用于44子块或者1616宏块的相关操作。44亮度子块有9种可选预测模式&#xff0c;独立预测每一个44亮度子块&#xff0c;适用于带有大量细节的图像编码&…...

2.uni-app项目文件

uni-app像是vue与微信小程序的合体&#xff0c;使用 uni-ui项目 模板创建的项目文件如下 目录 1 pages 2 pages.json 3 App.vue 4 index.html 5 static 6 uni_modules 7 manifest.json 8 main.js 9 uni.scss 1 pages 这个是放页面的&#xff0c;默认里面有…...

JavaScript学习 -- 对称加密算法DES

在现代的互联网时代&#xff0c;数据安全性备受关注。为了保护敏感数据的机密性&#xff0c;对称加密算法是一种常用的方法。在JavaScript中&#xff0c;DES&#xff08;Data Encryption Standard&#xff09;是一种常用的对称加密算法。本篇博客将为您展示如何在JavaScript中使…...

【Python数据分析】Python常用内置函数(二)

&#x1f389;欢迎来到Python专栏~Python常用内置函数&#xff08;二&#xff09; ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;Python学习专栏 文章作者技术和水平有限&#xff0c;如果文…...

Api接口出现Required request body is missing的解决方法

目录 1.问题所示2.原理分析3.解决方法1.问题所示 在使用PostMan 测试接口的时候,出现如下问题: {"code": 400,"success": false,"data": {},"msg":...

【Kaggle】Kaggle数据集如何使用命令语句下载?

一、Kaggle数据集如何下载 1.1 问题的起因 最近看到了 Google 组织的 Kaggle 比赛&#xff0c;想自己试一下&#xff0c;但是数据集太大了&#xff0c;将近有370G的数据。直接下载的话&#xff0c;网速太慢&#xff0c;可能要下载3-4天&#xff0c;所以萌生了用命令语句下载的…...

android pdf框架,编译mupdf

因为mupdf编译的体积不小,之前也发过编译的文章,现在更新一下. 建一个mupdf_c目录,名字自己取,在里面git下载mupdf源码,把目录修改为libmupdf mupdf_c目录下建build.gradle文件,内容如下 apply plugin: com.android.library apply plugin: maven-publishgroup com.artifex.…...

线性表详细讲解

2.1 线性表的定义和特点2.2 案例引入2.3 线程表的类型定义2.4 线性表的顺序表示和实现2.4.1 线性表的顺序存储表示2.4.2 线性表的结构类型定义2.4.3 顺序表基本操作的实现2.4.4 顺序表总结 2.5 线性表的链式表示和实现2.5.1 线性表的链式存储表示2.5.2 单链表的实现&#xff08…...

代码随想录算法训练营day45

文章目录 Day45爬楼梯题目思路代码 零钱兑换题目思路代码 完全平方数题目思路代码 Day45 爬楼梯 70. 爬楼梯 - 力扣&#xff08;LeetCode&#xff09; 题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢…...

机器学习深度学习——softmax回归(上)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——线性回归的简洁实现 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所…...

网站开发需求分析报告/沈阳今日新闻头条

Servlet中service()方法 2011-02-22 20:11:20| 分类&#xff1a; java重学笔记 | 标签&#xff1a;servlet service 重写 httpservlet 方法 |举报|字号 订阅 在学习Servlet的过程中&#xff0c;我们大多时候编码都是直接继承HttpServlet这个类&#xff0c;并且重写doG…...

免费的企业建站cms/交换友情链接的渠道有哪些

提起 JavaAgent&#xff0c;很多人都说几句&#xff0c;就像古龙武侠小说里的「孔雀翎」&#xff0c;威力很大&#xff0c;江湖上都是它的传说。但真的见识过的人并没几个。JavaAgent 虽说没这么神秘&#xff0c;但也一直给人曲高和寡的感觉&#xff0c;除了一些中间件产品、大…...

太原网站建设培训学校/线上运营推广

网页设计中计算机图像处理技术的运用(共2642字)网页设计中计算机图像处理技术的运用(共2642字)随着计算机技术的不断发展&#xff0c;社会对网页设计的质量要求越来越高&#xff0c;如何将网页内容所要表达的内容形象的展现在浏览者面前是计算机图像处理技术的重要任务。在网页…...

网站建设 售后服务/如何制作自己的网站教程

求招聘C兼职程序大牛2人&#xff0c;需要在北京&#xff0c;待遇优厚。 急急急急。 联系方式QQ &#xff1a; 401679563...

网站怎么做会员系统/百度账号

不必羡慕安卓党&#xff0c;get这四个iPhone手机拍照技巧&#xff0c;你也能拍出好照片2019-05-23 22:46:002点赞34收藏0评论朋友别再吐槽你的iPhone手机拍不出好照片了&#xff0c;只是因为你没有掌握iPhone手机的拍照技巧而已。噜啦啦啦&#xff0c;噜啦啦&#xff0c;今天小…...

电商网站建设思维导图/河南seo外包

该文章是系列文章 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业 的其中一篇。 Windsor是ABP框架自带的IOC容器。 关于什么是IOC&#xff0c;你可以Bing或者Google一下&#xff0c;英文不错的话推荐看一看 https://www.tutorialsteacher.com/ioc。 更多关于Castle…...