所有你要知道的BERT模型压缩方法都在这里!

模型压缩可减少受训神经网络的冗余,由于几乎没有 BERT 或者 BERT-Large 模型可直接在 GPU 及智能手机上应用,因此模型压缩方法对于 BERT 的未来的应用前景而言,非常有价值。

软件工程师 Mitchell A. Gordon 在本文中总结了所有的 BERT 压缩模型的方法,并对该领域的论文进行罗列及分类,我们下面来看:

1、请注意,并非所有压缩方法都能使模型更快。众所周知,非结构化剪枝很难通过 GPU 并行来加速。其中一篇论文认为,在 Transformers 中,计算时间主要由 Softmax 计算决定,而不是矩阵乘法。

例如,ALBERT 对 BERT 中的每个自注意力层使用相同的权重矩阵。

经排查,发现马某有重大作案嫌疑,遂全力开展抓捕行动。但受当时条件所限,对马某的抓捕行动一直未取得实质性进展。

1、剪枝——即训练后从网络中去掉不必要的部分。

境外输入现有确诊病例99例(含重症病例3例),现有疑似病例3例。累计确诊病例1690例,累计治愈出院病例1591例,无死亡病例。

公安部“云剑2020”专项行动部署以来,七里河分局刑侦三大队围绕现有证据,又深度对此案进行梳理分析,终于获取到犯罪嫌疑人马某藏匿于青海省的重要线索。

累计收到港澳台地区通报确诊病例1532例。其中,香港特别行政区1047例(出院982例,死亡4例),澳门特别行政区45例(出院41例),台湾地区440例(出院366例,死亡6例)。

5、量化——截断浮点数,使其仅使用几个比特(这会导致舍入误差)。

模型可以在训练期间,也可以在训练之后学习量化值。

雷锋网原创文章,。详情见转载须知。

这给矩阵施加了低秩约束。权重因子分解既可以应用于输入嵌入层(这节省了大量磁盘内存),也可以应用于前馈/自注意力层的参数(为了提高速度)。

4、不同的压缩方法如何交互,是一个开放的研究问题。

2、如果我们能拿出一个数字来记录我们真正关心的事情,那将会很棒,就像 F1。

4、权重共享——模型中的一些权重与模型中的其他参数共享相同的值。

在预训练/下游数据上从头开始训练一个小得多的 Transformer,正常情况下,这可能会失败,但是由于未知的原因,利用完整大小的模型中的软标签可以改进优化。

目前,案件正在进一步侦办中。(完)

31个省(自治区、直辖市)和新疆生产建设兵团报告新增无症状感染者12例(无境外输入);当日转为确诊病例6例(无境外输入);当日解除医学观察20例(境外输入4例);尚在医学观察无症状感染者780例(境外输入44例)。

(原英文标题见文章尾部)

若需要选一个赢家,我认为是 ALBERT,DistilBERT,MobileBERT,Q-BERT,LayerDrop和RPP。你也可以将其中一些方法叠加使用 4,但是有些剪枝相关的论文,它们的科学性要高于实用性,所以我们不妨也来验证一番:

这包括权重大小剪枝、注意力头剪枝、网络层以及其他部分的剪枝等。还有一些方法也通过在训练期间采用正则化的方式来提升剪枝能力(layer dropout)。

在这里将尽我所能的对这些论文的观点进行解读,同时主要关注以下指标:参数缩减,推理加速 1 和准确性 2,3。

2、权重因子分解——通过将参数矩阵分解成两个较小矩阵的乘积来逼近原始参数矩阵。

一些方法还将BERT 蒸馏成如LSTMS 等其他各种推理速度更快的架构。另外还有一些其他方法不仅在输出上,还在权重矩阵和隐藏的激活层上对 Teacher 知识进行更深入的挖掘。

5月13日晚,专案组民警在青海省公安厅、西宁市公安局及市局相关部门的大力支持下,精准布控、果断出击,在青海省湟中县将其抓捕归案。

经审讯,犯罪嫌疑人马某如实供述了其在27年前持刀伤害致死被害人逃离至今的犯罪事实。

截至5月10日24时,据31个省(自治区、直辖市)和新疆生产建设兵团报告,现有确诊病例141例(其中重症病例9例),累计治愈出院病例78144例,累计死亡病例4633例,累计报告确诊病例82918例,现有疑似病例3例。累计追踪到密切接触者737127人,尚在医学观察的密切接触者5501人。

6、预训练和下游任务——一些方法仅仅在涉及到特定的下游任务时才压缩 BERT,也有一些方法以任务无关的方式来压缩 BERT。

四、相关论文和博文推荐