首页 今日头条正文

夏枯草的功效与作用,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容

参加:张倩、杜伟

BERT 等大模型功能强壮,但很难布置到算力、内存有限的设备中。为此,来自华中科技大学、华为诺亚方舟试验室的研讨者提出了 TinyBERT,这是一种为根据 tr妮莎柯比ansformer 的模型专门规划的常识蒸馏办法,模型巨细还不到 BERT 的 1/7,但速度是 BE啪啪啪爽吗RT 的 9 倍还要多,并且功能没有出现显着下降。现在,该论文现已提交机器学习顶会 ICLR 2020。

BERT 等大模型功能强壮,但很难布置到算力、内存有限的设备中。为此,来自华中科技大学、华为诺亚方舟试验室夏枯草的成效与效果,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容的研讨者提出了 TinyBERT,这是一种为根据 transformer 的模型专门规划的常识蒸馏办法,模型巨细还不到 BERT 的 1/7,但速度是 BERT 的 9 倍还要多,并且功能没有出现显着下降。现在,该论文现已提交机器学习顶会 ICLR 2020。

论文:https://arxiv.org/abs/1909.10351

在自然言语处理(NLP)范畴,BERT 等预练习言语模型女奥特曼苍月极大地提高了许多 NLP 使命的功能。可是,这类预练习言语模型一般核算开支大,内存占用也大,因而很难在一些资源严重的设备上有用履行。

吕宗瑞

为了在加速推理速度和下降模型巨细的一起坚持准确率,来自华中科技大学和华为诺亚方舟试验室的研讨者提出了一种新心胸介弟颖的 transformer 蒸馏法,这是为根据 transformer 的模型专门规划的常识蒸馏(knowledge distillation,KD)办法。经过这种新的 KD 办法,大型 teacherBERT 模型中编码的很多常识能够很好地搬迁到小型 student TinyBERT 模型中。

此外,研讨者还提出了一种专门用于 TinyBERT 的两段式学习结构,然后别离在预练习和针对特定使命的学习阶段履行 transformer 蒸馏。这一结构保证 TinyBERT 能够获取 teacherBERT 的通用常识和针对特定使命的常识。

除了提出新的 transformer 蒸馏法之外,研讨者还提出了一种专门用于 TinyBERT 的两段式学习结构,然后别离在预练习和针对特定使命的详细学习阶段履行 transformer 蒸馏。这一结构保证 TinyBERT 能够获取 teacherBERT 的通用和针情中情对特定使命的常识。

实证研讨成果标明,TinyBERT 是有用的,在 GLUE 基准上完成了与 BERT 适当(下降 3 个百分点)的效果,并且模型巨细仅为 BERT 的 13.3%(BERT 是 TinyBERT 的 7.5 倍),推理速度是 BERT 的 9.4 倍。此外,TinyBERT 还显着优于当时的 SOTA 基准办法(BERT-PKD),但参数仅为为后者的 28%,推理时刻仅为后者的 31%左右。

Transformer 蒸馏

研讨者提出的 Transformer 蒸馏是专门为 Transformer 网络规划的常识蒸馏办法,下图 1 为本文提出的 Transformer 蒸馏办法概览图:

图 1:Transformer 蒸馏概览图。

在这篇论文中,student 和 teacher 网邱家儒络都是经过 Transformer 层构建的。为了表述清楚,研讨者在详解 TinyBERT 之前论述了以下问题。

假定 student 模型有 M 个 Transformer 层,teacher 模型有 N 个 Transformer 层,从 teacher 模型中挑选 M 个 Transf君迪影投ormer 层用于 Transformer 层蒸馏。n=g(m) 是 student 层到 teacher 层的映射函数,这意味着 student 模型的第 m 层从 teacher 模型的第 n 层开端学习信息。嵌入层蒸馏和猜测层蒸馏也考虑进来,将嵌入层的指数设为 0,猜测层的指数设为 M+1,并且对应的层映射别离界说为 0 = g(0) 和 N + 1 = g(M + 1)。下文试验部分将讨论不同的映射函数对功能的影响。在形式上,经过最小化以下方针函数,student 模型能够获取 teacher 模型的常识:

其间 L_layer 是给定模型层(如 Transformer 层或嵌入层)的丢失函数,_m 是表征同人h文第 m 层蒸馏重要度的超参数。

研讨者提出的 Transformer 层蒸馏包括根据留意力的蒸馏和根据隐状况的蒸馏,详细可参阅上图 1(b)。根据留意力的蒸馏是为了鼓舞言语常识从 teacherBERT 搬迁到 student TinyBERT 模型中。详细而言,student 网络学习怎么拟合 teacher 网络中多头留意力的杨伟庆失联矩阵,方针函数界说如下:

其间,h 是留意力头数。A_i ∈ R^( ll) 是与 teacher 或 student 的第 i 个留意夏枯草的成效与效果,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容力头对应的留意力矩阵。

此外,(非归一化)留意力矩阵 A_i 用作拟合方针,而不是其 softmax 输出的 softmax(A_i),因为试验标明前者的设置出现更快的收敛速度和更佳的功能。除了根据留意力的蒸馏之外,研讨者还对 Transformer 层输出的常识进行蒸馏处理(详细可参阅上图 1(b)),方针函数界说如下:

其间 H^S夏枯草的成效与效果,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容∈R^ld'和 H^T∈R^ld 别离标明 student 和 teacher 网络的隐状况,由方程式 4 核算得到。标量值 d 和 d'别离标明 teacher 和 student 模型的隐状况,并且 d'一般小于 d,以取得更小的 student 网络。夏枯草的成效与效果,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容

研讨者还履行了嵌入层的蒸馏,与根据隐状况的蒸馏相似,界说如下:

其间矩阵 E^S 和 H^T 别离标明 student 和 teacher 网络的嵌入。在论文中,这两种矩阵的形状与隐状况矩阵相同。矩阵 W_e 标明线性改变,它起到与 W_h 相似的效果。

除了模仿中间层的行为之外,研讨者还运用常识蒸馏来拟合 teacher 模型的猜测成果。详细而言,他们对 student 网络 logits 和 teacher 网络 logits 之间的 soft 穿插熵丢失进行赏罚:

其间 z^S 和 z^T 别离标明 student 和 teacher 模型猜测的 logits 向量,log_softmax 标明 log 似然,t 标明温度值。试验标明,t=1 时运转杰出。

经过以上几个蒸馏方针函数(即方程式 7、8、9 和 10),能够整合 teacher 和 student 网络之间对应层的蒸馏丢失:

在试验中,研讨者首要履行的是中间层蒸馏(M ≥ 巴乐果m ≥ 0),其次是猜测层蒸馏(m = M + 1)。

两段式学习结构

BERT 的运用一般包括两个学习阶段:预练习和微调。BERT 在预练习阶段学到的很多常识非常重要,并且搬迁的时分也应该包括在内。因而,研讨者提出了一个两段式学习结构,包括通用蒸馏和特定于使命的蒸馏,如下图 2 所示:

图 2:TinyBERT 的两段式学习图示。

通用蒸馏能够协助 student T夏枯草的成效与效果,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容inyBERT 学习到 teacher BERT 中嵌入的丰厚常识,关于提高 TinyBERT 的泛化才能至关重要。特定于使命的蒸馏赋予 student 模型特定于使命的常识。这种两段式蒸馏能够缩小 teacher 和 student 模型之间的距离。

通用蒸馏

在通用蒸馏中,研讨者运用原始 BERT 作为 teacher 模型,并且不对其进行微调,运用大规模文本语料库作为学习数据。经过在通用范畴文本上履行 Transformer 蒸馏,他们获取了一个通用 TinyBERT,能够针对下流使命进行微调。但是,因为躲藏/嵌入层巨细及层数显着下降,通用 TinyBERT 的体现不如 BER斯连教国T。

针对特定使命的蒸馏

研讨者佛说错错错提出经过针对特定使命的蒸馏来取得有竞争力的微调 TinyBERT 模型。而在蒸馏过程中,他们在针对特定使命的增强数据集上(如图 2 所示)从头履行了提出的 Transformer 蒸馏。详细而言,微调的 BERT 用作 teacher 模型,并提出以数据增强办法来扩展针对特定使命的练习集。

此外,上述两个学习阶段是相得益彰的:通用蒸馏为针对特定使命的蒸馏供给杰出的初始化,而针对特定使命的蒸馏经过专心于学习老婆是童贞针对特定使命的常识来进一步提高 TinyBERT 的效果。

试验效果

为了验证 TinyBERT 的效果,研讨者在多个使命上将其与其他模型进行了比较。

在 GLUE 上的试验效果

研讨者在 GLUE 基准上评价了 TinyBERT 的功能,成果如下表 2 所示。模型巨细和推理时刻的功率见下表 3。

表 2:在 GLUE 基准上的评价成果。

表 3:基线模型和 TinyBERT 的模型巨细和推理时刻。层数量不包括嵌入和猜测层。

试验成果标明:1)TinyBERT 在一切 GlU花宝燕E 使命中的体现都优于 BERTSMALL,均匀功能提高了 6.3%,标明本文提出的 KD 学习结构能够有用地提高小模型在下流使命中的功能;2)TinyBERT 显着逾越了 KD SOTA 基线(即 BERT-PKD 和 夏枯草的成效与效果,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容DistillBERT),比 BERT-PKD 高喋血三雄出 3.9%达睿思成果剖析归纳体系(见图 2),但参数只要基线模型的 28%,推理时刻只要基线模型的 31% 左右(见图 3);3)与 t寅行道eacher BERTBASE 比较,TinyBERT 的巨细仅为前者的 13.3%,但速度却是前者的 9.4 倍,并且功能丢失不大。4)TinyBERT 与 Distilled BiLSTM_SOFT 模型功率适当,在 BiLSTM 基线揭露的一切使命中均显现出了显着的功能提高。5)关于具有挑战性的 CoLA 数据集,一切的蒸馏小模型与 teacher 模型的功能距离都比较大。TinyBERT 与基线模型比较完成了显着的功能提高,假如运用更深、更宽的模型来捕获更杂乱的言语信息,它的功能还能进一步提高。

模型巨细的影响

为了测验模型巨细对功能的影响,研讨者在几个典型的 GLUE 使命中测验了不同巨细 TinyBERT 模型的功能。成果如下表 4 所示:

表 4:提高宽度、深度之后的 TinyBERT 变体与基线的功能比较成果。

不同学习过程的影响

本文提出的两段式 TinyBERT 学习结构包括三个关键过程:TD(特定于使命的蒸馏)、GD(通用蒸馏)和 DA(数据蒸馏)。每个学习过程的影响如下表 5 所示:

表 5:不同学习过程的控制变量研讨。

不同蒸馏方针的影响

研讨者还探求了不同方针对 TinyBERT 学习的影响,成果如下表 6 所示:

表 6:不同蒸馏方针对 TinyBERT 学习的影响。

映射函数对模型功能的影响

研讨者探求了不同映射函数 n = g(m) 关于 TinyBERT 学习的影响,比较成果见下表 7:

表 7:不同映射战略的比照成果。

本文为机器之心报导,转载请联络本大众号取得授权。

夏枯草的成效与效果,TinyBERT:模型小7倍,速度快8倍,华中科大、华为出品,陈德容
卞智英
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。