色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

wenet的優(yōu)化

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-18 11:29 ? 次閱讀

wenet概述#

wenet處理流程#

wKgZomTeyZ-ALa7SAAEqdc2qTVM476.png

wav語音經過一系列前處理之后送入encoder,encoder的輸出會給到ctc decoder和attention decoder。其中ctc decoder是深度優(yōu)先的搜索程序,負責搜索出n段候選預測序列,然后ctc的結構與encoder的結果一起送入attention decoder進行預測序列的打分,選出最好的預測序列,輸出結果

模型結構#

encoder#

wKgaomTeyaGANoGsAAK69w7W7co878.png

encoder是12個conformer模塊堆疊

decoder#

wKgZomTeyaKAWDXwAAEnAKQVIqs107.png

decoder基本結構是transformer,先經過字的自注意力再和mel特征進行交叉注意力,wenet的decoder是雙向decoder,有一個預測序列從左到右的打分,還一個從右到左的打分,每個decoder堆疊3個transformer(取決于訓練時的配置文件,也可以是6個)

模型優(yōu)化#

圖優(yōu)化#

結合netron觀察模型圖結構,考慮以下幾個優(yōu)化方向

刪除冗余算子

算子融合

改變算子執(zhí)行順序

Where(MaskedFill)的優(yōu)化#

wKgaomTeyaSAWoIsAAFcCwqRa6c404.png

這段網絡是在做掩碼操作,即輸入一個掩碼 Tensor對數(shù)據(jù)做Mask,第一個Where把不需要的數(shù)據(jù)設置為-inf。經過Softmax之后這些數(shù)據(jù)已經變成了0,但是后面又增加了一個Where,把相同位置再次設置為了0。

wKgZomTeyaWAcfanAACtJEluenk518.png

這段結構在網絡中出現(xiàn)了12次,單Where算子耗時30 ms相當于多了一倍的計算時間,可以在編譯階段使用圖優(yōu)化進行消除,減少模型計算量。

耗時從30ms降低到15ms

MatMul的優(yōu)化#

wKgZomTeyaeAEPc8AAJ5lfAzfvs517.png

1.這段結構在Decoder中出現(xiàn)6次,且屬于計算集中的attention部分。但是C維度在transpose之后只有8,我們的TPU有64個lane,算力沒有完全利用起來

2.有transpose隔斷了layer group,增加了數(shù)據(jù)搬運

優(yōu)化:

1.可以使用hdim_is_batch優(yōu)化,把attention的head放在h維。為了保證網絡變換前后等效,需要在matmul后面新生成一個transpose。

2.生成新的transpose之后,實現(xiàn)masked fill算子、softmax算子的transpose move down的優(yōu)化pattern,使得tranpose的執(zhí)行順序可以放到該段結構結束處,同時與結束處原本有的tranpose做抵消,達到減少數(shù)據(jù)搬運的目的。

3.由于消除了transpose,使得這段網絡可以做到local layer,同時因為把349放到c維度了,又可以充分利用64個lane的計算資源了

wKgZomTeyayAel42AAXTamGxFwg298.png

其余的算子經過transpose move down,可以實現(xiàn)transpose的一路下移,在局部網絡中讓C可以保持349,使得64個lane可以獲得更充分的利用

算子層面優(yōu)化#

Where(MaskedFill)的優(yōu)化#

wKgaomTeya6AWz52AADcT8Oon-k569.png

MaskedFill如果全走Global耗時30ms,即便減少一半的算子數(shù)量還是15ms。而Select算子有l(wèi)ocal的實現(xiàn),同時可以通過參數(shù)配置完成MaskedFill的功能,但不支持廣播。所以在編譯階段加入Tile完成廣播,從而支持Local Layer。

wKgaomTeya-AcNzRAACBcIJMIgQ887.png

但引入了Tile,Tile操作本身耗時3.8ms,代價可接受,后續(xù)可以進一步優(yōu)化

wKgZomTeybCAJk57AAEuRK3GEhE470.png

MaskedFill算子從30ms 減半數(shù)量后到15ms,引入tile之后減少到3.8ms(Tile)+127us(MaskedFill)

后續(xù)考慮使用bdc完成tile操作,完成進一步優(yōu)化

CPU Layer的優(yōu)化#

wKgaomTeybKAPHY9AAG_G_CQhVo143.png

兩個CPU Gather PT操作占用456ms,可以使用dma的Gather操作在TPU實現(xiàn)算子

wKgZomTeybOAIYa6AADikm9Wew4063.png

Gather PT算子從456ms減少到68us

優(yōu)化結果#

WeNet Decoder 耗時
原始模型 611ms
CPU Layer替換 156ms
MaskedFill 減半 141ms
MatMul hdim_is_batch優(yōu)化+Permute Move優(yōu)化+MaskedFill支持Local 71ms


審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10899

    瀏覽量

    212619
  • 模型
    +關注

    關注

    1

    文章

    3294

    瀏覽量

    49037
  • 算子
    +關注

    關注

    0

    文章

    16

    瀏覽量

    7270
收藏 人收藏

    評論

    相關推薦

    UG編程:深入解析UG編程優(yōu)化刀路,收獲巨大#硬聲創(chuàng)作季

    優(yōu)化UGUG編程
    電子學習
    發(fā)布于 :2022年11月18日 20:33:34

    [7.2.1]--b)綜合及優(yōu)化_clip001

    IC設計優(yōu)化
    jf_60701476
    發(fā)布于 :2022年11月26日 23:29:40

    [7.2.1]--b)綜合及優(yōu)化_clip002

    IC設計優(yōu)化
    jf_60701476
    發(fā)布于 :2022年11月26日 23:30:42

    [7.2.1]--b)綜合及優(yōu)化_clip003

    IC設計優(yōu)化
    jf_60701476
    發(fā)布于 :2022年11月26日 23:31:44

    04_異步V值更新優(yōu)化算法實現(xiàn)D(2)#人工智能

    人工智能優(yōu)化
    jf_49750429
    發(fā)布于 :2022年11月28日 02:44:58

    10_QLearning參數(shù)優(yōu)化(1)#人工智能

    人工智能優(yōu)化
    jf_49750429
    發(fā)布于 :2022年11月28日 10:06:34

    優(yōu)化模型與Lindo/Lingo優(yōu)化軟件

    優(yōu)化模型與Lindo/Lingo優(yōu)化軟件 優(yōu)化模型簡介 LINDO公司的主要軟件產品及功能簡介 LINDO軟件的使用簡介 LINGO軟件的使用簡介  建模與求解實例(結合軟件使用
    發(fā)表于 09-15 12:22

    優(yōu)化的度

    優(yōu)化的度  網站優(yōu)化的方法有很多,下面是一等一SEO教程學習網總結了一些內容,分享一下。在我們進行網站優(yōu)化時,總會出現(xiàn)些優(yōu)化過度而導致網站被降權,甚至被K站。那么怎么才能知道自己是否網
    發(fā)表于 11-13 15:21

    使用gcc編譯優(yōu)化與不優(yōu)化問題

    同樣的程序,使用gcc編譯優(yōu)化與不優(yōu)化的結果不一代碼如下:1. #include 2.3. int main()4. {5.int i = 1;6.7.i
    發(fā)表于 09-27 10:33

    MySQL優(yōu)化之查詢性能優(yōu)化之查詢優(yōu)化器的局限性與提示

    MySQL優(yōu)化三:查詢性能優(yōu)化之查詢優(yōu)化器的局限性與提示
    發(fā)表于 06-02 06:34

    什么是內存優(yōu)化?有那些優(yōu)化措施?

    什么是內存優(yōu)化?有那些優(yōu)化措施?
    發(fā)表于 01-14 06:22

    優(yōu)化Unity程序的方法

    優(yōu)化是接受應用程序并使其更有效率的過程。對于圖形應用程序,優(yōu)化通常意味著修改應用程序以使其更快。例如,低幀率的游戲可能會顯得跳躍,這會給人留下不好的印象,并可能使游戲難以玩。您可以使用優(yōu)化來提高游戲
    發(fā)表于 08-02 18:52

    軟件優(yōu)化指南

    優(yōu)化對不同的人意味著不同的事情。 在某些情況下,您可能只是希望代碼盡可能快地運行。 但是,如果您正在為嵌入式系統(tǒng)編寫代碼,您可能更喜歡優(yōu)化代碼密度以減少應用程序的內存占用。 通常,這些優(yōu)化約束相互
    發(fā)表于 08-28 06:41

    優(yōu)化模型與LINDO/LINGO優(yōu)化軟件

    優(yōu)化模型與LINDO/LINGO優(yōu)化軟件: 優(yōu)化模型簡介LINDO公司的主要軟件產品及功能簡介LINDO軟件的使用簡介LINGO軟件的使用簡介建模與求解實例(結合軟件使用)
    發(fā)表于 09-24 09:04 ?23次下載

    利用NVIDIA Triton推理服務器加速語音識別的速度

    網易互娛 AI Lab 的研發(fā)人員,基于 Wenet 語音識別工具進行優(yōu)化和創(chuàng)新,利用 NVIDIA Triton 推理服務器的 GPU Batch Inference 機制加速了語音識別的速度,并且降低了成本。
    的頭像 發(fā)表于 05-13 10:40 ?2032次閱讀
    主站蜘蛛池模板: 精品九九视频| 美女脱衣服搞鸡| 亚洲国产韩国欧美在线不卡| 91传媒蜜桃香蕉在线观看| 精品国产中文字幕在线视频| 玄幻全黄h全肉后宫| 国产精品A久久久久久久久| 久草在线新是免费视频| 亚洲精品动漫免费二区| 国内精品伊人久久久影院| 亚欧日韩毛片在线看免费网站| 国产看午夜精品理论片| 消息称老熟妇乱视频一区二区 | 青柠在线视频| jk白丝袜美女被男人桶| 日本美女论坛| 被免费网站在线视频| 日本国产黄色片| 第一次破女初国产美女| 无码一卡二卡三卡四卡| 国模玲玲自拍337p| 在线播放午夜理论片| 旧里番6080在线观看| 99久久国产露脸精品国产吴梦梦 | yellow视频免费观看| 色女仆影院| acg全彩无遮挡口工漫画网址| 男人吃奶摸下弄进去好爽| 草莓视频在线观看完整高清免费| 日韩欧美一区二区三区在线视频| 国产精品禁18久久久夂久| 亚洲免费成人| 男人的天堂MV在线视频免费观看| 成人精品视频在线观看| 亚洲 自拍 清纯 综合图区| 久草色视频| qvod在线电影| 亚洲 欧洲 国产 日产 综合| 久久日韩精品无码一区| 二级毛片免费观看全程| 亚洲中文字幕无码一久久区|