首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >BERT知识蒸馏TinyBERT

BERT知识蒸馏TinyBERT

作者头像
felixzhao
发布于 2022-11-30 03:48:45
发布于 2022-11-30 03:48:45
4610
举报
文章被收录于专栏:null的专栏null的专栏

1. 概述

诸如BERT等预训练模型的提出显著的提升了自然语言处理任务的效果,但是随着模型的越来越复杂,同样带来了很多的问题,如参数过多,模型过大,推理事件过长,计算资源需求大等。近年来,通过模型压缩的方式来减小模型的大小也是一个重要的研究方向,其中,知识蒸馏也是常用的一种模型压缩方法。TinyBERT[1]是一种针对transformer-based模型的知识蒸馏方法,以BERT为Teacher模型蒸馏得到一个较小的模型TinyBERT。四层结构的TinyBERT在GLUE benchmark上可以达到BERT的96.8%及以上的性能表现,同时模型缩小7.5倍,推理速度提升9.4倍。六层结构的TinyBERT可以达到和BERT同样的性能表现。

2. 算法原理

为了能够将原始的BERT模型蒸馏到TinyBERT,因此,在[1]中提出了一种新的针对Transformer网络特殊设计的蒸馏方法,同时,因为BERT模型的训练分成了两个部分,分别为预训练和针对特定任务的Fine-tuning,因此在TinyBERT模型的蒸馏训练过程中也设计了两阶段的学习框架,在预训练和Fine-tuning阶段都进行蒸馏,以确保TinyBERT模型能够从BERT模型中学习到一般的语义知识和特定任务知识。

2.1. 知识蒸馏

知识蒸馏(knowledge distillation)[2]是模型压缩的一种常用的方法,对于一个完整的知识蒸馏过程,有两个模型,分别为Teacher模型和Student模型,通过学习将已经训练好的Teacher模型中的知识迁移到小的Student模型中。其具体过程如下图所示:

对于Student模型,其目标函数有两个,分别为蒸馏的loss(distillation loss)和自身的loss(student loss),Student模型最终的损失函数为:

L=\alpha L_{soft}+\beta L_{hard}

其中,

L_{soft}

表示的是蒸馏的loss,

L_{hard}

表示的是自身的loss。

2.2. Transformer Distillation

BERT模型是由多个Transformer模块(Self-Attention+FFN)组成,单个Self-Attention+FFN模块如下图所示:

假设BERT模型中有

N

层的Transformer Layer,在蒸馏的过程中,BERT模型作为Teacher模型,而需要蒸馏的模型TinyBERT模型作为Student模型,其Transformer Layer的层数假设为

M

,则有

M<N

,此时需要找到一个对应关系:

n = g\left ( m \right )

,表示的是在Student模型中的第

m

层对应于Teacher模型中的第

n

层,即

g\left ( m \right )

层。TinyBERT的Embedding层和预测层也是从BERT的相应层学习知识的,其中Embedding层对应的层数为

0

,预测层对应的层数为

M+1

,对应到BERT中的层数分别为

0=g\left (0 \right )

N + 1 = g\left ( M+1 \right )

。在形式上,学生模型可以通过最小化以下的目标函数来获取教师模型的知识:

L_{model}=\sum _{x\in \chi }\sum_{m=0}^{M+1}\lambda _mL_{layer}\left ( f_m^S\left ( x \right ),f_{g\left ( m \right )}^T\left ( x \right ) \right )

其中,

L_{layer}

是给定的模型层的损失函数,

f_m

表示的是由第

m

层得到的结果,

\lambda_{m}

表示第

m

层蒸馏的重要程度。在TinyBERT的蒸馏过程中,又可以分为以下三个部分:

  • transformer-layer distillation
  • embedding-layer distillation
  • prediction-layer distillation。

2.2.1. Transformer-layer Distillation

Transformer-layer的蒸馏由Attention Based蒸馏和Hidden States Based蒸馏两部分组成,具体如下图所示:

其中,在BERT中多头注意力层能够捕获到丰富的语义信息,因此,在蒸馏到TinyBERT中,提出了Attention Based蒸馏,其目的是希望使得蒸馏后的Student模型能够从Teacher模型中学习到这些语义上的信息。具体到模型中,就是让TinyBERT网络学习拟合BERT网络中的多头注意力矩阵,目标函数定义如下:

L_{attn}=\frac{1}{h}\sum_{i=1}^{h}MSE\left ( A_i^S,A_i^T \right )

其中,

h

代表注意力头数,

A_i \in \mathbb{R}^{l\times l}

代表Student或者Teacher模型中的第

i

个注意力头对应的注意力矩阵,

l

代表输入文本的长度。在[1]中使用注意力矩阵

A

而不是

softmax\left ( A \right )

是因为实验结果显示这样可以得到更快的收敛速度和更好的性能表现。

Hidden States Based的蒸馏是对Transformer层进行了知识蒸馏处理,目标函数定义为:

L_{hidn}=MSE\left ( H^SW_h,H^T \right )

其中,矩阵

H^S\in \mathbb{R}^{l\times {d}'}

H^T\in \mathbb{R}^{l\times d}

分别代表Student网络和Teacher网络的隐状态,且都是FFN的输出。

d

{d}'

代表Teacher网络和Student网络的隐藏状态大小,且

{d}' < d

,因为Student网络总是小于Teacher网络。

W_h\in \mathbb{R}^{{d}'\times d}

是一个参数矩阵,将Student网络的隐藏状态投影到Teacher网络隐藏状态所在的空间。

2.2.2. Embedding-layer Distillation

Embedding层的蒸馏与Hidden States Based蒸馏一致,其目标函数为:

L_{embd}=MSE\left ( E^SW_e,E^T \right )

其中

E^S

E^T

分别代表Student网络和Teacher网络的Embedding,

W_e

的作用与

W_h

的作用一致。

2.2.3. Prediction-layer Distillation

除了对中间层做蒸馏,同样对于最终的预测层也要进行蒸馏,其目标函数为:

L_{pred}=CE\left ( \frac{z^T}{t},\frac{z^S}{t} \right )

其中,

z^S

z^T

分别是Student网络和Teacher网络预测的logits向量,

CE

表示的是交叉熵损失,

t

是温度值,在实验中得知,当

t = 1

时效果最好。

综合上述三个部分的Loss函数,则可以得到Teacher网络和Student网络之间对应层的蒸馏损失如下:

L_{layer}=\begin{cases} L_{embd}, & m=0 \\ L_{hidn} + L_{attn}, & M \geq m > 0 \\ L_{pred}, & m=M+1 \end{cases}

2.3. 两阶段的训练

对于BERT的训练来说分为两个阶段,分别为预训练和fine-tunning,预训练阶段可以使得BERT模型能够学习到更强的语义信息,fine-tunning阶段是为了使模型更适配具体的任务。因此在蒸馏的过程中也需要针对两个阶段都蒸馏,即general distillation和task-specific distillation,具体如下图所示:

在general distillation阶段,通过蒸馏使得TinyBERT能够学习到BERT中的语义知识,能够提升TinyBERT的泛化能力,而task-specific distillation可以进一步获取到fine-tuned BERT中的知识。

3. 总结

在TinyBERT中,精简了BERT模型的大小,设计了三种层的蒸馏,分别为transformer-layer,embedding-layer以及prediction-layer。同时,为了能够对以上三层的蒸馏,文中设计了两阶段的训练过程,分别与BERT的训练过程对应,即预训练和fine-tunning。

参考文献

[1] Jiao X, Yin Y, Shang L, et al. Tinybert: Distilling bert for natural language understanding[J]. arXiv preprint arXiv:1909.10351, 2019.

[2] 知识蒸馏基本原理

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
关联数据及其应用
http://blog.sciencenet.cn/blog-357889-578799.html
全栈程序员站长
2022/09/09
7440
Tim Berners-Lee:网络的自由和开放
image.png 演讲摘要 Tim Berners-Lee:网络的自由和开放 网络重要的原因,同时网络能够发挥作用的原因,网络能够成功的原因,就是它的开放性。这个属性对任何事物都是适用的,对任何设备都是适用的,并且在所有环境中都是适用的,它能让任意两个人进行相互沟通。 很多人都听说过HTML5,这是网页使用的技术。当然开放网络平台中还有可缩放矢量图形SVG、CSS级联样式、JavaScript编程语言。大家思考一下这三种技术,其中比较特别的是JavaScript。因为HTML5、SVG和CS
腾讯研究院
2018/01/22
8840
Tim Berners-Lee:网络的自由和开放
数据!数据!所有人都冲着AI狂热,所有人都高呼大数据,只有这位老头,真正穷其一生冲破数据的藩篱
从网络时代,到如今的AI时代,数据的价值涨了百倍。 可在算法日渐丰富、机器性能日渐强大的当下,正是数据的稀缺,让AI与各个产业的连接变得困难,梦想用AI改变各行各业,大幅提升社会效能的愿望,远远跟不上现实的骨感。 在这个时代,我们期待有更多的人,能大声疾呼,并积极行动,为数据开放做出努力,也让AI更快地走进我们的生活。 数据之于AI,正如电力之于工业社会。 网络的出现,让人们的行踪开始更多被数字化,于是,数据成了窥见人们习惯,分析行为方式最直接的燃料。 数据,原本就属于互联网的共享产物,开始变得越来越
AI科技大本营
2018/04/27
6610
数据!数据!所有人都冲着AI狂热,所有人都高呼大数据,只有这位老头,真正穷其一生冲破数据的藩篱
【双向链接的前世今生】上都计划与 Roam Research 思维工具
对我来说,我在很久之前就一直在探索知识管理、任务管理,这方面是我一直以来非常热衷的兴趣点。本文是我第一次系统性地介绍双向链接是什么,会先为你讲述 Roam 的 3 个故事,然后专注于解释 Roam Research最核心的 1 个功能:双向链接(当然,Roam 还有很多其他好玩的地方)。最后,我会介绍自己的 2 个应用场景,以及什么是 Tools for Thought 和为什么你需要一款思维工具?
JimmyLv_吕靖
2022/05/16
9190
【双向链接的前世今生】上都计划与 Roam Research 思维工具
Nat Biotechnol|David Baker等:蛋白质AI设计的进展
深度学习在蛋白质结构预测和蛋白质设计方面的应用日益增多,设计出的蛋白质已进入临床试验阶段,甚至获得了美国FDA的批准。机器学习在加速设计过程、减少实现功能性蛋白质所需的实验测试变体数量方面有着巨大的潜力。随着几种生成方法的到位,该领域正朝着利用这些方法、开发设计型蛋白质的方向发展,应用领域涵盖材料科学、治疗和诊断,以及将蛋白质与电子电路集成。
智药邦
2024/03/06
2620
Nat Biotechnol|David Baker等:蛋白质AI设计的进展
AlphaFold开源一年:探索新冠祖源,彻底改写生物学
---- 新智元报道   编辑:袁榭 snailnj 【新智元导读】AlphaFold为生物学带来了重大革新,但革新的内容具体如何呢? 自从DeepMind公布AlphaFold系列的AI工具后,生物与制药的学界、业界都惊呼利器诞生。但这种AI利器,给生物学和医药学带来了哪些重大变化呢? AlphaFold改变了生物学 十多年来,分子生物学家Martin Beck和他的同事一直在试图拼出世界上最难的拼图之一:人类细胞中最大的分子结构的详细模型。 这种被称为核孔复合体的庞然大物控制着分子进出细胞核的流动
新智元
2022/04/26
6860
AlphaFold开源一年:探索新冠祖源,彻底改写生物学
图神经网络(GNN)的前沿应用!
大家好,我是花哥,之前介绍了图神经网络(GNN)的数学原理,本文介绍图神经网络的发展及应用进展。
算法进阶
2024/02/17
1.3K0
图神经网络(GNN)的前沿应用!
图神经网络模型总结
在讨论GNN之前,我们先来了解一下什么是图。在计算机科学中,图是由顶点和边两部分组成的一种数据结构。图G可以通过顶点集合V和它包含的边E来进行描述。
opprash
2020/01/20
2.3K0
区块链:我们尚未准备好的革命
想象一下,你要和一个不信任的陌生人进行交易;想象一下,你不需要信任你的银行就在那里存款;想象一下,你不需要信任你的政府却知道他是绝对公正公平的。
魔法少女伊莉雅
2018/03/19
8910
区块链:我们尚未准备好的革命
中文实录全网首发!黄仁勋集齐Transformer论文七大作者,对话一小时,干货满满
2017年,一篇具有里程碑意义的论文——《Attention is All You Need》横空出世,它首次引入了基于自注意力机制的Transformer模型,这一创新架构摆脱了传统的RNN和CNN的束缚,通过并行处理的注意力机制,有效克服了长距离依赖的难题,并显著提升了序列数据处理的速度。Transformer的编码器-解码器结构和多头注意力机制在人工智能领域掀起了一场风暴,大热的ChatGPT正是基于这一架构构建的。
小腾资讯君
2024/03/21
2810
巨大冲击!AlphaFold2再登Nature,从业者都懵了:人类98.5%的蛋白质,全都被预测了一遍
梦晨 边策 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 98.5%的人类蛋白质结构被AlphaFold2预测出来了! 而且还做成了数据集,全部免费开放! 在开源AlphaFold2仅一周后,DeepMind震撼发布AlphaFold数据集,再次引爆科研圈! 数据集中预测的所有氨基酸残基中,有58%达到可信水平,其中更有35.7%达到高置信度。 而在这之前科学家们数十年的努力,只覆盖了人类蛋白质序列中17%的氨基酸残基。 除了人类蛋白质组,数据集中还包括大肠杆菌、果蝇、小鼠等20个具有科研常
量子位
2023/03/10
4330
巨大冲击!AlphaFold2再登Nature,从业者都懵了:人类98.5%的蛋白质,全都被预测了一遍
19位行业领袖,共话医疗AI的技术革命与长期主义|GAIR 2021 医疗科技高峰论坛
在健康中国2030战略规划下,从历史节点中找寻机遇,探寻医疗与科技的结合点,这是未来十年的时代命题。 作者 | 刘海涛 编辑 | 李雨晨 人类健康的道路上,医疗和医药,是亘古不变的济世良方。随着健康中国战略和《健康中国2030》的落实,大健康产业将引领我国新一轮经济发展浪潮。 前沿领域创新,则是带动这股浪潮的核心力量。 如何从历史节点中找寻机遇,探寻医疗与科技的结合点,并在合适的时点实现商业化落地? 在今年的医疗科技高峰论坛上,19位医、产、研、投的行业领袖,分别从医学影像AI、AI制药两大赛道出发,为行业
AI科技评论
2023/04/12
4150
19位行业领袖,共话医疗AI的技术革命与长期主义|GAIR 2021 医疗科技高峰论坛
改变科学的10个计算机代码
2019年,事件视界望远镜让世界第一次看到了黑洞的实际样子。但是,公布的图像并不是传统意义上的照片,而是通过数学“处理”之后的。处理的数据是射电望远镜在美国、墨西哥、智利、西班牙和南极等地区获得相关信息。数据处理团队也开源了相关的编程代码,并发表了相关文章。因此,科学界也可以在此基础上进一步深度探索。
Power7089
2021/03/25
5270
改变科学的10个计算机代码
如果有一天技术成熟了,你愿意吃一口自己的肉么
大数据文摘转载自品玩 作者|玄宁 牛肉下锅,肉碰到热油的瞬间,滋啦啦的响声就来了。接下来是弥漫的香气。 人人都爱香喷喷的牛肉,最好是那些出身名门的牛:神户牛肉、澳洲牛排、佛罗伦萨T骨牛肉,吃一口恨不得听到山谷的风声,闻到草原的香气。 擦完嘴没人会无聊到探索这美味的终极来源。扫兴的事自然归科学家来做。 滋啦啦的响声是因为肉汁里的水分子在高温热油里极速气化,体积极具膨胀而爆炸。而“肉香”来自被高温物理破坏了的肌肉纤维,肌肉细胞释放出了各种风味物质,在生肉的基本味道(flavor)之外,加热过程中通过各种反应产
大数据文摘
2023/04/10
1810
如果有一天技术成熟了,你愿意吃一口自己的肉么
阿斯利康团队用具有域适应性的可解释双线性注意网络改进了药物靶标预测
编辑 | 萝卜皮 预测药物-靶标相互作用是药物发现的关键。近期,虽然基于深度学习的方法显示出强有力的性能,但是仍然存在两个挑战:如何明确地建模和学习药物和目标之间的局部相互作用以更好地预测和解释,以及如何优化新药物-目标对预测的泛化性能。 英国谢菲尔德大学(The University of Sheffield)和阿斯利康的研究人员合作开发了 DrugBAN,这是一个深度双线性注意网络(BAN)框架,具有域适应性,可以显式学习药物和目标之间的成对局部相互作用,并适应分布外的数据。 DrugBAN 对药物分
机器之心
2023/02/23
5630
阿斯利康团队用具有域适应性的可解释双线性注意网络改进了药物靶标预测
Nature|人工智能助力蛋白质折叠预测
2021年11月23日,Nature杂志发表文章Artificial intelligence powers protein-folding predictions。在该文章中,多位专家对AI应用于蛋白质折叠预测的现状和问题进行了评述。
智药邦
2021/12/06
6270
Nature|人工智能助力蛋白质折叠预测
Demis Hassabis:AI 的强大,超乎我们的想象
有人认为 AI 已经穷途末路,但一些绝顶聪明的人还在继续求索。 整理|黄楠、王玥 编辑|陈彩娴 近日,DeepMind 的创始人 Demis Hassabis 作客 Lex Fridman 的播客节目,谈了许多有趣的观点。 在访谈的一开头,Hassabis 就直言图灵测试已经过时,因为这是数十年提出来的一个基准,且图灵测试是根据人的行动与反应来作判断,这就容易出现类似前段时间谷歌一工程师称 AI 系统已有意识的“闹剧”:研究者与一个语言模型对话,将自己的感知映射在对模型的判断上,有失客观。 从2015年成立
AI科技评论
2022/08/26
3360
Demis Hassabis:AI 的强大,超乎我们的想象
如何在神经网络中表示部分-整体的层次结构
本文来自NVIDIA GTC21的一篇演讲,主讲人是多伦多大学、谷歌和Vector研究所的Geoffrey Hinton,他将介绍一个关于表征的单一想法,该想法把transformers,SimclR,neural fields取得的进展结合到一个叫做GLOM的想象系统中。
用户1324186
2021/07/06
9070
DeepMind攻破生物学领域50年难题:蛋白质结构预测准确性可达92.4分
导语:蛋白质的形状与其功能密切相关,能够预测这种结构可使人们更好地了解它的功能和工作原理,从而突破世界上许多强有力的挑战,如开发疾病治疗方法或寻找分解工业废物的酶等。因此在过去50年里,“蛋白质折叠问题”一直是生物学界的一个挑战。近日,谷歌旗下人工智能技术公司 DeepMind 提出深度学习算法「Alphafold」,破解了这一难题。
AI科技大本营
2020/12/08
7830
DeepMind攻破生物学领域50年难题:蛋白质结构预测准确性可达92.4分
GNN 模型在生物化学和医疗健康中的典型应用
例如,分子和化合物可以自然地表示为以原子为节点、以键为边的图。蛋白质相互作用(Protein-ProteinInteractions,PPI)记录了两个或多个蛋白质之间的物理联系, 这种联系可以很自然地用图的形式表示。
博文视点Broadview
2021/07/05
9470
推荐阅读
相关推荐
关联数据及其应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档