PAI模型压缩落地淘宝直播双十一应用:一猜到底

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 作者:益武、小豌、莱茵、熊兮、嘀豆、执真、临在、穆琢   业务背景 淘宝直播:一猜到底         在阿里双十一前夕,淘宝直播App上线了趣味极强的“商品价格竞猜游戏”:由当红主播现场推荐商品,粉丝以“语音猜价”形式参与互动,好玩、轻松又赚钱。感兴趣的同学,可以立马下载淘宝直播App,参与

作者:益武、小豌、莱茵、熊兮嘀豆、执真、临在、穆琢

 

业务背景

淘宝直播:一猜到底

        在阿里双十一前夕,淘宝直播App上线了趣味极强的“商品价格竞猜游戏”:由当红主播现场推荐商品,粉丝以“语音猜价”形式参与互动,好玩、轻松又赚钱。感兴趣的同学,可以立马下载淘宝直播App,参与游戏体验,最高赢取1万元红利,机不可失、失不再来:

[發]一猜到底,每关现金翻倍[發]

第一关 奖1元

第二关 奖2元

第三关 奖4元

第四关 奖8元

第五关 奖16元

第六关 奖32元

第七关 奖64元

第八关 奖128元

第九关 奖256元

第十关 奖10,000元

参与方式:

第1步 下载【淘.寶.直.播APP】https://t.cn/A64SVSaN

第2步 进入一猜到底

image

   (a) 在淘宝直播找到“一猜到底”              (b) 首席猜价官吴佳煜                    (c) 游戏现场,薇娅直播

图1 淘宝直播“商品价格竞猜游戏”

 

背后的挑战与技术

        “价格竞猜游戏”已经是智能语音识别技术在移动端应用的成功案例,经受住了淘宝直播高访问流量的严格考验,一方面需要语音识别的准确无误(Low Error Rate),另一方面需要语音识别的高实时率(High RTF)。为此,淘宝直播团队、达摩院ASR团队、PAI模型压缩团队与MNN引擎团队联合助力、促使项目成功落地,助推淘宝双十一节节高升项目涉及的关键支撑技术,包括淘宝无线架构与开发技术、达摩院ASR算法、PAI模型压缩技术与MNN移动端推理引擎。

        基于达摩院ASR团队的高准确率、结构精简的Transformer ASR模型(SAN-M: Memory-block equipped Transformer ASR如图2所示),PAI团队提供了行之有效的模型压缩支持,在帮助压缩模型的同时、保证了语音识别的高准确率,并显著降低了模型在移动端部署时的ROM/RAM/RTF。

图2 SAN-M模型结构

        如图3所示PAI模型压缩技术(混合精度量化),已经嵌合在达摩院ASR的E2E优化部署链路当中,起着模型瘦身、复杂度降解的关键作用。

image.png

图3 PAI模型压缩在达摩院E2E链路中的支持作用

 

        合作团队也从不同角度、对“一猜到底”的关键技术做了详细解读:

        达摩院ASR团队:淘宝直播双11新互动玩法背后的语音创新技术

        MNN计算引擎团队:基于MNN的端到端语音识别

 

============== 分割线 ==============

 

        为了帮助了解PAI模型压缩(混合精度量化)涉及的关键创新点,接下来进入“硬核”的技术解密环节。

 

PAI混合精度量化技术

        模型压缩是PAI云端一体解决方案的重要环节。基于PAI团队 (PAI: Platform of A. I.)研发的混合精度量化方法,有效实现了达摩院Transformer ASR模型的离线后量化(PTQ:Post-training Quantization),主要创新点包括:

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

 

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

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

image.png

图4 循环张量探针(Tensor Probe)的使用

 

集成了丰富的后量化策略

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

image.png

图5 逐层量化引入的量化噪声

 

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

    • KL算法的改进,能够有效减少输入/输出张量的量化噪声;并且可以根据Activation的数据分布,自动选择最佳KL策略;
    • EasyQuant参考文献 [1])的使用,可进一步减少输入/输出张量的量化误差,尤其能改善INT7等更低精度量化的效果;
    • Bias Correction参考文献 [2])通过网络权重量化偏差(均值与方差的偏差)的补偿,减少权重量化噪声;同时对Bias Correction的适当改进,增强了对达摩院Transformer ASR的补偿效果;
    • ADMM参考文献 [3])亦可优化权重量化参数,减少权重量化噪声;也适当改进了ADMM的使用,从而在交替方向迭代范围内,确保权重量化误差最小;
    • Weight Adjustment参考文献 [4])在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云端一体的优势所在。

image.png

图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,为混合精度择优提供有效基础;

image.png

图7 两种Pareto front的对比

 

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

 

表1 双十一模型在7K众包测试集上的表现

量化方式

Test-set

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团队也长期坚持耕耘。其中量化训练、稀疏训练与网络剪枝的产品化体验,可参考PAI用户手册

        以量化训练为例,PAI与MNN团队合作提出了Winograd INT8量化与计算加速技术、并发表了合作论文 [5]。在下游迁移阶段,针对带有一维卷积(kernel size>=3)的ASR模型,经过Winograd INT8量化训练,能够有效确保ASR模型的量化精度鲁棒性,并进一步实现了一维卷积在移动端的INT8计算加速。从PAI量化训练、到MNN移动端优化部署,同样构成了完整的量化/优化工具链路(如图8所示)。

image.png

图8 从大规模预训练、到量化微调、再到优化部署的工具链路

 

PAI与达摩院ASR合作

        PAI团队与达摩院语音实验室在语音识别技术方面建立了广泛的深度合作关系,致力于携手共建业界一流语音识别产品,分别在基于PaaS的白盒化平台服务和基于SaaS的精细化业务服务上,为集团内外客户服务,创造更多价值。其中,PAI团队构建了EasyASR工具套件,支持用户对预训练ASR模型进行精细化微调与定制,使用方式可以参考EasyASR用户手册。PAI团队也与达摩院语音实验室合作,在PAI平台集成了两种最新的达摩院语音识别引擎,方便用户在PAI平台一键调用上述语音识别引擎,用于离线语音转写。详细内容可查阅当语音智能遇上AI平台:达摩院语音识别引擎上PAI实践

        此外,在模型压缩方面,PAI团队与达摩院ASR团队的合作、主要围绕如下几点展开:

    • 后量化/量化训练;
    • 模型稀疏化;
    • 小模型结构搜索;

 

致谢

淘宝直播团队:稀之、逸休、德夫等及其主管的支持

达摩院ASR团队:游雁、谵良、追音、凌匀、大总、晗媛、好知

MNN推理引擎团队:星命、弗人、霞影、玄裳、吕行

 

参考文献

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

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

[3] 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.

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

[5] 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.

[6] Chengyu Wang, Mengli Cheng, Xu Hu, Jun Huang. EasyASR: A Distributed Machine Learning Platform for End-to-end Automatic Speech Recognition. AAAI 2021.

[7] Mengli Cheng*, Chengyu Wang*, Xu Hu, Jun Huang, Xiaobo Wang. Weakly Supervised Construction of ASR Systems with Massive Video Data. arXiv preprint 2008.01300, 2020.

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
26天前
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
59 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
19天前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
140 88
|
2月前
|
机器学习/深度学习 监控 算法
机器学习在图像识别中的应用:解锁视觉世界的钥匙
机器学习在图像识别中的应用:解锁视觉世界的钥匙
391 95
|
24天前
|
机器学习/深度学习 数据采集 算法
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
155 36
|
29天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
159 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
5天前
|
机器学习/深度学习 安全 持续交付
让补丁管理更智能:机器学习的革命性应用
让补丁管理更智能:机器学习的革命性应用
28 9
|
17天前
|
机器学习/深度学习 安全 PyTorch
FastAPI + ONNX 部署机器学习模型最佳实践
本文介绍了如何结合FastAPI和ONNX实现机器学习模型的高效部署。面对模型兼容性、性能瓶颈、服务稳定性和安全性等挑战,FastAPI与ONNX提供了高性能、易于开发维护、跨框架支持和活跃社区的优势。通过将模型转换为ONNX格式、构建FastAPI应用、进行性能优化及考虑安全性,可以简化部署流程,提升推理性能,确保服务的可靠性与安全性。最后,以手写数字识别模型为例,展示了完整的部署过程,帮助读者更好地理解和应用这些技术。
62 18
|
21天前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署 DeepSeek-V3 模型,阿里云 PAI-Model Gallery 最佳实践
本文介绍了如何在阿里云 PAI 平台上一键部署 DeepSeek-V3 模型,通过这一过程,用户能够轻松地利用 DeepSeek-V3 模型进行实时交互和 API 推理,从而加速 AI 应用的开发和部署。
|
15天前
如何看PAI产品下训练(train)模型任务的费用细节
PAI产品下训练(train)模型任务的费用细节
39 4
|
23天前
|
存储 分布式计算 MaxCompute
使用PAI-FeatureStore管理风控应用中的特征
PAI-FeatureStore 是阿里云提供的特征管理平台,适用于风控应用中的离线和实时特征管理。通过MaxCompute定义和设计特征表,利用PAI-FeatureStore SDK进行数据摄取与预处理,并通过定时任务批量计算离线特征,同步至在线存储系统如FeatureDB或Hologres。对于实时特征,借助Flink等流处理引擎即时分析并写入在线存储,确保特征时效性。模型推理方面,支持EasyRec Processor和PAI-EAS推理服务,实现高效且灵活的风险控制特征管理,促进系统迭代优化。
45 6