小模型媲美2000倍体量大模型,谷歌提出新思路:蒸馏也能Step-by-Step

news2024/11/22 5:44:30

62aead7128647ae7de7a4d9df94dfa6d.png

深度学习自然语言处理 原创
作者:林哲乐

论文:Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes
地址:https://arxiv.org/pdf/2305.02301.pdf
录取:ACL2023

进NLP群—>加入NLP交流群

个人解读

  • 为优化LLM为“小模型/少数据/好效果”,提供了一种新思路:”一步步蒸馏”(Distilling step-by-step

  • 具体做法:训练出一个更小的模型,同时输出推理过程标签

总结

大模型部署耗费内存/算力,训练特定任务的小模型采用:

  1. 微调(BERT、T5)

  2. 蒸馏(Vicuna)

但仍需要大量数据

本文提出”一步步蒸馏”(Distilling step-by-step)机制:

  1. 模型更小

  2. 数据更少

实验证明效果更佳(770M的T5,效果优于540B的PaLM)

引言

1.  LLM的作用

以LLM作为粗标注,同时标注时会给出推理过程,如“思维链”CoT

e.g.:

A gentleman is carrying equipment for golf, what does he likely have?

(a)club, (b) assembly hall, (c) meditation center, (d)meeting, (e) church

答案是(a),在上述选择中,只有球杆用于高尔夫球。

上述逻辑会用于多任务训练的额外数据

2. 任务准确性&所需训练数据

9cb409907c9a4b8d311a1d277f253244.png

相关工作

1.  知识蒸馏

从大的“老师模型”蒸馏出“学生模型”,缺点是“老师模型”产生的数据有噪声

本文做法:蒸馏标签、老师模型的推理过程,以降低对无标签数据的需求量

2.  人类推理过程

  1. 规范模型行为

  2. 作为额外的模型输入

  3. 作为高质量标签

  4. 缺点:代价高昂

3. 大模型推理过程

  1. 可用于产生高质量的推理步骤,作为提示输入到大模型

  2. 作为微调数据,进行“self-improve”大模型

一步步蒸馏

概览图2165d98c36a53a8cc884a61e46b0c112.png

分为两步

  1. 已有LLM和无标签数据,利用推理过程,输出标签

  2. 以推理过程作为额外数据(细节信息较多),训练更小的模型

基于这样一个特性:LLM产生的推理过程能够用于它自身的预测2942e85e5c5e95c75e6750f2c1c88656.png

假设prompt是个三元组,其中是输入,是标签,是推理过程

数据集记作,x是输入,y是标签,且二者都是自然语言

这个文本到文本的框架包括的自然语言处理任务有:分类、自然语言推理、问答等等

常见的做法:用监督数据微调预训练模型。

缺少人工标签,特定任务的蒸馏是用LLM教师模型生成伪噪声训练标签,代替

待降低交叉熵损失:

0953a9e096503c661ee7388e7d76a62a.png

其中\hat{y_i}$是模型蒸馏得到的标签

将推理过程\hat{r_i}$融入训练过程的方式:

  1. 放到input后面,一同输入到模型,此时的损失计算:
    c09985f14f58d4c08c37a37a8252efca.png

需要先用LLM产生推理过程,此时LLM是必要条件

  1. (本文)转化为多任务学习问题,训练模型:f2e06997e8af4c7fb3cb9a7d53063475.png

同时产生标签、推理过程

采用后者的方式,此时的损失计算为:9fc05c296ed9f327bc9f5ecfb80c09bf.png

其中,推理过程生成的损失为:b4925f0c9c14291c2ba68a54ebf09095.png

推理过程生成是预测之前的中间一步,而不是测试过程中产生的(如同公式2),所以测试时不再需要LLM,这就是所谓的"一步步蒸馏"。

另外,预先定义任务前缀,如[label]是标签,[rationale]是推理过程

实验

从两方面证明“一步步蒸馏”的有效性

  1. 与传统的微调和蒸馏对比,效果有所提升

  2. 模型更小、部署代价更小

  3. 最小的模型规模、数据量作为标准,“一步步蒸馏”的模型优于LLM

基准模型

  1. LLM:540B的PaLM

  2. 下游模型:T5

    1. T5-Base (220M)

    2. T5-Large (770M)

    3. T5-XXL (11B)

数据集

  • e-SNLI (自然语言推理):https://github.com/OanaMariaCamburu/e-SNLI

  • ANLI(自然语言推理):https://huggingface.co/datasets/anli

  • CQA(问答):https://www.tau-nlp.sites.tau.ac.il/commonsenseqa

  • SVAMP(算术数学词问题):https://github.com/arkilpatel/SVAMP

与一步步蒸馏对比的其他方法

  • 标准的微调(有标签)

  • 标准的任务蒸馏(无标签)

减少训练数据

对比结果1

在标签较少时,一步步蒸馏优于标准微调8b265bdba0a0706008f8b95e045c9d80.png

对比结果2

在标签较少时,一步步蒸馏优于标准蒸馏ffc4201ae19a7283642209e5b7df8477.png

  • 降低模型大小

各种baseline模型大小不一时,一步步蒸馏都更优

通过使用更小的特定任务模型一步步蒸馏逐步优于LLM

对比结果3

在所有考虑的4个数据集上总是可以优于少样本CoT、PINTO调优59bbb98e4bee33a3bcd851ac1633fcb9.png

对比结果4

在4个数据集中的3个上也优于教师模型LLM

增强无标签数据,可进一步改进一步步蒸馏ef9a7580a9e51a6d259c7d4087fae087.png

  • 使用最小模型大小和最小训练数据

对比结果5

用更小模型、更少数据,一步步蒸馏优于LLM5d8dcc35f63971fcdcaebcdc29bf0bd3.png

对比结果6

标准的微调和蒸馏需要更多的数据和更大的模型5687ca4492d5beaf2bb91b50b8d36b69.png

总结

实验证明,一步步蒸馏降低了训练数据量、特定任务的模型大小、优于初始LLM的性能

局限性

  1. 用户需要提供带标签数据

  2. LLM推理能力有限,尤其面对复杂推理和规划问题


进NLP群—>加入NLP交流群

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

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

相关文章

在JavaScript中4种创建枚举方式

本文译者为 360 奇舞团前端开发工程师 原文标题:4 Ways to Create an Enum in JavaScript原文作者:Dmitri Pavlutin原文地址:https://dmitripavlutin.com/javascript-enum/ 使用枚举(enum)可以方便地表示一个变量&…

一个通用的多相机视觉SLAM框架的设计和评估

文章:Design and Evaluation of a Generic Visual SLAM Framework for Multi-Camera Systems 作者:Pushyami Kaveti, Arvind Thamil Chelvan Hanumant Singh 编辑:点云PCL 来源:https://arxiv.org/pdf/2210.07315.pdf 代码&#x…

针对基于智能卡进行认证的活动目录的攻击

最近,我参与了一项攻击基于智能卡的活动目录的工作。实际上,你根本不需要使用物理智能卡来验证登录这个活动目录。证书的属性决定了它是否可以用于基于智能卡进行登录。因此,如果你能获得相应的私钥,那么就可以绕过智能卡的验证实…

借助ChatGPT自动生成PPT

借助ChatGPT自动生成PPT 首先让GPT生成一段markdown格式的PPT内容,尽量描述全面,以什么语言,什么格式,排版等等。 打开mindshow网址,点击import and create,选择以markdown方式创建,再次点击弹…

LayerNorm 在 Transformers 中对注意力的作用研究

LayerNorm 一直是 Transformer 架构的重要组成部分。如果问大多人为什么要 LayerNorm,一般的回答是:使用 LayerNorm 来归一化前向传播的激活和反向传播的梯度。 其实这只是部分正确:Brody、Alon 和 Yahav 的一篇题为“On the Expressivity Ro…

LabVIEWCompactRIO 开发指南20 应用程序接口

应用程序接口 STMAPI如图4.24所示。对于基本操作,它由一个读VI和一个写VI组成。它还具有两个补充VI,以帮助传输元数据,但它们的使用不是强制性的。每个主要的VI都是多态,这意味着可以将它们与不同的传输层一起使用。本文档讨论基…

WMS 窗口添加流程

WMS 系统窗口添加流程 文章目录 WMS 系统窗口添加流程一. addView二. addView代码分析2.1 应用端调用WindowManager的addView2.2 WindowManager的实现类是WindowManagerImpl2.3 WindowManagerGlobal2.4 setView2.4 addToDisplayAsUser(Session.java)2.5 …

韦东山Linux驱动入门实验班(2)hello驱动---驱动层与应用层通讯,以及自动产生设备节点

前言 (1)学习韦东山老师的Linux,因为他讲的很精简,以至于很多人听不懂。接下来我讲介绍韦东山老师的驱动实验班的第二个Hello程序。 (2)注意,请先学习完视频再来看这个教程!本文仅供…

Oracle数据库实现limit功能

Oracle数据库不支持mysql中limit功能&#xff0c;但可以通过rownum来限制返回的结果集的行数&#xff0c;rownum并不是用户添加的字段&#xff0c;而是oracle系统自动添加的。 #1、使查询结果最多返回前100行&#xff1a; SELECT * FROM TESTSDK WHERE rownum<10; #2、查询结…

跟庄买股票得新技巧(2023.05.16)(绝密资料,只发一次)

昨天学了一个跟庄买卖股票的得新技能 统计昨天庄家异动的情况&#xff0c;按照行业分类&#xff08;板块&#xff09;板块对涨幅进行排序&#xff0c;涨幅排名分前三的是&#xff0c;龙头一&#xff0c;龙头二&#xff0c;龙头三买卖规则&#xff1a;看龙一&#xff0c;玩龙二…

如何使用Sentinel做流量控制?此文将附代码详细介绍Sentinel几种限流模式

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇文章将详细介绍Sentinel的两种限流模式&#xff0c;由于篇幅原因&#xff0c;后续文章将详细介绍Sentinel的其他三种。 如果文章有什么需要改进的地方还请大佬不吝赐教…

SCS【25】单细胞细胞间通信第一部分细胞通讯可视化(CellChat)

桓峰基因公众号推出单细胞生信分析教程并配有视频在线教程&#xff0c;目前整理出来的相关教程目录如下&#xff1a; Topic 6. 克隆进化之 Canopy Topic 7. 克隆进化之 Cardelino Topic 8. 克隆进化之 RobustClone SCS【1】今天开启单细胞之旅&#xff0c;述说单细胞测序的前世…

Servlet进阶API、监听器与过滤器

过滤器和监听器是Servlet规范里的两个高级特性&#xff0c; 过滤器的作用是通过对request、response 的修改实现特定的功能&#xff0c;例如请求数据字符编码、IP地址过滤、异常过滤、用户身份认证等。监听器的作用是用于监听Web程序中正在执行的程序&#xff0c; 根据发生的事…

罗德与施瓦茨Rohde Schwarz FSW8 2HZ-8GHZ信号分析仪FSW13收购

罗德与施瓦茨Rohde & Schwarz FSW8 2HZ-8GHZ信号分析仪 附加功能&#xff1a; 10 kHz 偏移&#xff08;1 GHz 载波&#xff09;时的低相位噪声为 –137 dBc (1 Hz) 用于 WCDMA ACLR 测量的 –88 dBc 动态范围&#xff08;带噪声消除&#xff09; 高达 2 GHz 的分析带宽 &…

Camtasia2023.0.1CS电脑录制屏幕动作工具新功能介绍

Camtasia Studio是一款专门录制屏幕动作的工具&#xff0c;它能在任何颜色模式下轻松地记录 屏幕动作&#xff0c;包括影像、音效、鼠标移动轨迹、解说声音等等&#xff0c;另外&#xff0c;它还具有即时播放和编 辑压缩的功能&#xff0c;可对视频片段进行剪接、添加转场效果。…

云原生背景下如何配置 JVM 内存

image.png 背景 前段时间业务研发反馈说是他的应用内存使用率很高&#xff0c;导致频繁的重启&#xff0c;让我排查下是怎么回事&#xff1b; 在这之前我也没怎么在意过这个问题&#xff0c;正好这次排查分析的过程做一个记录。 首先我查看了监控面板里的 Pod 监控&#xff1a;…

指令的运行原理及Linux权限解读

目录 一. 指令的运行原理 二. Linux下的用户 2.1 Linux的用户分类 2.2 用户之间的切换 三. 文件权限的概念 3.1 文件类型 3.2 文件的权限 3.3 ls -l 打印文件全部信息的解读 四. 权限的修改 五. 拥有者和所属组的修改 六. 起始权限问题和权限掩码umask 七. 目录文件…

ArcGIS之克里金插值教学

本文来自&#xff1a;GIS科研实验室 基本概念 1.什么是克里金插值&#xff1f; 克里金插值又称空间局部插值法&#xff0c;是以半变异函数理论和结构分析为基础&#xff0c;在有限区域内对区域化变量进行无偏最优估计的一种方法&#xff0c;是地统计学的主要内容之一。南非矿产…

【消息中间件】RocketMQ消息重复消费场景及解决办法

文章目录 前言那么在什么情况下会发生RocketMQ的消息重复消费呢&#xff1f;消息重复消费的场景大概可以分为生产者端重复消费和消费者端重复消费&#xff0c;那么如何来解决消息的重复消费呢&#xff1f;既然在生产者做幂等性的方案都不是特别靠谱&#xff0c;那就再在消费者端…

信创办公–基于WPS的EXCEL最佳实践系列 (宏的录制)

信创办公–基于WPS的EXCEL最佳实践系列 &#xff08;宏的录制&#xff09; 目录 应用背景操作步骤1、宏的录制启用2、宏的使用3、宏的保存4、宏的禁用 应用背景 宏是一个自动化完成重复性工作的工具&#xff0c;使用宏可以提高我们的工作效率&#xff0c;那应该怎样使用宏这一…