TinyBERT[1]是一种针对transformer-based模型的知识蒸馏方法,以BERT为Teacher模型蒸馏得到一个较小的模型TinyBERT。...四层结构的TinyBERT在GLUE benchmark上可以达到BERT的96.8%及以上的性能表现,同时模型缩小7.5倍,推理速度提升9.4倍。...六层结构的TinyBERT可以达到和BERT同样的性能表现。 2....Fine-tuning,因此在TinyBERT模型的蒸馏训练过程中也设计了两阶段的学习框架,在预训练和Fine-tuning阶段都进行蒸馏,以确保TinyBERT模型能够从BERT模型中学习到一般的语义知识和特定任务知识...能够学习到BERT中的语义知识,能够提升TinyBERT的泛化能力,而task-specific distillation可以进一步获取到fine-tuned BERT中的知识。
TinyBERT[1]是一种针对transformer-based模型的知识蒸馏方法,以BERT为Teacher模型蒸馏得到一个较小的模型TinyBERT。...四层结构的TinyBERT在GLUE benchmark上可以达到BERT的96.8%及以上的性能表现,同时模型缩小7.5倍,推理速度提升9.4倍。...六层结构的TinyBERT可以达到和BERT同样的性能表现。2....Fine-tuning,因此在TinyBERT模型的蒸馏训练过程中也设计了两阶段的学习框架,在预训练和Fine-tuning阶段都进行蒸馏,以确保TinyBERT模型能够从BERT模型中学习到一般的语义知识和特定任务知识...能够学习到BERT中的语义知识,能够提升TinyBERT的泛化能力,而task-specific distillation可以进一步获取到fine-tuned BERT中的知识。
---- 编辑:AI算法小喵 写在前面 最近做的一个 project 需要复现 EMNLP 2020 Findings 的 TinyBERT[1],本文是对复现过程对踩到坑,以及对应的解决方案和实现加速的一个记录...Overview of TinyBERT BERT 效果虽好,但其较大的内存消耗和较长的推理延时会对其上线部署造成一定挑战。...TinyBERT 提供了经过 General Distillation 阶段的 checkpoint,可以认为是一个小的 BERT,包括了 6L786H 版本以及 4L312H 版本。...所以得把原先 TinyBERT DP(DataParallel)改成 DDP(DistributedDataParallel)。...参考资料 [1] TinyBERT: https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/TinyBERT [2]
本文作者:chenchenliu&winsechang,腾讯 PCG 内容挖掘工程师 TinyBERT 是华为不久前提出的一种蒸馏 BERT 的方法,本文梳理了 TinyBERT 的模型结构,探索了其在不同业务上的表现...,证明了 TinyBERT 对复杂的语义匹配任务来说是一种行之有效的压缩手段。...二、模型实现细节 TinyBERT 的结构如下图: 整个 TinyBERT 的 loss 设计分为三部分: 1....所以我们蒸馏 TinyBERT 的流程是: 制作任务相关数据集; fine-tune teacher BERT; 固定 teacher BERT 参数,蒸馏得到 TinyBERT....关于实验结果,先上 TinyBERT 论文中的结论: 可以看到 TinyBERT 表现优异。
4.1 AI implications 4.2 现代自然语言处理的环境成本 5、Articles and Blog posts ✍️ 5.1 开源ML 5.2 计算机视觉的自监督学习 5.3 用于搜索的TinyBERT...5.3 用于搜索的 TinyBERT 我们已经看到许多 BERT 模型的变体(例如 DistilBERT)的成功,这些变体使用某种形式的知识蒸馏来显着减小模型大小并提高速度。...一些人使用了 BERT 的变体 TinyBERT,并将其应用于基于关键字的搜索解决方案。此项目的灵感来自于该搜索解决方案,该解决方案用于理解 Google 提出的搜索。
我们构建 NBoost 是为了让非 Google 用户也能方便地使用高级搜索排名模型,在这个过程中,我们开发了 TinyBERT,这就是我在本文中要介绍的内容。...图片来源:https://nervanasystems.github.io/distiller/knowledge_distillation.html TinyBERT 架构 我们使用此 repo...搜索分数对(问题,答案)或(搜索,搜索结果),然后根据这些分数对结果进行排序 下面是我们使用的 tinyBERT 架构的 bert_config.json 示例,与标准的 bert_config 有显著的区别...开始使用 TinyBERT 吧!虽然没有 BERT-Base 对重新评分有效,但我们的实验表明,它保留了 BERT-Base 的 MRR 评分的 90%,同时使模型快了约 10 倍,小了约 20 倍。...via:https://towardsdatascience.com/tinybert-for-search-10x-faster-and-20x-smaller-than-bert-74cd1b6b5aec
假设 Teacher BERT 有M层,TinyBERT有N层(NTinyBERT到Teacher BERT 映射函数,表示TinyBERT的第m层是从Teacher BERT...的监督信息,从而训练TinyBERT,训练的loss可表示为如下公式: 其中 为当前层衡量Teacher BERT络和TinyBERT的差异性的loss函数, 是超参数,代表当前层的重要程度...CoLA是判断一句话是否语法正确的数据集,需要更多语言学知识,需要更大的网络去拟合,随着TinyBERT参数增大,也能提高TinyBERT在该数据集上的效果,Table 4 也证明了这个结论。...推理速度 TinyBERT 就在几天前,出现了一种新的 BERT 蒸馏方法,来自华为诺亚方舟实验室的刘群团队提出了 TinyBERT。...他们获得了可以对各种下游任务进行微调的通用 TinyBERT。
实证研究结果表明,TinyBERT 是有效的,在 GLUE 基准上实现了与 BERT 相当(下降 3 个百分点)的效果,并且模型大小仅为 BERT 的 13.3%(BERT 是 TinyBERT 的 7.5...为了表述清楚,研究者在详解 TinyBERT 之前阐述了以下问题。...图 2:TinyBERT 的两段式学习图示。 通用蒸馏可以帮助 student TinyBERT 学习到 teacher BERT 中嵌入的丰富知识,对于提升 TinyBERT 的泛化能力至关重要。...然而,由于隐藏/嵌入层大小及层数显著降低,通用 TinyBERT 的表现不如 BERT。 针对特定任务的蒸馏 研究者提出通过针对特定任务的蒸馏来获得有竞争力的微调 TinyBERT 模型。...不同蒸馏目标的影响 研究者还探索了不同目标对 TinyBERT 学习的影响,结果如下表 6 所示: ? 表 6:不同蒸馏目标对 TinyBERT 学习的影响。
TinyBERT在华科+华为于2019年发表的《TinyBERT: Distilling BERT for Natural Language Understanding》(https://arxiv.org...TinyBERT的训练流程如下: 整体是个两阶段的蒸馏过程: General Distillation:以未经fine-tuning的BERT作为Teacher,蒸馏得到General TinyBERT...Task-specific Distillation:以fine-tuning后的BERT作为Teacher,General TinyBERT作为Student的初始化,在经过数据增强后的Task Dataset...上继续蒸馏,得到Fine-tuned TinyBERT TinyBERT的结构如下: TinyBERT的loss如下: 其中, 表示embedding layer, 表示prediction...TinyBERT的性能表现如下: 3.3、FastBERT FastBERT在北大+腾讯于2020年发表的《FastBERT: a Self-distilling BERT with Adaptive
在相同效率的约束下,从DynaBERT中提取的子网性能优于DistilBERT和TinyBERT。 5.TinyBERT 蒸馏 5.1....TinyBERT 简介 论文地址:TinyBERT: Distilling BERT for Natural Language Understanding 预训练模型的提出,比如BERT,显著的提升了很多自然语言处理任务的表现...六层结构的 TinyBERT_{6} 可以达到和 BERT_{base} 同样的性能表现。...图1: TinyBERT learning TinyBERT主要做了以下两点创新: 提供一种新的针对 transformer-based 模型进行蒸馏的方法,使得BERT中具有的语言知识可以迁移到...TinyBERT中去。
2 论文解读示例 TinyBERT解读 在大模型越来越成为AI核心研究方向的当下,回顾这些经典的语言模型论文是大有裨益的。...Github上的这个论文解读项目就精选了多篇相关论文,以一篇对知识蒸馏方法TinyBERT的解读为例: 这项工作由年华中科技大学和华为诺亚方舟实验室合作,在2019年提出。...另外,解读作者还在这里引用了另一项相关研究,为TinyBERT的进一步工作提出了一个有趣的方向。 然后是两步蒸馏法。...这里说明了TinyBERT所使用的蒸馏过程遵循了原始BERT的训练方法——在大规模的通用数据集上进行预训练以获得语言特征,然后针对特定任务数据进行微调。...之后文章精简地呈现了原始论文中TInyBERT的关键数据,如该模型的性能在基准测试中达到了BERT基础教师模型的96%,同时体积缩小了7.5倍,速度提高了9.4倍。
论文解读示例 TinyBERT解读 在大模型越来越成为AI核心研究方向的当下,回顾这些经典的语言模型论文是大有裨益的。...Github上的这个论文解读项目就精选了多篇相关论文,以一篇对知识蒸馏方法TinyBERT的解读为例: 这项工作由年华中科技大学和华为诺亚方舟实验室合作,在2019年提出。...另外,解读作者还在这里引用了另一项相关研究,为TinyBERT的进一步工作提出了一个有趣的方向。 然后是两步蒸馏法。...这里说明了TinyBERT所使用的蒸馏过程遵循了原始BERT的训练方法——在大规模的通用数据集上进行预训练以获得语言特征,然后针对特定任务数据进行微调。...之后文章精简地呈现了原始论文中TInyBERT的关键数据,如该模型的性能在基准测试中达到了BERT基础教师模型的96%,同时体积缩小了7.5倍,速度提高了9.4倍。
这一框架确保 TinyBERT 可以获取 teacher BERT的通用和针对特定任务的知识。...基于注意力的蒸馏是为了鼓励语言知识从 teacher BERT 迁移到 student TinyBERT 模型中。...这也是Tinybert和DistilBERT不同的地方 -- DistilBERT只是减少了层数,而TinyBERT还缩减了hidden size。...因此,Tinybert使用两段式学习框架,包含通用蒸馏(general distillation)和特定于任务的蒸馏(task-specific distillation)....这样就得到了一个通用 TinyBERT。然而,由于隐藏/embedding层大小及层数显著降低,通用 TinyBERT 的表现不如 BERT。
for Natural Language Understanding》提出了预训练和微调两阶段蒸馏方法,TinyBERT两阶段蒸馏如下图所示: 图5 TinyBERT两阶段蒸馏 TinyBERT第一阶段是预训练阶段蒸馏...得到老师模型去蒸馏得到任务相关的六层TinyBERT模型。...TinyBERT还提出了一种针对Transformer的蒸馏方法,不同层对应的损失函数如下: 图6 TinyBERT针对不同层的损失函数 当m=0时对输入embedding进行蒸馏;当m=M+1时对最后一层进行蒸馏...层目标函数蒸馏对模型效果影响最大,而Embedding层和最后一层影响最小,下面是实验结果: 图9 不同目标函数对蒸馏效果的影响 对应到实际业务实践中,蒸馏textCNN的优化版本就是TinyBERT...相比于蒸馏textCNN来说,TinyBERT效果会提升很多,但是相对来说实现也比较复杂。至于模型效果和推理速度的选择可以根据实际的需求确定蒸馏Transformer的层数。
而针对BERT这样的庞大模型难以部署到算力、内存有限的设备中的问题,华为诺亚方舟实验室和华中科技大学另辟蹊径,联手打造了开源TinyBERT。...TinyBERT应用知识蒸馏的方法,使大型教师模型BERT中的大量知识能很好地迁移到小型学生模型TinyBERT中。...研究人员还提出了一种专门用于TinyBERT的两段式学习框架,,分别在预训练阶段和特定任务学习阶段进行transformer蒸馏,以确保TinyBERT可以获取教师模型在通用和特定任务知识上的经验。...在TinyBERT搜索效果检验中,TinyBERT的性能只达到了BERT的90%,但速度提升了5倍,并且模型大小仅为BERT的1/20。...在GLUE基准上,TinyBERT的性能与BERT相当,仅下降了3个百分点,且模型大小不到不到BERT的1/7,推理速度是BERT的9.4倍。
推理速度 TinyBERT 就在几天前,出现了一种新的 BERT 蒸馏方法,来自华为诺亚方舟实验室的刘群团队提出了 TinyBERT[20]。...他们获得了可以对各种下游任务进行微调的通用 TinyBERT。...这个两阶段方法对于提升 TinyBERT 的性能和泛化能力是必不可少的。...其他蒸馏方法 除了 DistilBERT 和 TinyBERT 外,还有其他一些为大家所熟知的蒸馏方法。...TinyBERT 的结果似乎更好,但一个 7MB 的类 BERT 模型简直爽的不能再爽!
今天rumor就结合Distilled BiLSTM/BERT-PKD/DistillBERT/TinyBERT/MobileBERT/MiniLM六大经典模型,带大家把BERT蒸馏整到明明白白!...TinyBERT(EMNLP2019) 既然精调阶段、预训练阶段都分别被蒸馏过了,理论上两步联合起来的效果可能会更好。...TinyBERT的教师模型采用BERT-base。...最终采用BERT-base作为教师,实验下来6层的学生模型比起TinyBERT和DistillBERT好了不少,基本是20年性价比数一数二的蒸馏了。...超参数T主要控制预测分布的平滑程度,TinyBERT实验发现T=1更好,BERT-PKD的搜索空间则是{5, 10, 20}。
领取专属 10元无门槛券
手把手带您无忧上云