作者:益武、小豌、萊茵、熊兮、嘀豆、執真、臨在、穆琢
業務背景
淘寶直播:一猜到底
在阿裡雙十一前夕,淘寶直播App上線了趣味極強的“商品價格競猜遊戲”:由當紅主播現場推薦商品,粉絲以“語音猜價”形式參與互動,好玩、輕松又賺錢。感興趣的同學,可以立馬下載下傳淘寶直播App,參與遊戲體驗,最高赢取1萬元紅利,機不可失、失不再來:
[發]一猜到底,每關現金翻倍[發]
第一關 獎1元
第二關 獎2元
第三關 獎4元
第四關 獎8元
第五關 獎16元
第六關 獎32元
第七關 獎64元
第八關 獎128元
第九關 獎256元
第十關 獎10,000元
參與方式:
第1步 下載下傳【淘.寶.直.播APP】
https://t.cn/A64SVSaN第2步 進入一猜到底

(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優化部署鍊路當中,起着模型瘦身、複雜度降解的關鍵作用。

圖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距離最小化等政策)。

圖4 循環張量探針(Tensor Probe)的使用
內建了豐富的後量化政策
如圖5所示,在執行Transformer模型的逐層量化(Layer-wise Quantization)時,每個網絡層的輸入/輸出張量、以及網絡權重的量化,都會引入量化噪聲,主要包括Round誤差、Clip誤差。

圖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雲端一體的優勢所在。

圖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,為混合精度擇優提供有效基礎;

圖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 | 衆包測試集 | 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所示)。

圖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.