【LLM系列之FLAN-T5/PaLM】Scaling Instruction-Finetuned Language Models

news2024/12/22 20:35:12

论文题目:《Scaling Instruction-Finetuned Language Models》
论文链接:https://arxiv.org/pdf/2210.11416.pdf
github链接:https://github.com/google-research/text-to-text-transfer-transformer#released-model-checkpoints
huggingface链接:https://huggingface.co/docs/transformers/model_doc/flan-t5

本文分析了使用“指令数据”对语言模型进行微调所带来的改进,涉及缩放 :1)增加微调任务,2) 增大模型大小,以及 (3) 添加思维链数据。Google 研究人员2022年10月发布了这篇论文,我们今天将对这篇文章重新阅读,本篇论文分析了如何指令微调大型语言模型以及带来的性能提升。

摘要

研究已经证明,在一组表述为指令的数据集上微调语言模型可以提高模型性能和对未知任务的泛化能力。在本文中,作者探索了指令微调,特别关注:

  • (1)缩放任务数量;
  • (2)缩放模型大小;
  • (3)链式思维数据微调;

论文发现,在上述方面进行指令微调可以显着提高各种模型(PaLM、T5、U-PaLM)、提示设置(零样本、少样本、CoT)和评估基准(MMLU、BBH、 TyDiQA、MGSM、开放式生成、RealToxicityPrompts)。例如,在 1800多种 任务上微调的 Flan-PaLM 540B 指令大大优于 PaLM 540B(平均提升 +9.4%)。Flan-PaLM 540B 在多个基准测试中实现了最优的性能,例如在五次 MMLU 上达到 75.2%。论文还公开发布了 Flan-T5权重,即使与参数量更大的模型(例如 PaLM 62B)相比,它也能实现强大的零样本性能。总的来说,指令微调是提高预训练语言模型性能和可用性的通用方法。

简介

指令是一组数据集,一组用指令表达的任务。使用指令数据进行微调使模型能够更好地响应指令,并减少对样本的需求。一般的发现是,微调的好处与任务的数量和模型的大小成比例。两种关系都是正相关的(模型越大,训练任务越多,即指令在少样本和零样本示例中性能提升更多),这项研究还使用思维链 (CoT) 数据对模型进行微调。

微调数据

该数据包括总共 1836 种指令任务,包括 473个 数据集,146 个任务类别,涉及FLAN、T0、Natural Instructions,以及一些对话、程序合成和链式思维推理任务。所有数据源都是公开的。保留了 57 个 MMLU 任务以供评估。

位于本文中心的最大模型是 PaLM 模型。 该模型的微调版本是 F(ine-tuneed)-lan(gauge)-PaLM 即FlanPaLM,该论文还对从 80M 参数到 11B 参数版本的 T5 模型进行了微调。

Flan Finetuning

任务混合物。 先前的文献表明,增加指令微调中的任务数量可以提高对未见任务的泛化能力。 在本文中,我们通过组合先前工作中的四种混合来扩展到 1,836 个微调任务:

  • Muffin3(80 个任务)包含来自 Wei 等人的 62 个任务。 (2021) 以及本文添加到这项工作中的 26 个新任务,包括对话数据)和程序综合数据(。
  • T0-SF(193 个任务)包括来自 T0的任务,这些任务与 Muffin 中使用的数据不重叠(SF 代表“sans Flan”)。
  • NIV2(1554 个任务)
  • 思想链微调混合。 第四种微调数据混合(推理)涉及 CoT 注释。 它混合了来自先前工作的九个数据集,人类评分者为训练语料库手动编写了 CoT 注释。 这九个数据集包括算术推理 (Cobbe et al., 2021)、多跳推理 (Geva et al., 2021) 和自然语言推理 (Camburu et al., 2020) 等任务。 我们为每个任务手动编写十个指令模板。

微调的计算能力范围为训练基本模型所需的总计算能力的 0.2% 到 1.6%。

模型评估

  • MMLU 包括数学、历史、法律和医学等 57 个任务的试题。
  • BBH 包括来自 BIG-Bench的 23 项具有挑战性的任务,PaLM 在这些任务中的表现低于人类评分者的平均水平。
  • TyDiQA是一个跨 8 种不同类型语言的问答基准。
  • MGSM是 Cobbe 等人提出的数学单词问题的多语言基准。 手动翻译成 10 种语言。,PaLM 论文中也使用了这些基准。

使用超过六个分数(MMLU-Direct、MMLU-CoT、BBH-Direct、BBH-CoT、TyDiQA-Direct 和 MGSM-CoT)的宏观平均值完成指标的归一化平均值, 评估结果(下表中的归一化平均值显示了所有模型和任务的微调组合)如下:

训练任务的缩放效果

可以看到:

  • 随着模型size的增大,模型效果不断提升;
  • 随着模型使用的finetune数据集的增多,模型效果也是不断提升的。

CoT对模型效果的影响

由于在指令微调混合中包含思想链 (CoT) 数据,导致 Flan-PaLM 的推理能力得到改进,在多个基准测试中超越了先前的模型。 该研究消融了 CoT 微调数据,表明没有 CoT 的指令微调实际上会降低推理能力。 仅包括九个 CoT 数据集可提高所有评估的性能。

Chain of Thought 数据指令微调的另一个重要好处是解锁零样本推理。 这测试了模型在没有 CoT 的少量示例的情况下产生自己的推理技能的能力。 本次测试使用了 23 项未知挑战的 BBH 基准测试结果。 关键的激活短语是“让我们一步一步地思考”。 PaLM 本身不生成 CoT 数据(尤其是零样本版本)。 该论文中大多数成功的零样本 CoT 实验实际上利用了 InstructGPT(Ouyang 等人,2022),它是指令微调的(我们假设该指令微调包含一些类似 CoT 的数据)。

可以看到:

  • 对于不加入Flan训练的Palm模型,CoT文本的加入并不能够带来效果的提升;
  • 对于Flan之后的Palm模型,CoT能够明显的提升模型的效果;
  • Flan本身也能够给模型带来足够的效果提升。
    最后,文中还给了几个具体的case如下:

FLAN对T5 和 PaLM 的结果

除了在自回归语言模型的情况下,文中还对T5进行了考察,看了一下T5这种完形填空式的预训练方式得到的大模型对于Flan以及CoT数据集的兼容性,得到结果如下:


指令微调 (Flan) 在其他持续预训练方法的基础上提高了性能。 基准组合是 MMLU(57 个任务)、BBH(23 个任务)、TyDiQA(8 种语言)和 MGSM(10 种语言)。 所有四个基准套件的评估指标都是少量提示的准确性(精确匹配),我们对所有任务取一个未加权的平均值。 作为聚合指标,我们报告了 MMLU-direct、MMLU-CoT、BBH-direct、BBH-CoT、TyDiQA 和 MGSM 的归一化平均值。 这些评估基准是保留的(不包括在微调数据中)。

开放接口人工标注指标

标准基准和矩阵不足以真正理解/评价可用性。 因此,研究团队决定进行人工评估,以调查指令微调对模型对具有挑战性的输入做出开放式反应的能力的影响。 使用一组 190 个示例来评估响应。 该评估集包括以零样本方式向模型提出的问题,涉及五个具有挑战性的类别,每个类别有 20 个问题:创造力、上下文推理、复杂推理、计划和解释。 creativity, reasoning over contexts, complex reasoning, planning, 和 explanation.


在 190 个示例中,Flan-PaLM 代在 79% 的情况下是首选。 对于每一个零样本设置,Flan-PaLM 都以很大的优势受到青睐,并且对于使用 CoT 触发短语的输入,评分者对 Flan-PaLM 的偏好比 PaLM 进一步增加了约 10%。 至于few-shot,与PaLM相比没有退步。

结论

  • 指令微调的 Flan-PaLM 模型以计算高效的方式扩展,参数量扩展到 540B 参数语言模型,任务扩展到 1.8K 微调任务,并在微调中包括思想链 (CoT) 数据。
  • Flan-PaLM 在多个基准测试中实现了最先进的性能,例如在五次 MMLU 上达到 75.2%。
  • Flan-PaLM 还改进了可用性。

参考文章

  • 文献阅读:Scaling Instruction-Finetuned Language Models
  • Page by Page Research Review: Scaling Instruction-Finetuned Language Models
  • 谷歌提出Flan预训练方法,一个模型解决可所有NLP任务,并发布Flan-T5模型

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

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

相关文章

量子计算(13)基础知识4:量子测量

量子测量是量子电路中最后一个元素,在电路中我们经常用到。下面,我将描述量子测量的数学依据以及与量子测量相关的科学定理。 目录 一、量子测量 1、理论知识 2、计算基下测量单量子比特 二、两个原理 1、延迟测量原理 2、隐含测量原理 一、量子测…

RDA5850蓝牙多合一芯片之测试与调试

上次说到一款比较经典的蓝牙芯片《一款非常经典的蓝牙多媒体芯片RDA5850》,于是就用那块二手音箱小板来试试能不能调通。首先看芯片手册发现 有HST_TXD和HST_RXD两个引脚。通过以往的经验就可以分析出 这两个就是用来调试烧写的引脚。 再看前篇文章(同下图)的引脚分布,同样…

[论文笔记]SimMIM:a Simple Framework for Masked Image Modeling

文章地址:https://arxiv.org/abs/2111.09886 代码地址:https://github.com/microsoft/SimMIM 文章目录 摘要文章思路创新点文章框架Masking strategyPrediction headPrediction targetEvaluation protocols 性能实验实验设置Mask 策略预测头目标分辨率预…

科大讯飞股价迅飞 大模型逊色

5月8日,科大讯飞的股价开盘后放量涨停,报63.86元。5月6日,这家公司赶在A股周末休市前一天发布了自家的自然语言大模型“讯飞星火认知大模型”(以下简称“星火”)。 自OpenAI发布GPT-4后,国内的百度、华为、…

Linux Crontab 使用详解

什么是 crontab? crontab 是一个定时执行任务的工具,在 Linux 系统中广泛使用。它可以让用户在指定的时间自动执行某个指令或脚本,例如自动备份数据、清除日志、定时运行程序等。 crontab 的工作原理 crontab 依赖于系统 crond 守护进程&a…

视频监控系统选择硬盘,绿盘、蓝盘、紫盘、黑盘、红盘到底选择哪个?

前言 随着科技的不断进步和安全意识的提高,视频监控系统越来越普及,同时对于视频存储设备的要求也越来越高。硬盘作为视频存储设备的核心部件之一,选择一款适合的硬盘是保证视频存储和播放效果的关键。但是,市面上各种类型的硬盘…

C++ 类的继承与派生

目录 1、继承的概念 2、继承(Inherit) 3、继承方式 4、父子同名成员并存 5、虚函数(virtual) 6、纯虚函数 1、继承的概念 以李白为例 类1是类2的基类(父类),类2是类3的基类(父类…

Java实现数组求和

1 问题 在日常生活中,我们有时需要求解一些数据的和,那么我们能否通过java写出一个程序计算出一串数组之和呢? 2 方法 采用while循环的方法,将每位数上每个数字单独提取出来进行相加 public class Sum { public static void ma…

有或没有共享组件团队

在许多组织里,有专门的团队来负责共享组件(平台和中台都属于共享组件)。同时会有多个业务/产品团队,他们都向共享组件团队提要求。下图显示了一种典型的情况。 与共享组件团队关联的最大痛苦是等待,由此导致更长的端到…

基于ChatGPT的视频智能摘要实战

随着在 YouTube 上提交的大量新视频,很容易感到挑战并努力跟上我想看的一切。 我可以与我每天将视频添加到“稍后观看”列表中的经历联系起来,只是为了让列表变得越来越长,实际上并没有稍后再看。 现在,像 ChatGPT 或 LLaMA 这样的…

常见信号质量问题、危害及其解决方法-信号完整性-过冲、噪声、回勾、边沿缓慢

概述 在电路设计中,“信号”始终是工程师无法绕开的一个知识点。不管是在设计之初,还是在测试环节中,信号质量问题都值得关注。在本文中,主要介绍信号相关的四类问题:信号过冲、毛刺(噪声)、回…

springboot第18集:SpringMVC我的春天

mybatis-spring http://mybatis.org/spring/zh/index.html mybatis-ehcache http://mybatis.org/ehcache-cache/ MVC是一种常用的软件设计规范,它将一个应用程序分为三个不同的部分:模型(Model)、视图(View)、控制器(Controller)。这三个部分相互协作&am…

计算机毕业论文内容参考|基于三维建模和卷积神经网络的人脸转正的技术设计

文章目录 导文文章重点摘要前言绪论课题背景国内外现状与趋势课题内容相关技术与方法介绍技术分析技术设计人脸转正方法卷积神经网络的训练和优化数据预处理技术实现总结与展望本文总结导文 基于java开发汽车销售系统资料 文章重点 摘要 在实际应用中,人脸图像往往具有旋转、…

基于线特征的图像配准

一、线特征提取 1.1 模板检测 使用模板在一幅图像上移动,他会对特定方向上的(一个像素宽)线响应强烈。下面是常见检测模板: 1.2 边缘检测 边缘检测的基本思想是使用如下两个准则之一找到图像中快速变换的位置: 1.…

Flutter框架:从入门到实战,构建跨平台移动应用的全流程解析

第一章:Flutter框架介绍 Flutter框架是由Google推出的一款跨平台移动应用开发框架。相比其他跨平台框架,Flutter具有更高的性能和更好的用户体验。本章将介绍Flutter框架的概念、特点以及与其他跨平台框架的比较,以及Flutter开发环境的搭建和…

MathGPT是什么,MathGPT与ChatGPT的区别是什么,MathGPT十大应用场景

MathGPT是一种基于自然语言处理技术的数学语言模型,其目的是通过自动化生成数学公式、证明和解题步骤等来辅助数学学习和研究。 与ChatGPT相比,MathGPT主要关注数学领域而非通用性的自然语言理解,因此其训练语料库和预测任务都与数学有关&…

Ubuntu20.04安装Vtk9.2.6+PCL1.12.1(成功无报错)

成功不报错的原因:VTK和PCL版本需要对应正确.. 错误可参考:Ubuntu20.04 编译 pcl1.8可能出现的问题 安装参考1:ubuntu20.04下安装pcl_ubuntu安装pcl_Yuannau_jk的博客-CSDN博客 安装参考2:Ubuntu20.04 安装pcl详细教程_ubuntu20…

构造函数,析构函数,拷贝构造函数与运算符重载简图总结,赋值运算符重载与前置++后置++的重载参数区分

构造函数简图 析构函数简图 拷贝构造函数简图 运算符重载简图 赋值运算符重载与拷贝构造函数的区别 即为赋值运算符这涉及到两个已经存在的实例化对象之间的复制拷贝。这个与拷贝构造函数是完全不一样的,拷贝构造函数它的本质上就是一个构造函数,主要是用…

C++ 类和对象下

文章目录 重载operator<< 输出自定义类型const对象 无法调用 非const成员函数非const函数的缺陷 初始化列表&#xff1a;对象的成员定义的位置为什么会要用到初始化列表&#xff1f;自定义类型成员如何初始列表初始化灵活的初始化列表声明次序内置类型_size不给缺省值&am…

win10系统电脑硬盘里的文件不显示,到底出了什么问题呢?有什么解决方法呢?

演示机型&#xff1a;技嘉 H310M HD22.0 系统版本&#xff1a;Windows 10 专业版 软件版本&#xff1a;云骑士数据恢复软件3.21.0.92 Win10系统是我们经常使用的操作系统之一&#xff0c;但这也意味着我们可能会遇到一些问题。其中一个比较常见的问题是硬盘中的文件不显示。在这…