Specializing Smaller Language Models towards Multi-Step Reasoning论文精读

0 Abstract

  • 普遍认为,LLM涌现出来的few-shot learning能力是超大参数模型独有的(>100B)【emergent abilities】;
  • 作者认为,小模型(<10B)可以将这些能力从大模型(>100B)蒸馏下来【GPT3.5 -> T5】;
  • 大模型具有强大的建模能力,但是它们需要处理各种各样的任务;小模型虽容量有限,但集中在特定任务上,模型可以达到不错的效果【model specialization】;
  • 文章采用的测试任务是模型的multi-step math reasoning能力,并提供关于【微调数据格式】、【起始模型checkpoint】和【新的模型选择方法】的全面讨论。

1 Introduction

  • 大模型在CoT的加持下,可以很好地解决数学推理等问题,而这种能力只有模型参数到达一定数量时才涌现出来
    在这里插入图片描述

  • 大模型在强大的同时,但哪里获得微调>100B模型的算力?如果小模型也能获得CoT加持是非常理想的,但是有研究指出,在小规模模型上使用CoT甚至会有负面影响

  • 普遍认为让小模型从CoT中获益是非常困难的,但文章假设:将小模型运用于专有任务,也可以达到很好的modeling performance,而非聚焦于模型的通用能力

  • 文章方法:从GPT3.5(175B)上将其CoT reasoning的能力蒸馏到FlanT5(11B)上。(FlanT5是基于T5小模型,经过CoT指令微调得到的,它具有CoT的通用能力,但相较大模型差得多)

  • 文章的发现与贡献:

    • 通过实验证明,当小模型专有化时,也可以得到跟大模型类似的CoT scaling curve;
    • 详细描述了如何将模型的泛化能力转移到专有能力;
    • 现有方法通常在同一数据集的val set选择模型,而本文在多个不同的math reasoning dataset做选择以防止over-fitting,提高模型的OOD能力。

2 Background

  • LLM ability:现有范式是训练base model -> tuning,并且发现了CoT中模型随着scale增大的涌现能力;
  • 专门化模型:对于大模型,不必权衡不同任务的表现。而小模型由于容量有限,需要舍弃通用能力,常见做法是通过特定的data微调,但是这种方法通常没有OOD能力(即出现了over-fitting);
  • 本文关注的重点是【模型专门化过程中的能力权衡,即在目标任务上的泛化能力,确保模型的in-distribution and OOD performance】,而不是蒸馏或者数据增强;
  • 相关工作:FlanT5(小模型CoT通用能力)、Huang et al.(大模型在CoT上的微调)

3 Specializing Multi-Step Reasoning

  • Dataset:在GSM8K数据集上微调,但是在MultiArith, ASDiv, SVAMP上validation,并且在BigBench Hard上测试模型在专有任务的泛化能力;
    [图片]

  • Model:T5和FlanT5作为基础模型,code-davinci-002【OpenAI的一个基础模型,适用于纯代码补全任务,隶属于GPT系列】生成蒸馏/专有数据;
    [图片]

3.1 Distillation from Code-Davinci-002

  • 采用Code-Davinci-002生成训练所需要的微调数据集,主要有以下四种format:
    [图片]

  • 通过这四种数据格式,作者可以探索以下问题:

    • 上下文信息对模型性能的影响是什么?
    • CoT提示是否有助于提高模型性能?
    • 模型是否可以在没有任何提示或上下文的情况下执行任务?
  • 训练时让teacher和student的输出分布用KL散度进行衡量(仅存储分布的top-5节约内存,因为top-5的概率之和已经接近于1)

3.2 Aligning tokenizers by dynamic programming

  • 由于GPT和T5所采用的tokenizer不同,需要解决两者分布的misalignment。
  • 使用动态规划来解决alignment问题【复杂】:
    [图片]

4 Experiments

  • 实验目的:可以提升小模型数学CoT性能的scale curve的程度,以及它的代价是多少?

4.1 Overall Performance Tradeoff

  • 微调:使用GSM8K数据集让code-davinci-002生成40个CoT solutions,选择回答正确的进行微调;
  • 测试:在GSM8K上测试in-distribution能力,在MultiArith, ASDiv, and SVAMP上测试OOD能力,在BigBench Hard上测试模型泛化能力;
  • 结论小结:专有化的FlanT5在四个数据集均有大提升,但是在BBH损失了全部的CoT性能和大部分AO性能【这证明文章的假设:可以损失小模型的泛化能力来提升专有能力的性能,达到比肩大模型的效果】;
    [图片]

4.2 Scaling Behavior of Smaller Models’ CoT Ability

  • 普遍认为,小模型的scale curve是平坦的,如同A图左边的部分;
  • 文章指出,小模型(T5和FlanT5)可以在CoT tuning后呈现log-linear的scale curve,推翻“大模型涌现”这个说法【在tuning之前,小模型只是因为模型能力不足,导致中间步骤推理出错进而导致完全错误的结论,而不是代表小模型完全没有解决问题的能力,只是才scale足够大才涌现】;
  • 经过CoT指令微调的FlanT5在专有化后,性能提升相较于raw T5有更大提升。
    [图片]

4.3 Specialization Process and Generalization Behaviors

  • 蒸馏初期,模型就会失去CoT和大部分AO能力,而后专有能力波动提升;
  • 在专有能力中,in-distribution和OOD能力是波动的,建议根据实际应用选择checkpoint;
    [图片]

[图片]

4.4 Further Design Choices Analysis

  • 蒸馏训练中,使用distribution match策略更优;
    [图片]

  • 训练中,如果使用in-context learning训练,模型在测试时同时具有in-context和zero-shot能力;而如果只使用zero-shot训练,模型将损失几乎所有的in-context能力,这就是为什么文章需要混合不同format的数据。
    [图片]

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记|单样本t检验|P值|两独立样本均数T检验|规范表达|《小白爱上SPSS》课程:SPSS第五讲 | 两独立样本均数T检验,你会了吗?

目录 学习目的软件版本原始文档P值是假设检验的终极者两独立样本均数T检验一、实战案例二、案例解析三、统计策略四、SPSS操作1、正态性检验2、T检验&#xff08;独立样本T检验&#xff09;结果 五、结果解读Tips&#xff1a;补充知识 六、规范报告1、规范表格2、规范文字 注意…

一个非常实用的Python模块-struct模块

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 struct模块提供了用于在字节字符串和Python原生数据类型之间转换函数&#xff0c;比如数字和字符串。 该模块作用是完成Python数值和C语言结构体的Python字符串形…

android中的Package安装、卸载、更新替换流程

android系统在安装&#xff0c;删除&#xff0c;替换&#xff0c;清除数据等与应用相关的动作时&#xff0c;会发出对应的Broadcast&#xff0c;上层的应用通过注册相应的广播事件来做相应的处理。 官方文档中给出了详尽的罗列&#xff1a; ACTION_PACKAGE_ADDED 一个新应用包已…

什么是神经网络,它的原理是啥?(1)

参考&#xff1a;https://www.youtube.com/watch?vmlk0rddP3L4&listPLuhqtP7jdD8CftMk831qdE8BlIteSaNzD 视频1&#xff1a; 简单介绍神经网络的基本概念&#xff0c;以及一个训练好的神经网络是怎么使用的 分类算法中&#xff0c;神经网络在训练过程中会学习输入的 pat…

监控浏览器页面展示性能的工具

B/S架构&#xff0c;用户都是使用浏览器访问后端服务&#xff0c;产品在开发时需要关注用户的体验&#xff0c;不仅包含交互的友好&#xff0c;性能指标也非常重要。对于后端开发常见的性能指标&#xff0c;可能包含&#xff1a;reponse time&#xff0c;吞吐量等。此外&#x…

笔记本电脑的键盘鼠标如何共享控制另外一台电脑

环境&#xff1a; 联想E14 x2 Win10 across 2.0 问题描述&#xff1a; 笔记本电脑的键盘鼠标如何共享控制另外一台电脑 解决方案&#xff1a; 1.下载across软件&#xff0c;2台电脑都按装&#xff0c;一台设为服务端&#xff0c;一台客户端 2.把配对好设备拖到右边左侧…

PyTorch中grid_sample的使用方法

官方文档首先Pytorch中grid_sample函数的接口声明如下&#xff1a; torch.nn.functional.grid_sample(input, grid, modebilinear, padding_modezeros, align_cornersNone)input : 输入tensor&#xff0c; shape为 [N, C, H_in, W_in]grid: 一个field flow&#xff0c; shape为…

【JVM】垃圾回收机制

【JVM】垃圾回收机制 文章目录 【JVM】垃圾回收机制1. 方法区的回收2. 堆的回收2.1 引用计数法2.2 可达性分析算法 3. 对象引用3.1 强引用3.2 软引用3.3 弱引用3.4 虚引用和终结器引用 4. 垃圾回收算法4.1 标记清除算法4.2 复制算法4.3 标记整理算法4.4 分代垃圾回收算法 5. 垃…

BI零售数据分析,告别拖延症,及时掌握一线信息

在日常的零售数据分析中&#xff0c;经常会因为数据量太大&#xff0c;分析指标太多且计算组合多变而导致数据分析报表难产&#xff0c;零售运营决策被迫拖延症。随着BI数据可视化分析技术的发展&#xff0c;智能化、可视化、自助分析的BI数据分析逐渐成熟&#xff0c;形成一套…

QT通过url下载http地址下的文件(文件夹)

前言 之前只写过通过http协议通信&#xff0c;没有写过下载http地址中的文件或者文件夹&#xff0c;了解一下在QT下如何下载。 其实很简单&#xff0c;同使用协议通信相同的是&#xff0c;创建QNetworkAccessManager和QNetworkRequest&#xff0c;设置QNetworkRequest的url&a…

NET-MongoDB的安装使用

一&#xff0e;下载 MongoDB 点击 Select package 选择自己所需版本后点击下载&#xff0c;本文选用Windows 6.0版本以上 二、配置MongoDB 在 Windows 上&#xff0c;MongoDB 将默认安装在 C:\Program Files\MongoDB 中。 将 C:\Program Files\MongoDB\Server\version_numbe…

10月31日星期二今日早报简报微语报早读

10月31日星期二&#xff0c;农历九月十七&#xff0c;早报微语早读分享。 1、广西官宣&#xff1a;做试管婴儿费用可报销&#xff1b; 2、港媒&#xff1a;4名港大学生承认“煽惑他人蓄意伤人罪”&#xff0c;被判监禁2年&#xff1b; 3、331名中国维和官兵全部获联合国勋章…