0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于一步步蒸馏(Distilling step-by-step)机制

深度学习自然语言处理 来源:深度学习自然语言处理 2023-05-16 10:24 次阅读

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

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

总结

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

微调(BERT、T5)

蒸馏(Vicuna)

但仍需要大量数据

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

模型更小

数据更少

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

引言

1. LLM的作用

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

e.g.:

Agentlemaniscarryingequipmentforgolf,whatdoeshelikelyhave?

(a)club,(b)assemblyhall,(c)meditationcenter,(d)meeting,(e)church

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

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

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

172b3436-f35c-11ed-90ce-dac502259ad0.png

相关工作

1. 知识蒸馏

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

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

2. 人类推理过程

规范模型行为

作为额外的模型输入

作为高质量标签

缺点:代价高昂

3. 大模型推理过程

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

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

一步步蒸馏

概览图175f4ee2-f35c-11ed-90ce-dac502259ad0.png

分为两步

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

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

基于这样一个特性:LLM产生的推理过程能够用于它自身的预测178cdbdc-f35c-11ed-90ce-dac502259ad0.png

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

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

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

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

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

待降低交叉熵损失:

17b9d15a-f35c-11ed-90ce-dac502259ad0.png

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

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

放到input后面,一同输入到模型,此时的损失计算:
17d1e6b4-f35c-11ed-90ce-dac502259ad0.png

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

(本文)转化为多任务学习问题,训练模型:17e6513a-f35c-11ed-90ce-dac502259ad0.png

同时产生标签、推理过程

采用后者的方式,此时的损失计算为:17f98296-f35c-11ed-90ce-dac502259ad0.png

其中,推理过程生成的损失为:1810f034-f35c-11ed-90ce-dac502259ad0.png

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

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

实验

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

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

模型更小、部署代价更小

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

基准模型

LLM:540B的PaLM

下游模型:T5

T5-Base(220M)

T5-Large(770M)

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

在标签较少时,一步步蒸馏优于标准微调1835a8c0-f35c-11ed-90ce-dac502259ad0.png

对比结果2

在标签较少时,一步步蒸馏优于标准蒸馏18781c0a-f35c-11ed-90ce-dac502259ad0.png

降低模型大小

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

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

对比结果3

在所有考虑的4个数据集上总是可以优于少样本CoT、PINTO调优18c86b9c-f35c-11ed-90ce-dac502259ad0.png

对比结果4

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

增强无标签数据,可进一步改进一步步蒸馏18ed84b8-f35c-11ed-90ce-dac502259ad0.png

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

对比结果5

用更小模型、更少数据,一步步蒸馏优于LLM19249b38-f35c-11ed-90ce-dac502259ad0.png

对比结果6

标准的微调和蒸馏需要更多的数据和更大的模型19487bc0-f35c-11ed-90ce-dac502259ad0.png

总结

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

局限性

用户需要提供带标签数据

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

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6867

    浏览量

    88799
  • 模型
    +关注

    关注

    1

    文章

    3158

    浏览量

    48700

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

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    虚拟现实正一步步向我们走来

    显然,虚拟现实大发展的春天正在到来,虚拟现实正一步步走向消费者。那么,虚拟现实究竟涉及哪些重点技术领域?又将对整个产业带来怎样的影响?未来的“抓手”又有哪些?
    发表于 10-26 16:38 876次阅读

    外国牛人教你一步步快速打造首台机器人(超详细)

    外国牛人教你一步步快速打造首台机器人(超详细)
    发表于 08-15 19:30

    一步步写嵌入式操作系统—ARM编程的方法与实践ch02

    一步步写嵌入式操作系统—ARM编程的方法与实践ch02
    发表于 08-20 20:54

    C语言step-by-step

    C语言step-by-step
    发表于 12-27 09:59

    CC2530一步步演示程序烧写

    CC2530一步步演示程序烧写第一步——先安装IAR开发环境第二歩——安装CC2530烧写工具第三歩——CC2530串口配置软件使用具体完整步骤看下面文档
    发表于 03-03 14:33

    一步步建立_STM32_UCOS_模板

    一步步建立_STM32_UCOS_模板
    发表于 09-29 11:46

    菜鸟一步步入门SAM4S-XPLAINED--IAR开发环境

    菜鸟一步步入门SAM4S-XPLAINED--IAR开发环境
    发表于 01-25 10:55

    一步步进行调试GPRS模块

    背景:在不知道硬件是否正确情况下,一步步进行调试,最终完成调试。以下是自己调试步骤。1、从gprs模块TX ,RX 单独焊接两个线出来,通过上位机发送AT指令,是否能正常工作。
    发表于 01-25 07:33

    ARM嵌入式系统如何入门?怎样一步步的去学习

    ARM嵌入式系统的学习步骤对于很多新手来说,不知道ARM嵌入式系统如何入门?怎样一步步的去学习?接下来信盈达教育嵌入式培训网就详解的为大家介绍:关于ARM嵌入式系统学习步骤:1.做个最小系统板:如果
    发表于 02-16 06:33

    stm32是如何一步步实现设置地址匹配接收唤醒中断功能的

    为什么要设置地址匹配接收唤醒中断呢?stm32是如何一步步实现设置地址匹配接收唤醒中断功能的?
    发表于 02-28 08:07

    一步步写嵌入式操作系统

    一步步写嵌入式操作系统_ARM编程的方法与实践
    发表于 07-14 11:32 0次下载

    看电工技术是如何一步步沦为勤杂工的

    相信很多的电工老师傅也都听说过这种话,那电工究竟是不是勤杂工?电工技术工种是如何一步步的沦为勤杂工的,我们今天就重点来看看。
    的头像 发表于 02-18 15:47 4110次阅读

    看电路是怎么把电压一步步顶上去的?资料下载

    电子发烧友网为你提供看电路是怎么把电压一步步顶上去的?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-16 08:47 13次下载
    看电路是怎么把电压<b class='flag-5'>一步步</b>顶上去的?资料下载

    ROM与RAM 单片机上电后如何一步步执行?资料下载

    电子发烧友网为你提供ROM与RAM 单片机上电后如何一步步执行?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-21 08:53 12次下载
    ROM与RAM 单片机上电后如何<b class='flag-5'>一步步</b>执行?资料下载

    一步步重新演绎汽车驾驶体验

    一步步重新演绎汽车驾驶体验
    发表于 11-04 09:52 0次下载
    <b class='flag-5'>一步步</b>重新演绎汽车驾驶体验