解读阿里云PAI模型收缩技巧落地实时挪动端智能应用

随着挪动端AI应用安排需求的日益增强,模型收缩作为深度学习模型实现轻量化安排的有用手段,在挪动端场景越来越受关注。尤其是剪枝、量化、权重稀疏化与网络结构搜索等算法战略,能够帮助减少深度模型端侧安排时的资源消耗(Latency、Energy与Memory等),始终是学术界与工业界的发展焦点。阿里云机器学习PAI平台模型收缩技巧,在端智能应用场景实现了端侧智能的快速赋能与应用落地。尤其在2020年阿里双十一期间,淘宝直播App的“一猜到底”语音交互游戏中,PAI模型收缩技巧体现了关键作用。淘宝直播一猜到底背后的模型收缩

随着挪动端AI应用安排需求的日益增强,模型收缩作为深度学习模型实现轻量化安排的有用手段,在挪动端场景越来越受关注。尤其是剪枝、量化、权重稀疏化与网络结构搜索等算法战略,能够帮助减少深度模型端侧安排时的资源消耗(Latency、Energy与Memory等),始终是学术界与工业界的发展焦点。

阿里云机器学习PAI平台模型收缩技巧,在端智能应用场景实现了端侧智能的快速赋能与应用落地。尤其在2020年阿里双十一期间,淘宝直播App的“一猜到底”语音交互游戏中,PAI模型收缩技巧体现了关键作用。

淘宝直播一猜到底背后的模型收缩技巧

在2020年阿里双十一期间,淘宝直播App上线了趣味极强的“商品价格竞猜游戏”,由当红主播现场推荐商品,粉丝以“语音猜价”形式参与互动:

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图1 淘宝直播“商品价格竞猜游戏”: 1) 在淘宝直播找到“一猜到底”; 2) 首席猜价官吴佳煜; 3) 游戏现场,薇娅直播;

我们知道,“价格竞猜游戏”已经是智能语音识别技巧在挪动端应用的成功案例,经受住了淘宝直播高访问流量的严格考验,一方面需要语音识别的准确无误(Low Error Rate),另一方面需要语音识别的高实时率(High RTF)。这背后是阿里巴巴多个技巧团队支持完成的,包括淘宝无线架构与开发技巧、达摩院ASR算法、阿里云PAI (Platform of A. I.)模型收缩技巧与MNN挪动端推理引擎(参考文献[1])。此篇文章将详细解读涉及的模型收缩技巧。

接下来,我们将解析PAI如何通过模型收缩技巧,在帮助收缩模型的同时,保证了语音识别的高准确率,并显著降低模型在挪动端安排时的ROM/RAM/RTF,即参数存储、运行时内存与实时率开销。

PAI夹杂精度量化技巧

模型收缩是PAI云端一体解决方案的重要环节。如图2所示,在挪动端智能语音的E2E优化安排链路中,PAI模型收缩技巧(夹杂精度后量化、量化训练、稀疏训练等)起着模型瘦身、复杂度降解的关键作用。

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图2 PAI模型收缩在E2E链路中的关健作用

智能语音应用涉及的ASR模型(SAN-M: Memory-block equipped Transformer ASR (参考文献[1]),如图3所示),属于典型的Transformer结构(Encoder + Auto-regressive Decoder架构),并通过全局与局部相关性信息编码的有用结合,提升了模型的收敛性能,确保模型结构获得有用精简。

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图3 SAN-M模型结构: 由特征驱动的Self-Attention、与训练驱动的DFSMN记忆单元相结合,实现全局相关性与局部相关性特征的有用融合

基于PAI团队研发的夹杂精度量化方法,有用实现了SAN-M模型的离线后量化(PTQ:Post-training Quantization)。夹杂精度量化技巧的主要创新点包括:

支持端到端Transformer的离线后量化;相比于拆图量化、量化训练等方法,端到端后量化具备快捷、高效的优势,能够帮助用户一键安排量化方案;集成了丰富的后量化战略,为后量化的精度鲁棒性提供了坚实保证;无Label干预的夹杂精度量化流程,无需提供数据标注,且能准确反映逐层量化的敏感度;

支持端到端Transformer的离线后量化

由于Transformer模型存在自回归循环解码操作,较难直接获取解码器中的张量数据,因此现有的模型收缩框架和推理优化工具,鲜少支持端到端Transformer的离线后量化如图4所示,PAI团队的后量化方法,引入了循环张量探针(Tensor Probe)的使用,有用支持了端到端Transformer模型的离线后量化。循环体内的张量(Tensor)通过若干个延迟单元的传输,构成了不同时刻的信号汇总。这些信号数据导出之后,便可有用支持离线量化参数的统计计算(KL、MSE或Cosine距离最小化等战略)。

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图4 循环张量探针(Tensor Probe)的使用

集成了丰富的后量化战略

如图5所示,在执行Transformer模型的逐层量化(Layer-wise Quantization)时,每个网络层的输入/输出张量、以及网络权重的量化,都会引入量化噪声,主要包括Round误差、Clip误差。

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图5 逐层量化引入的量化噪声

PAI团队的后量化方法,集成了多种可改善量化效果的PTQ战略,允许用户在Post-training阶段妥善解决量化误差问题,以避免进一步使用量化训练(QAT:Quantization-aware Training)等繁重方法。具体的PTQ战略,包括改进的KL算法、EasyQuant、Bias Correction、ADMM、Weight Adjustment等:

KL算法的改进,能够有用减少输入/输出张量的量化噪声;并且可以根据Activation的数据分布,自动选择最佳KL战略;EasyQuant(参考文献 [3])的使用,可进一步减少输入/输出张量的量化误差,尤其能改善INT7等更低精度量化的效果;Bias Correction(参考文献 [4])通过网络权重量化偏差(均值与方差的偏差)的补偿,减少权重量化噪声;同时对Bias Correction的适当改进,增强了对达摩院Transformer ASR的补偿效果;ADMM(参考文献 [5])亦可优化权重量化参数,减少权重量化噪声;也适当改进了ADMM的使用,从而在交替方向迭代范围内,确保权重量化误差最小;Weight Adjustment(参考文献 [6])在Kernel weight按Per-tensor量化时,通过Per-channel形式的等价均衡变换,可以减少Weight量化误差。

无Label干预的夹杂精度量化流程

如图6所示,基于多种后量化战略的有用集成,PAI团队提出了Label-free夹杂精度量化流程(Label-free AMP Pipeline, AMP:Automatic Mixed Precision):

该流程从模型输入到夹杂精度决策,无需数据标注(Label)的干预,简洁易用、快捷有用;量化误差按逐层统计,并能准确表示每个网络层的量化敏感度,为夹杂精度(INT8/FP32夹杂)决策提供了有用基础;通过把控回退的网络层数,可选择出精度与模型容量折中最佳的帕累托最优解,完成多目标优化;生成的夹杂精度量化表,能够对接挪动端推理框架MNN,以生成低延迟、高推理精度的运行时推理引擎;从而构成了完整的工具链路,即从夹杂精度量化、到挪动端的推理安排;AMP Pipeline不仅适用于挪动端,也适用于CPU/GPU优化安排,体现了PAI云端一体的优势所在。

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图6 Label-free夹杂精度量化流程(Label-free AMP Pipeline)

基于AMP Pipeline,在挪动端安排Transformer ASR模型时,通过回退Op数的把控,可以实现WER (SER)与ROM/RAM (RTF)之间的合理折中,妥善解决多目标优化问题。需要注意的原则主要有:

Model size、Latency与内存占用等,都会随着回退Op数的增加而增加,通常可以视作统一的目标函数,并以回退Op数作为自变量;在相同的帕累托前沿(Pareto front)上,回退Op数越多,通常WER越低、Model size越高,因此需要折中选择;不同的Pareto front (取决于PTQ战略的改善效果),回退相同的Op数,达到的折中状态有所不同;参考图7所示的Pareto fronts,都回退Op1,Pareto2的状态、优于Pareto1的状态;AMP目标:采用更有优势的PTQ战略,得到更好的Pareto front,为夹杂精度择优提供有用基础;

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图7 两种Pareto front的对比

表1列出了双十一使用的Transformer ASR模型,在业务测试集上的精度表现(WER:字错误率,SER:句错误率),包括FP32、全INT8、AMP INT8的对比。相比于原浮点模型,经过AMP INT8量化之后(回退3个Op,分类层保留为FP32实现),ASR模型的WER绝对损失低于0.1%、SER绝对损失低于0.5%、理论收缩比约为3.19倍。并且,量化模型对Bad case也体现出了较强的容错性能,助力淘宝直播“价格竞猜游戏”经受住了直播场景的严格考验。

表1 ASR模型在业务测试集上的表现

量化方式

WER

SER

Theoretical Model Size

Encoder

Decoder

FP32

FP32

0.62%

4.27%

33.4MB

全INT8

1.06%

7.21%

9.36MB

AMP INT8 (回退3个Op)

0.70%

4.74%

10.48MB

PAI模型收缩简介

离线量化相关的战略(包括PTQ/AMP等),已集成至PAI Blade,欢迎联系使用;并且面向挪动端应用,Blade收缩工具支持随机稀疏收缩与PTQ叠加使用,例如60%稀疏度时,叠加INT8量化、收缩比可达6.6倍左右;

除了离线后量化之外,在诸如量化训练、网络剪枝、权重稀疏化与模型结构搜索等模型收缩领域,PAI团队也长期坚持耕耘:

量化训练(QAT):Normal INT4/INT8、INT8 Winograd、Overflow-aware Quantization;网络剪枝:Channel-wise Pruning、AMC;权重稀疏化:Random/Block Sparsity;模型结构搜索:Channel-wise/Block-wise/Layer-wise NAS;

在模型收缩方面,以量化训练为例,PAI与MNN团队合作提出了INT8 Winograd量化与计算加速技巧、并发表了合作论文 (参考文献[7])。在下游迁移阶段,针对带有一维卷积(kernel size>=3)的ASR模型,经过INT8 Winograd量化训练,能够有用确保Conv1D-based ASR模型的量化精度稳健性,并进一步实现一维卷积在挪动端的INT8计算加速。

从PAI量化训练、到MNN挪动端优化安排,同样构成了完整的量化/优化工具链路(如图8所示),为端智能应用提供了一种可行的加速方案。此外,MNN的Overflow-aware Quantization (OAQ)也集成到了PAI平台:OAQ利用量化比特位宽的表示冗余,借助INT16单元,寄存中间、与最终乘累加结果,实现计算加速。

解读阿里云PAI模型收缩技巧落地实时挪动端智能应用图8 从大规模预训练、到量化微调、再到优化安排的工具链路

参考文献

[1] 淘宝直播“一猜到底”——挪动端实时语音识别技巧方案及应用: https://mp.weixin.qq.com/s?__biz=MzAxNDEwNjk5OQ==&mid=2650412372&idx=1&sn=74bbcdddb12f70ab31a936ef9ad8697c&chksm=8396dd4cb4e1545a19c4eb17da127c9ea344ec7652531a6ddd88f79a0b849b72e25f58285eba&token=821270436&lang=zh_CN

[2] Zhifu Gao, Shiliang Zhang, Ming Lei, Ian McLoughlin, “SAN-M: Memory Equipped Self-Attention for End-to-End Speech Recognition”, arXiv preprint 2006.01713.

[3] Di Wu, Qi Tang, Yongle Zhao, Ming Zhang, Ying Fu, Debing Zhang, “EasyQuant: Post-training Quantization via Scale Optimization”, arXiv preprint 2006.16669, 2020.

[4] Ron Banner, Yury Nahshan, Elad Hoffer, Daniel Soudry, “Post-training 4-bit quantization of convolution networks for rapid-deployment”, arXiv preprint 1810.05723, 2018.

[5] Cong Leng, Hao Li, Shenghuo Zhu, Rong Jin, “Extremely Low Bit Neural Network: Squeeze the Last Bit Out with ADMM”, arXiv preprint 1707.09870, 2017.

[6] Markus Nagel, Mart van Baalen, Tijmen Blankevoort, Max Welling, “Data-Free Quantization Through Weight Equalization and Bias Correction”, arXiv preprint 1906.04721, 2019.

[7] Yiwu Yao, Yuchao Li, Chengyu Wang, Tianhang Yu, Houjiang Chen, Xiaotang Jiang, Jun Yang, Jun Huang, Wei Lin, Hui Shu, Chengfei Lv, “INT8 Winograd Acceleration for Conv1D Equipped ASR Models Deployed on Mobile Devices”, arXiv preprint 2010.14841, 2020.

给TA打赏
共{{data.count}}人
人已打赏
AI

无监督训练用重叠自编码器是否落伍?ML博士对比了8个自编码器

2021-2-17 12:56:00

AI

用技术致敬每一位妈妈,B站up主用AI复原李焕英老照片动态影像

2021-2-23 14:59:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索