distill_bert和tiny_bert
distill_bert:哈工大出品,按照传统的知识蒸馏方式产出。
1,bert_base是12层,distill_bert6层,每两层丢弃一层,以对应transformer层的参数初始化
2,total_loss = soft_loss + hard_loss
soft_loss为 bert_base的logits/T(1<T<20)之后softmax的概率值 和 distill_bert的logits/T之后softmax的概率值
hard_loss为 正确标签的one-hot 和 distill_bert的logits之后softmax的one-hot
DitilBert中Student模型的整体结构和Bert相同,不过Student模型移除了token-type embedding和pooler,同时模型层数减半。同时作者对transformer中的layer normalization和全连接层的矩阵计算进行了优化。同时作者注意到hidden size维度的变化对模型计算效率的影响小于层数变化的影响,因此本文中作者主要关注模型层数对计算效率的影响。 文中作者使用Teacher模型中的层对Student模型进行初始化
tiny_bert:华为诺亚出品
采用针对transformer的特定蒸馏方式
total _loss =1, embedding_loss
2,attention layer+hidden layer
3,prediction layer
transformer层的映射方式为:bert为N层,tiny_bert为M层
g(m) = m*N/M
TinyBERT 两阶段训练方法
TinyBERT 两阶段训练
BERT 有两个训练阶段,第一个训练阶段是训练一个预训练模型 (预训练 BERT),第二个训练阶段是针对具体下游任务微调 (微调后的 BERT)。TinyBERT 的蒸馏过程也分为两个阶段。
第一个阶段,TinyBERT 在大规模的 general 数据集上,利用预训练 BERT 蒸馏出一个 General TinyBERT。
第二个阶段,TinyBERT 采用数据增强,利用微调后的 BERT 训练一个 task specific 模型。
distill_bert和tiny_bert相关推荐
- 蒸馏 (distill_Distill-BERT:使用BERT进行更智能的文本生成
蒸馏 (distill The field of natural language processing is now in the age of large scale pretrained mod ...
最新文章
- DZX2无法读取会员短消息
- 一个 Babelfish ,看懂云数据库的发展方向
- 如何写出优雅的API
- 贪心1--排队打水问题
- win7电脑0x000007b蓝屏怎么办
- Nginx源码分析 - 主流程篇 - 全局变量cycle初始化(11)
- 文件的创建、删除、移动和查找
- python一年365天_GitHub - yihong0618/Python365: Python365天精进计划
- 认清微信支付v2和v3
- 51 单片机晶振电路原理
- NOIP 2018 兔纸旅游记
- linux下ssd4k对齐,linux查看硬盘4K对齐方法
- 国产加密实际运用:使用SM3加盐存储密码,并且使用SM2进行登录认证
- 学习用Photoshop来设计简单的网页
- 螺距规的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 留学Essay写作方法从哪里学习?
- RAR压缩包如何加密,忘记密码如何找回?
- java 前端模板_前端模板引擎入门
- 红队培训班作业 | 免杀过360和火绒 四种方法大对比
- 【Unity3D】3D游戏学习
热门文章
- LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义;MatrixCreat(一)之LIN矩阵详解
- itchat4j -- 用Java扩展个人微信号的能力
- HDMI_CS4344调试说明
- 高通骁龙处理器天梯排行榜2022 骁龙处理器发布时间排行
- JavaScript下的setTimeout(fn,0)意味着什么?
- Vue中用Three.js创建一个3D会议室(三)拖动与旋转
- 【一神】10.15系统 oc引导 amd黑苹果 cpu识别错误/未知
- 计算机上播放时没声音什么故障,新买的电脑插上耳机没有声音怎么办?具体故障原因及解决方法看这里...
- ssd hdd linux分区方案,windows10+ubuntu 16.04+双硬盘(SSD+HDD)分区(图文)
- JVM中栈的frames详解