国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

vivo攜手昆侖芯、wenet助力提升語音識別效果與性能,共建開源生態(tài)
2022-11-29   網絡安全和運維

語音識別是AI領域的一項重要基礎服務,同樣也是vivo AI體系中舉足輕重的能力,是Jovi輸入法、Jovi語音助手等應用的基石。打造高準確率、高性能的語音識別引擎,才能給vivo億級的語音用戶帶來良好的體驗。基于wenet端到端語音識別工具,vivo結合自身業(yè)務場景進行深度優(yōu)化,成功研發(fā)離線和流式識別引擎,支撐vivo語音業(yè)務的快速發(fā)展。

 

IMG_256

 

隨著用戶量的快速增?,語音識別性能問題凸顯,CPU推理方案在峰值場景TP99延時較高,且難以滿足高算力的業(yè)務場景。為確保良好的用戶體驗、進一步提升產品及服務質量,性能優(yōu)化、降本增效勢在必行。

 

vivo AI工程中心在模型推理加速積累了多年經驗,為此自研一套語音識別流式推理引擎。引擎支持動態(tài)batching、顯存池、數據分桶排序等特性,同時支持CPU和GPU,并在GPU上取得了不錯的加速效果。

 

昆侖芯科技深耕AI加速領域十余年,專注打造擁有強大通用性、易用性和高性能的通用人工智能芯片,并持續(xù)精進在芯片架構、軟件棧、工程化系統層級等方面的技術實力。目前,昆侖芯科技已實現兩代通用AI芯片產品的量產及落地應用,通過用算力賦能不同場景中的 AI 應用,驅動千行百業(yè)的智能化轉型。

 

為進一步降本增效以及提升用戶體驗,vivo AI工程中心同步啟動AI多元算力項目,聯合昆侖芯科技,在語音識別場景首先展開研發(fā)共建,深入合作,并已取得階段性突破進展。

 

vivo自研語音識別流式推理引擎

 

整個引擎包括四部分:

1.wenet解碼器,包括前端處理(特征、VAD等)->encoder->語言模型(wfst)->decoder流程;

2.數據調度,動態(tài)batching、分桶排序等;

3..Runtime適配層,抽象模型推理接口,便于適配不同推理后端;

4.Runtime層,后端推理層包括onnxruntime、GPU、昆侖芯的XpuRT等。

 

IMG_257

 

自研引擎特點:

 

支持多batch流式請求,多batch能充分發(fā)揮硬件計算性能;

動態(tài)batchting,根據實際請求會在一定時間自動組裝batch,便于提升引擎的并發(fā)吞吐能力;

分桶排序,減少多batch的無效padding,減少無效計算量;

顯存池,高并發(fā)下流式識別緩存會頻繁申請和釋放,通過顯存池優(yōu)化了這部分開銷,提高性能。

 

另外針對語言模型(wfst)優(yōu)化:

語言模型的lattice-faster-decoder過程有千萬/秒的小對象內存申請(ForwardLink和BackpointerToken),通過將小對象合并大對象的池化方案,一次wfst的search從14ms減少到5ms;

線程模型優(yōu)化。默認的線程模型是一個會話一個pthread線程,在GPU方案中,每秒數千線程創(chuàng)建系統負載較大,通過將pthread線程優(yōu)化為bthread;

對象復用。將AsrDecoder池化復用,減少內存的動態(tài)申請,cpu性能提升27%。

 

昆侖芯高性能推理庫方案

AI推理引擎面臨的最大技術挑戰(zhàn)——同時滿足業(yè)務快速靈活迭代和硬件高性能。面對該挑戰(zhàn),昆侖芯科技團隊為vivo提供了兩種解決方案:基于圖編譯引擎方案和基于高性能推理庫方案。綜合業(yè)務和性能的雙重考量,vivo團隊最終選擇了高性能推理庫方案。該方案基于昆侖芯API高性能算子庫自研模型推理大算子,主要由Encocer和Decoder兩個大算子組成。

 

高性能推理庫特點:

支持動態(tài)shape,性能與靜態(tài)shape無異,相比”靜態(tài)模擬動態(tài)“可節(jié)省大量寶貴的顯存資源;

支持多batch流式推理,解決流式推理一大難題,特別是cache管理;

深度圖優(yōu)化,使用了昆侖芯豐富的圖融合優(yōu)化,如:ffn_kernel_fusion、attention_fusion等,可變長優(yōu)化技術等;

不同量化策略,FP16/INT8動態(tài)靜態(tài)量化以及混合量化;

定制算子融合,如ConforermEncoder的RelPos相關計算可以融合為rel_pos_fusion_kernel等;

自動化工具,模型一鍵導入等。

 

IMG_258

 

性能測試

對比不同后端的性能數據onnxruntime(cpu)、165w GPU、昆侖芯XPU。

 

硬件配置:

IMG_259

IMG_260

IMG_261

IMG_262

IMG_263

 

整體來看,在FP16量化后不同后端均達到精度無損,昆侖芯高性能推理庫方案單卡并發(fā)達到了1400路,相比CPU的350路的最大并發(fā),性能提升約4倍,首字和尾字耗時也大大降低,降本增效明顯。單機單卡的測試外,也進行了單機4卡的壓測,單機4卡GPU和4卡R200均達到了4000路并發(fā)。

 

相對主流165w GPU方案,昆侖芯語音識別高性能推理庫方案通過構建大算子的方式也為業(yè)務根據自身特性做針對性融合、量化、裁剪提供了更加便捷、更加有用的工具。

 

昆侖芯在wenet中開源XPU支持

 

wenet是國內最大的語音開源社區(qū),致力于推動語音技術落地, “共創(chuàng)共贏”。昆侖芯是wenet中支持的首款新型異構AI推理芯片,基于昆侖芯第二代推理卡模型推理采用語音高性能推理庫的非流式解碼方案,目前源碼已合入到wenet主線。第二階段,昆侖芯、vivo、wenet社區(qū)三方聯手,將共同推出圖引擎和高性能庫兩種后端推理,支持多batch流式解碼,模型優(yōu)化到部署端到端的解決方案,為客戶業(yè)務落地持續(xù)賦能。

 

未來,昆侖芯將持續(xù)發(fā)揮在推理生態(tài)的領先優(yōu)勢,助力語音業(yè)務用戶體驗不斷優(yōu)化,同時也將與社區(qū)緊密合作,協力共建wenet國產生態(tài)。

熱詞搜索:vivo

上一篇:終極移動設備:邊緣連接的汽車
下一篇:最后一頁

分享到: 收藏
主站蜘蛛池模板: 揭东县| 庐江县| 大渡口区| 崇仁县| 封开县| 河池市| 芦山县| 黎城县| 济源市| 怀安县| 德保县| 岳阳市| 开平市| 龙江县| 竹山县| 萨迦县| 赤壁市| 恩平市| 乌恰县| 临猗县| 汶川县| 灌阳县| 万盛区| 濉溪县| 云霄县| 昆山市| 万年县| 林周县| 广东省| 澄迈县| 永川市| 延吉市| 遵化市| 丁青县| 潜江市| 漯河市| 施甸县| 康定县| 金阳县| 金门县| 内乡县|