NLP模型压缩方法综述

字幕组双语原文:NLP 模型压缩方法综述

近年来,基于Transformer的语言模型在神经机器翻译,自然语言推理,and 其他一揽子自然语言理解任务中取得了实质性进展。 采用不同语言建模损失进行自监督的预训练,意味着模型可以通过大规模语料来提高许多下游任务的性能。 然而,海量参数和长计算轨迹意味着BERT及其变体在生产部署中困难重重。 值得庆幸的是,在过去2年里,我们看到了各种各样的技术的发展,它们缓解了这些苦痛并加速了模型的预测。具体来说,本文将重点介绍下面这套模型预训练后可以打的组合拳,这能降低模型预测的计算成本:

较不精确的数值表示法能够从两个方面加速计算:

叶云也准备借116的契机再上一层楼。由于陶瓷产品制作周期较长,叶云早早就开始备货,希望能在购物节期间实现粉丝圈层的拓展。

浮点类型存储三种的数值信息——符号、指数和分数。 传统的32位浮点数表示法用8位表示指数,用23位来表示尾数。 而传统的16位浮点数表示法(即NVIDIA硬件使用的格式)将32位表示法中的指数和尾数位差不多减少了一半。TPU则用了一种名为 bfloat16 的表示方法,它将部分比特位从尾数移至指数,以部分精度为代价换取了更大的数值表示能力。

在前文提到的论文中,教师模型和学生基本架构是相似的,教师模型的权重通常用来初始化学生模型的权重。然而,即使在教师模型和学生模型架构差异巨大的情况下,也可以应用知识蒸馏损失。在 “Training Compact Models for Low Resource Entity Tagging using Pre-trained Language Models”一文中, 英特尔AI实验室的Peter Izsak、Shira Guskin和Moshe Wasserblat将一个在命名实体识别任务上训练的BERT教师模型(约330M个参数)蒸馏成了一个明显更紧凑高效的CNN-LSTM学生模型(约3M个参数)。 这样的学生模型以最少的精度损失在CPU硬件上的提速高达2个数量级。

列表中的最后一篇文章有两个与众不同之处:一是采用了比较新颖的模型压缩方法,二是文章里有这么张图:

当我们谈及与中国脱钩,我们真正的意思是对世界生产的很大一部分进行彻底重组。因为贸易战,中国在全球电脑和平板电脑供应链中所占份额缩减了约4个百分点。尽管如此,这一领域的全球出口有45%来自中国,全球54%的手机是由中国生产的。

“脱钩”已成为描述美中经济可能破裂的新的流行词汇。“脱钩”听起来就好像是世界上最大的两个经济体可以被简单地一下子隔开——就好像是使火车的两节车厢断开那样。事实可能远非如此。

2011年,贝拉克·奥巴马问史蒂夫·乔布斯,iPhone手机能否在美国生产?乔布斯直率地回答:“不能。”而现如今可能依然很难在美国生产。自上世纪80年代末以来,中国政府机构、当地商业伙伴和跨国公司一直在中国建立供应链。庞大的基础设施建设使生产场所得以维持。

这图要是做成T-shirt的话我必穿来游街。

在J.S. McCarley和Rishav Chakravarti以及Avirup Sil的”Structured Pruning of a BERT-based Question Answering Model”中,作者探索了一种更通用的模型剪枝方法。 作者没有只关注注意力头,还对每一层的输入以及每个BERT层的前馈层的激活进行了门控。他们探索了几种机制来选出要剪枝的网络元素——包括Michel等人提出的方法——最终确定了一种L0正则化项,它可以用在精调期间,提高模型的稀疏性。为了使这个L0正则化项可微,他们采用了类似于变分自编码器中的重参数化技巧。

依托快手电商平台,叶云的瓷器生意完成了从线下到线上,从低端到中高端的转变,顾客认可度也在逐步提升。相比于线下实体店,线上销售让销量有了质的改变,最高月收入能达到几十万。

网络层合并与计算图优化

2010年,叶云大学毕业,进入景德镇日报成为一名记者,负责陶瓷大师的专访栏目。在与瓷器大家的频繁接触中,叶云对陶瓷生意萌生了兴趣。2015年,她辞去记者工作,开始经营自己的线下实体店。

在Squad 2.0上剪枝模型的注意力头和前馈激活的鲁棒性。

此外,叶云还坚持定期在快手直播,从瓷器设计、开窑、烧制、打包发货的过程到陶瓷工艺的科普,内容十分丰富。叶云说:“我希望通过快手短视频和直播,拉近和粉丝的距离,树立一个坚持初心的正能量形象,也让更多人了解我们瓷器工艺的魅力。”

品质+文化特色+运营,叶云快手小店的三大支柱

叶云坦言,快手的精细运营极大提升了店铺关注度,带动了整体销量的增长。叶云说:“我现在已经关掉实体店,专心做快手电商运营了。”随着品牌曝光度的提升,叶云的顾客群体也在不断拓展。“之前主要是针对游客,现在就丰富多了,有的顾客买回去自己用,有的是喜欢收藏和观赏,还有一些古玩店主,会批量进货放在自己店里卖”。

除了浮点缩减和量化,操作合并也为更高效的预测提供了一个实用而通用的选择。合并的基本原理是将一些网络层执行的操作结合起来,以更高效少次地访问设备内存。 通过将多种操作合并到一个核(kernel)中,可以大幅提高访问内存的速度。

他们实验发现, 用稀疏性惩罚来微调比”Are 16 Heads Really Better than 1 “中提出的重要性估计方法更胜一筹,并且他们发现可以多去掉近50%的前馈激活,而对短问题回答任务(他们视之为基准任务)的性能影响可以忽略不计。

每一部iPhone手机的背后都体现着如今的全球经济秩序:在加利福尼亚州设计,在中国生产。竞选美国总统的共和党人和民主党人都承诺结束这种安排。这一次,竞选双方都承诺把制造业转移回国内。

去年,叶云拍摄的古法柴窑开窑视频在快手上获得了广泛关注,粉丝量的提升让她信心大增。“现在关注我的人越来越多,除了发短视频展示成品,我还坚持定期直播,展示瓷器烧制的过程,或者讲解一些陶瓷工艺的知识。既和粉丝有了互动,也让他们更相信我的专业度。”

通过门控在精调过程中剪枝

Transformer网络大部分的都可以简单地转换为16位浮点权重和激活,而不会产生精度问题。 而网络剩下的一小部分——特别是softmax操作这部分——必须坚持使用32位浮点数。 这是因为大量小数值(对数计算产生的)的和可能会累积出很大误差。因为同时使用了float16和float32,这种方法通常被称为”混合精度”.

杨安娣表示,这幅作品的创作不仅仅是一个艺术上的深刻阐释,文化上的广泛交流,更是对于冰雪丝路内涵的进一步挖掘和整理。“在冰雪丝路的探索、研究、建设的路上,未来还有更大的空间、更多的问题等着我们,也希望以开笔仪式为契机,能够更好地描绘历史,更好地探索未来。”

难以触达目标消费人群,是景德镇线下实体店商家普遍面临的痛点。幸运的是,叶云在2018年迎来了转机,在朋友的介绍下,她接触到快手。短频快的视频呈现形式,让叶云意识到,或许借助短视频和直播的形式,能够帮小店增加一定的曝光度,获得更多人的关注。

忒修斯BERT是对 “忒修斯之船 “悖论的延展,这个悖论探讨的是一艘船在经过不断的细小维修和升级后,是否还是那一艘船。 忒修斯BERT将这种渐进式替换的思想应用在了模型压缩上。

这种隐式行为的一个好处是,我们不再需要选择如何用目标模型损失来加权各种知识蒸馏损失——因为它通常需要一个超参数α,使得模型损失的形式为L=αLKD+(1-α)LCEL=αLKD+(1-α)LCE。 与TinyBERT不同的是,它没有二次预训练这一步——模型压缩与下游精调是同时进行的。 最后,渐进式模块替换方法也适用于模型架构不同的情况——它在设计中就没有利用Transformer的任何具体特征。

依托快手的强社交属性,叶云通过细腻直观的短视频和接地气的直播不断增强粉丝粘性,以优质内容赋能电商,为自己培养了不少潜在的客户群。粉丝被叶云的设计吸引,信任她专业的制作过程,购买转化自然水到渠成。

知识蒸馏有助于恢复剪枝过程中丢失的信息。 

数值精度缩减: 通过减少浮点数精度和量化来加快速度 操作合并: 在计算图中合并所选节点 剪枝: 识别并删除网络中的非必要部分 知识蒸馏: 训练高效的小规模学生模型,以模仿表达力更强、开销更大的老师模型 模块替换: 通过替换来降低模型的复杂性或深度

图片由NVIDIA开发者博客提供

忒修斯BERT的替换率的比较实验

在实践中,作者发现20 – 40%的头可以剪枝,它们对精度的影响可以忽略不计。

其实不止叶云,在景德镇当地,设计、售卖陶瓷单品的实体店铺有上千家。精品瓷器制作过程繁复,单价偏高,往往很难得到游客的青睐。无奈之下,当地商家只得暂时放弃手工制作的高端路线,售卖流水线生产的中低端产品来维持运营。叶云说:“产品大多是景德镇生产线批发生产,主要靠走量来获利,很难彰显设计师自己的特色。”

相异模型架构的知识蒸馏

后辈模块是低配的先辈模块——下图这种情况里,单个Transformer的层替换掉了一个双层Transformer组成的块  。 与知识蒸馏不同的是,模块替换中没有使用损失来鼓励后辈模块模仿先辈模块。 实际上,是通过后辈和先辈模块的互换使用来鼓励后辈学习模仿先辈的行为。

小店刚起步时,叶云希望借助景德镇丰富的旅游资源,从游客出发打开瓷器销路。但她很快发现,虽然景德镇瓷器享誉全国,但游客大多只是“慕名而来”,真正的陶瓷收藏爱好者少之又少,叶云小店的生意一直不理想。对于叶云而言,精准找到潜在客户群,是改善经营现状的关键。

叶云对烧制过程有很高的要求,她坚持采用古制烧法的柴窑烧制,比起化工气窑,用松木烧制的柴窑成数率并不可控,一般只有百分之六十到七十,但成品的油润度和层次感都更为出色。物以稀为贵,虽然叶云家的瓷器产品客单价都较高,个别单品标价近千元,但好品质总是不愁销路。

NVIDIA已经发布了一套与浮点精度缩减相关的通用基准——在实践中,这种方法可以实现高达3倍的加速。

数值精度缩减可能是加速模型预测的最通用方法。在过去的几年里,GPU硬件对16位浮点数运算的支持不佳,这意味着降低权重和激活函数的计算精度往往效果适得其反,但带有Tensor Core的NVIDIA Volta和Turing 架构的引入意味着现代GPU现在已经具备了高效的16位浮点数运算能力。

在叶云看来,其实还是有很多人喜欢景德镇的瓷器,但一直找不到靠谱的购买渠道,如果能通过短视频把自己的作品分享出去,一定能吸引不少买家。

知识蒸馏是由Geoffrey Hinton, Oriol Vinyals, 和Jeff Dean在2015年的工作”Distilling the Knowledge in a Neural Network”中提出的, 知识蒸馏是指到将一个网络(”教师”)中包含的知识通过特定的修正损失迁移到另一个网络中去(”学生”)。  首先想象一下,我们有一大堆无标记的样本。如果我们信赖教师模型的预测,但其模型太过庞大或计算成本太高而无法在实际环境中使用,那我们就用教师模型来分类无标记的样本,并将这些分类信号作为监督信号馈给学生模型。 然而如果不将对应类别的最大似然作为最终目标,而是在所有可能的类别上产生一个概率分布,那么学生模型就可以获得信息更丰富的监督信号。直觉上,学生模型所犯的某些错误比其他错误更合理——把勺子的图认成哈士奇明显就走远了,但把哈士奇误分为一只阿拉斯加就比较想得通了。所以损失函数应该反映出错误的严重程度。通过惩罚教师预测和学生预测之间的差异(鼓励对数匹配),学生可以从教师网络也觉得可能的类别中学习有用信息。作者认为,在原任务上用仅3%的训练数据就可以几乎实现教师网络的性能。

“Are Sixteen Heads Really Better than One?”, 一文中,Paul Michel、Peter Levy和Graham Neubig迭代地从BERT中减少头的数量. 他们使用基于梯度检测的方法(梯度是在下游任务上估计出来的)来估计每个头的重要性,并以头剪枝百分比作为性能的函数来评估模型对头剪枝的鲁棒性。

虽然所有这些方法本身都很意思(结构化层丢弃在实际应用中表现出巨大的前景),但我对那些可以在部署应用并仍然提升性能的方法更感兴趣。这类方法通常基于”模型中只有一部分是解决具体任务所必需的”这一事实。

传统景德镇瓷器的制作流程异常繁复,要经过72道工序反复锤炼,每件瓷器的制作周期至少半个月。对此,叶云也丝毫不敢马虎,不仅亲自上阵操刀设计,选料、拉坯、立坯、打磨、绘画、吹釉,每一个环节都精益求精。叶云说:“虽然线上购买顾客摸不到产品,但必须保证品质,让他们买得放心。”

她的运营思路是,先用短视频动态呈现让更多人走进景德镇瓷器,然后利用快手直播的即时互动性与潜在客户群建立稳定互信的关系,最终实现粉丝到顾客的有效转化。而叶云的成功转型,也印证了快手电商给每一个中小商家提供了成长的机会与舞台。

忒修斯BERT的GLUE跑分结果

目前,画作已经进入创作阶段。“组画完成后,我们将在东北亚各国举办系列展览活动。”吉林省冰雪丝路书画院院长赵明仁说。(完)

吉林省文化和旅游厅厅长杨安娣表示,冰雪丝路不仅仅是吉林的冰雪丝路。“我们是以吉林省为核心区,立足东北地区,面向东北亚,着眼‘一带一路’沿线冰雪国家开展的一个广泛的合作与交流。”

将32位浮点值量化为8位整型值也是可能的,但应用起来颇为微妙。 特别是,为了确保8位整型值的计算尽可能地接近32位浮点值的计算,训练后必须要增加一个校准步骤.如果你知道一个网络的激活值可能在什么样的区间内,你可以把这个区间划分成256个离散的块,并将每个块分配给一个整数。 只要你记得了缩放因子和区间范围,就可以用整数近似值进行矩阵乘法,并在输出的时候结果恢复为浮点值.

叶云表示:“在景德镇当地,陶瓷商家利用直播平台发展电商已经成为趋势,许多商家果断放弃线下实体店,转为直播带货。”作为较早入局电商平台的本地商家之一,叶云对目前的成绩仍不是特别满意。“我希望后期能做出更多吸引人的段子,用知识性的优质内容助力文化传播,同时增加直播的次数扩大小店曝光度,争取成为快手在景德镇的标杆商户。”

以用户痛点构建信任,实现粉丝到顾客的高效转化

众所周知,狮子座的出生日期为7月23日~8月22日,7月2日没到狮子座的时间,所以该海报意为:没到时间,你不该来。辽篮表达出对拿下本场比赛信心十足。

有样东西和两个完全不一样。图源维基百科,遵循CC BY-SA 3.0协议发布。

我很想看看忒修斯BERT提出的渐进式模块替换, 是否能够很好地替换

现在,叶云快手小店的粉丝体量和销售额都在稳步增长,这让叶云更加坚定自主设计和手工制作的初心。“现在可以自己把控品质,进行全手工制作,激发了我对货品的灵感和设计思路。”

上图中,将跳连的求和操作与层标准化的缩放和偏置合并.  

有证据表明,大量参数可能是样本利用率高的关键,而且在同样时长内把大型语言模型训练到某个困惑度也可能比训练一个等效的紧凑模型更有高效,因此,高效地将这些习得的知识迁移到紧凑的学生模型上的方法拥有光明的未来。

为获得性能提升而进行剪枝对结构化的稀疏性有所要求。 简单地将奇异权重归零并不能有效产生性能提升,因为我们没有实际的方法来利用这种稀疏性。 所以我们必须剪掉网络中更大的部分,才能产生实际的性能提升。

下面的资料介绍了如何使用NVIDIA的TensorRT将8位整型值量化应用到自己的模型中:

辽宁队写道:“在复赛第一阶段的比赛中,广厦队的全华班表现十分出色,在此前的6场比赛中取得5胜1负的骄人战绩,目前已经抢得积分榜第三的位置。刚刚取得2连胜的辽宁队目前排在第五,由于此前战胜的两个对手青岛和同曦相对实力不算很强,本轮对广厦队的比赛可以看做是对辽宁队实力的一次真正考验。”

不幸的是,关于这种图优化所带来的速度提升幅度的细节很少,但我的乐观估计是,这种改进是渐进但不可忽视的——它会在吞吐量上提升10%。

论文作者用线性学习率进行了实验,他发现随着时间的推移,线性增加模块的替换率比恒定的替换率效果要好。

《冰雪丝路图百米组画》开笔仪式现场,同步展出画家团队的其它作品。吕盛楠 摄

“我眼睛里融不了一点沙子。”除了对瓷器品质感的把控十分严苛,对待包装和发货的过程,叶云也一丝不苟。她精心设计了牢固又充满文化色彩的包装,既能保证瓷器安全运输,又让顾客从内到外充分感受景德镇瓷器的艺术美感。

叶云说:“虽然瓷器属于小众商品,但我在快手做电商以来,从未担心过用户接受度的问题。因为我相信只要我用心做好瓷器,就不怕别人不喜欢。”

为进一步加速模型,作者的还推荐使用下一个技术——”知识蒸馏”

虽然运营快手小店只有短短两年,叶云已经对快手电商生态有了自己的把握。她认为,高品质是口碑和销量最好的保障,而她所设计的每一件瓷器都不仅仅是上架售卖的商品,更是景德镇陶文化的招牌,每一道工序都必须严格把关。

在前面讨论的”Structured Pruning of a BERT-based Question Answering Model” 中作者利用知识蒸馏方法,将未剪枝的教师模型中的知识迁移到剪枝后的学生模型上。 在中立问题数据集(Natural Questions)上,教师模型在长回答和短回答上的F1值分别为70.3和58.8。剪枝50%左右的注意力头和前馈激活后,F1分别下降为67.8和55.5 ——平均下降了约2.5。 如果在微调过程中用蒸馏损失来代替交叉熵损失,F1则可以恢复1.5到2个点,F1分别达到了69.3和58.4。

与此同时,中国的大门仍然敞开着。中国开放金融和保险市场的速度之快是国际基金经理们之前想都不敢想的。另一方面,中国正在为跟美国闹翻做准备,强调在关键领域实现自力更生的目标。

即便有中国快速建设基础设施的超群能力的帮助,迁移大型生产设施也需要时间。由于要付出巨大代价,实际上,商界大都不愿听从政客的要求退出中国。世界仍然依赖中国的制造业基础设施。

叶云的经历也证明了小众高客单的商品品类同样有机会在快手电商闯出一片天。在这背后,则是快手对于中小商家的扶持与赋能。比如,此前快手电商就宣布月GMV10万以下中小商家可享受技术服务费减免至1%的扶持。在今年快手116购物狂欢节期间,快手电商更是将拿出上亿现金和10亿级流量补贴中小商家。

今年31岁的叶云,出生在陶瓷之都景德镇。家人大都从事陶瓷设计生产的相关工作,所以叶云从小就学习绘画,高考考入景德镇陶瓷大学学习陶瓷艺术设计专业。幼年时浓厚的陶瓷氛围和四年的专业学习,让叶云一直对手工瓷器保有本真的热爱与坚持。

希望一场美中关系重大危机也能避免。因为从流行疾病到气候崩溃,各种全球性挑战继续加剧,需要中美合作应对。在美国大选之后,可能会打开一扇机会之窗,处于世界经济核心的美中重新开始谨慎谈判。对于分歧双方来说,制定可行的和解战略是一项紧迫任务。

软件优化还可以让我们重组一些矩阵乘法,以更好地利用并行性。 特别是,这可以将自注意力层的查询、键和值投影合并到一次矩阵乘法中去。

我觉得渐进式模块替换方法十分诱人的部分原因是,它打开了用实验方法提高其他模型吞吐量的大门, 而以前模型通常需要从零开始重新训练。 对于独立研究员和小公司来说,从头开始重新训练Transformer模型的成本通常是难以承受的,所以哪些提出了更高效模型的好点子但没发布预训练模型的论文就很难复现。

简单来说,你可以选择一个缩放比例和偏移量,使得一组校准输入上的全部浮点数激活都不会被映射到8位整型值表示范围(-128,127)的端点值上。 然而,在这样做的过程中,为了适应极端的值我们牺牲了一些精度。 相反,像TensorRT这样的框架会选择规模和偏移值,来最小化32位浮点版本和8位整型版本的模型激活输出之间的KL散度,这使得我们原则上可以权衡好范围和精度。 由于KL散度就是不同编码下的信息损失量,所以它完美符合计算需求.

据悉,组画将汇聚从远古以来帝王将相对丝绸之路上的冰雪记忆、故事和传说,纳入大量从田野中挖掘而来的关于东北亚冰雪丝路的口述文化。画家们以各国不同审美的契合点为尺度,力求这幅组画不仅有进步性,更要体现艺术的魅力。

原生半精度指令 更紧凑的表示使得批尺寸(batch size)更大

内容先行联动电商,快手助力小众垂类商品打开新销路

除了最大程度保证产品质量,叶云对快手账号的运营也十分上心。每每展示作品时,叶云总是精心布景,用心拍摄,让观众隔屏也能感受手艺人的匠心独运和瓷器文化的艺术张力。“每一则视频我都会讲解一些与花色相关的历史故事,或者配上趣味性的文案和段子,来吸引大家的兴趣。”

为了测试其方法的鲁棒性,作者在GLUE跑分的时候在BERT-base上用了”忒修斯压缩”,这轻松超越了几种基于知识蒸馏方法的性能,在将原始模型压缩到50%大小的情况下,仅仅落后BERT-base不到1个百分点。