阿里云PAI平台模型压缩技术落地淘宝直播双十一应用:一猜到底

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 随着移动端应用的兴起,模型压缩作为深度学习模型实现轻量化部署的有效手段,备受关注。机器学习也从理论研究阶段,有了明显的工程化、应用落地的趋势,那么模型压缩在淘宝直播游戏场景下,是如何发挥重要作用的呢,让我们一起揭开神秘的实践面纱。

随着移动端应用的兴起,应用安装包的压缩技术已经愈发成熟,在4G网络时代就可以轻松下载,我们手机上安装了各种各样的应用APP也依旧运行顺畅。模型压缩也是类似的效果,机器学习从理论研究逐渐尝试技术落地,AI工程化也成为趋势,模型压缩作为深度学习模型实现轻量化部署的有效手段,备受关注。
简单来说,模型压缩就是在尽可能不改变模型效果的情况下,减少模型的体积,使得模型有更快的运行速度,帮助减少深度模型端侧部署的资源消耗。
在2020年阿里双十一期间,淘宝直播APP上线的“一猜到底”语音交互游戏中,阿里云机器学习PAI平台的模型压缩技术体现了关键作用,在端智能应用场景实现了端侧智能的应用落地。

“一猜到底”游戏背后的模型压缩技术
淘宝直播APP上线的 “一猜到底”游戏:由当红主播现场推荐商品,粉丝以“语音猜价”形式参与互动。全新的互动形式搭配双十一,上线后带来一波疯狂上涨的流量,对模型性能和工程化能力要求极高。
image.png
图1 淘宝直播“商品价格竞猜游戏”: 1) 在淘宝直播找到“一猜到底”; 2) 首席猜价官吴佳煜; 3) 游戏现场,薇娅直播;

经过阿里多个技术团队打磨,“一猜到底”游戏已经成为端侧落地的成功案例,能够经受住淘宝直播高访问流量的严格考验。语音识别(ASR)技术,在准确率(Low Error Rate)和高实时率(High RTF)都有很好的表现。在此基础上,PAI团队提供了行之有效的模型压缩支持,在帮助压缩模型的同时、保证了语音识别的高准确率,并显著降低了模型在移动端部署时的ROM/RAM/RTF,即参数存储、运行时内存与实时率开销。

PAI模型压缩:混合精度量化技术
模型压缩是PAI云端一体解决方案的重要环节。如图2所示,在移动端智能语音的E2E优化部署链路中,PAI模型压缩技术(混合精度后量化、量化训练、稀疏训练等)起着模型瘦身、复杂度降解的关键作用。
image.png
图2 PAI模型压缩在E2E链路中的关健作用

image.png
图3 SAN-M模型结构: 由特征驱动的Self-Attention、与训练驱动的DFSMN记忆单元相结合,实现全局相关性与局部相关性特征的有效融合

基于PAI团队研发的混合精度量化方法,有效实现了Transformer ASR(SAN-M)模型的离线后量化(PTQ:Post-training Quantization),主要创新点包括:
• 支持端到端Transformer的离线后量化,相比于拆图量化、量化训练等方法,端到端后量化具备快捷、高效的优势,能够帮助用户一键部署量化方案;
• 集成了丰富的后量化策略,为后量化的精度鲁棒性提供了坚实保证;
• 无Label干预的混合精度量化流程,无需提供数据标注,且能准确反映逐层量化的敏感度;

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

PAI模型压缩:集成了丰富的后量化策略
在执行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量化误差。

PAI模型压缩:无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的对比

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

PAI模型压缩简介
离线量化相关的策略(包括PTQ/AMP等),已集成至Blade;并且支持随机稀疏压缩与PTQ叠加使用,例如60%稀疏度时,叠加INT8量化、压缩比可达6.6倍左右;
除了离线后量化之外,在诸如量化训练、网络剪枝、权重稀疏化与模型结构搜索等模型压缩领域,PAI团队也长期坚持耕耘。其中量化训练、稀疏训练与网络剪枝的产品化体验,可参考PAI用户手册。
以量化训练为例,PAI与阿里MNN团队合作提出了Winograd INT8量化与计算加速技术、并发表了合作论文 [5]。在下游迁移阶段,针对带有一维卷积(kernel size>=3)的ASR模型,经过Winograd INT8量化训练,能够有效确保ASR模型的量化精度鲁棒性,并进一步实现了一维卷积在移动端的INT8计算加速。从PAI量化训练、到MNN移动端优化部署,同样构成了完整的量化/优化工具链路。
image.png
图8 从大规模预训练、到量化微调、再到优化部署的工具链路

机器学习PAI平台面向企业客户及开发者,提供轻量化、高性价比的云原生机器学习平台,涵盖交互式建模、拖拽式可视化建模、分布式训练到模型在线部署的全流程覆盖。内置200+成熟算法、图像视觉、音视频、文本等AI领域高质量深度学习预训练模型50+,帮助开发者快速构建AI业务方案,全面提升机器学习工程效率。目前已在游戏、社区、媒体、广告平台的搜索推荐、多媒体内容处理、自动驾驶等多领域商用。全新官网:https://www.aliyun.com/product/bigdata/product/learn

扫码加入PAI钉钉交流群,最新干货资料等你来

image.png

参考文献:
[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.

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

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
4天前
|
机器学习/深度学习 人工智能 大数据
基于联邦学习的数据隐私保护机制在智能模型训练中的应用
【8月更文第15天】随着大数据和人工智能的发展,数据隐私保护成为了亟待解决的问题。传统的集中式机器学习方法需要将数据收集到一个中心服务器进行处理,这不仅增加了数据泄露的风险,还可能触犯相关的法律法规。联邦学习(Federated Learning, FL)作为一种新兴的分布式机器学习框架,允许终端设备直接在本地数据上训练模型,并仅将更新后的模型参数发送给中心服务器汇总,从而在不暴露原始数据的情况下实现模型训练。
16 0
|
2天前
|
机器学习/深度学习 人工智能 算法
解密巴黎奥运会中的阿里云AI技术
2024年巴黎奥运会圆满结束,中国代表团金牌数与美国并列第一,展现了卓越实力。阿里云作为官方云服务合作伙伴,通过先进的AI技术深度融入奥运的各项环节,实现了大规模的云上转播,超越传统卫星转播,为全球观众提供流畅、高清的观赛体验。其中,“子弹时间”回放技术在多个场馆的应用,让观众享受到了电影般的多角度精彩瞬间。此外,8K超高清直播、AI智能解说和通义APP等创新,极大地提升了赛事观赏性和互动性。能耗宝(Energy Expert)的部署则助力实现了赛事的可持续发展目标。巴黎奥运会的成功举办标志着体育赛事正式进入AI时代,开启了体育与科技融合的新篇章。
解密巴黎奥运会中的阿里云AI技术
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--代码生成技术
代码生成技术是人工智能与软件工程交叉领域的一项重要技术,它利用机器学习、自然语言处理和其他AI算法自动编写或辅助编写计算机程序代码。这一技术旨在提高编程效率、降低错误率,并帮助非专业开发者快速实现功能。以下是代码生成技术的概述及其典型应用场景。
15 6
|
4天前
|
弹性计算 API 开发工具
揭秘Python与阿里云API的神秘邂逅!流式处理的魔法之旅,一场颠覆想象的技术盛宴!
【8月更文挑战第15天】在数字世界的广阔舞台上,Python与阿里云API的相遇,就像是一场命中注定的邂逅。它们携手共舞,为我们带来了流式处理的魔法之旅。本文将揭开这场神秘邂逅的面纱,带你领略Python与阿里云API之间的奇妙互动。让我们一起踏上这场颠覆想象的技术盛宴,探索流式处理的无限可能!
21 7
|
1天前
|
机器学习/深度学习 数据采集 人工智能
机器学习在金融领域的应用及其挑战
【8月更文挑战第18天】本文将探讨机器学习技术在金融行业中的运用,以及在实际应用过程中遇到的挑战和问题。我们将从算法选择、数据处理、模型解释性及伦理法规四个方面进行详细讨论,并给出相应的解决建议。
6 1
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇——3D生成技术
在Python中,人工智能(AI)与3D生成技术的结合可以体现在多个方面,比如使用AI算法来优化3D模型的生成、通过机器学习来预测3D模型的属性,或者利用深度学习来生成全新的3D内容。然而,直接通过AI生成完整的3D模型(如从文本描述中生成)仍然是一个活跃的研究领域。 3D生成技术是一种通过计算机程序从二维图像或文本描述自动创建三维模型的过程。这一技术在近年来得到了飞速的发展,不仅为游戏、动画和影视行业带来了革命性的变革,还在虚拟现实、增强现实以及工业设计等多个领域展现出了巨大的应用潜力
7 2
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--游戏生成技术
游戏生成技术,特别是生成式人工智能(Generative Artificial Intelligence, 简称Generative AI),正逐步革新游戏开发的多个层面,从内容创作到体验设计。这些技术主要利用机器学习、深度学习以及程序化内容生成(Procedural Content Generation, PCG)来自动创造游戏内的各种元素,显著提高了开发效率、丰富了游戏内容并增强了玩家体验。以下是生成式AI在游戏开发中的几个关键应用场景概述
6 2
|
2天前
|
Kubernetes 负载均衡 安全
【技术揭秘】阿里云容器服务Ingress高级玩法:如何轻松实现客户端原始IP透传,提升应用安全性与用户体验!
【8月更文挑战第17天】本文介绍如何在阿里云容器服务中配置Ingress以透传客户端原始IP地址。通过Ingress可实现HTTP负载均衡等功能。需在Ingress定义文件中添加特定注解,如`nginx.ingress.kubernetes.io/real-ip-header: X-Real-IP`。创建并应用Ingress配置后,后端服务可通过读取`X-Real-IP`头获取真实IP。此举有助于安全审计及流量分析。
|
2天前
|
机器学习/深度学习 监控 API
基于云计算的机器学习模型部署与优化
【8月更文第17天】随着云计算技术的发展,越来越多的数据科学家和工程师开始使用云平台来部署和优化机器学习模型。本文将介绍如何在主要的云计算平台上部署机器学习模型,并讨论模型优化策略,如模型压缩、超参数调优以及分布式训练。
10 2
|
3天前
|
机器学习/深度学习 JSON API
【Python奇迹】FastAPI框架大显神通:一键部署机器学习模型,让数据预测飞跃至Web舞台,震撼开启智能服务新纪元!
【8月更文挑战第16天】在数据驱动的时代,高效部署机器学习模型至关重要。FastAPI凭借其高性能与灵活性,成为搭建模型API的理想选择。本文详述了从环境准备、模型训练到使用FastAPI部署的全过程。首先,确保安装了Python及相关库(fastapi、uvicorn、scikit-learn)。接着,以线性回归为例,构建了一个预测房价的模型。通过定义FastAPI端点,实现了基于房屋大小预测价格的功能,并介绍了如何运行服务器及测试API。最终,用户可通过HTTP请求获取预测结果,极大地提升了模型的实用性和集成性。
12 1

相关产品

  • 人工智能平台 PAI