在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

重塑翻譯與識(shí)別技術(shù):開源語音識(shí)別模型Whisper的編譯優(yōu)化與部署

算能開發(fā)者社區(qū) ? 2024-01-06 08:33 ? 次閱讀

模型介紹

Whisper模型是一個(gè)由OpenAI團(tuán)隊(duì)開發(fā)的通用語音識(shí)別模型。它的訓(xùn)練基于大量不同的音頻數(shù)據(jù)集,是一個(gè)多任務(wù)模型,可以執(zhí)行語音識(shí)別、語言翻譯、語言識(shí)別。下面是模型的整體架構(gòu):

31bd2894-ac2b-11ee-aa22-92fbcf53809c.png

使用方法如下:

31d4587a-ac2b-11ee-aa22-92fbcf53809c.png

通過修改TPU-MLIR編譯器代碼,可以對(duì)Whisper模型性能進(jìn)行深度優(yōu)化,使得模型在SOPHON BM1684X處理器上運(yùn)行時(shí)間減少到原來的一半,本篇文章將帶領(lǐng)大家對(duì)Whisper模型進(jìn)行編譯與優(yōu)化,并完成實(shí)際應(yīng)用的部署

優(yōu)化方法

本次模型優(yōu)化很具有典型性,不僅適用當(dāng)前模型,對(duì)其他模型也有幫助,下面對(duì)相關(guān)的優(yōu)化方法進(jìn)行介紹

Tile算子轉(zhuǎn)廣播

模型轉(zhuǎn)換完成后,觀察Profile時(shí)序圖和對(duì)應(yīng)的MLIR文件,可以看到MatMulOp前面有兩個(gè)Tile操作,通過復(fù)制數(shù)據(jù)來使數(shù)據(jù)shape對(duì)齊,并且耗時(shí)占用十分明顯(如紅框所示),實(shí)際上完全可以利用算子的廣播功能實(shí)現(xiàn),解決方法是使MatMulOp在hdim_is_batch的情況下支持n維度的廣播 (形如:5x1x8x64@1x1500x8x64 )。

31e978ea-ac2b-11ee-aa22-92fbcf53809c.png31f9b840-ac2b-11ee-aa22-92fbcf53809c.png

KVCache動(dòng)態(tài)轉(zhuǎn)靜態(tài)

由于模型結(jié)構(gòu)是基于Transformer模型結(jié)構(gòu)構(gòu)建的,KVCache的使用是比較常見的,對(duì)于使用KVCache的模型,我們的做法是,將KVCache作為模型的輸入和輸出。但在推理過程中KVCache會(huì)不斷增長(zhǎng),呈現(xiàn)一定的動(dòng)態(tài)性,這就使得有一些數(shù)據(jù)需要PCIe重復(fù)搬運(yùn);內(nèi)存管理比較復(fù)雜。通過padding將動(dòng)態(tài)模型轉(zhuǎn)換為輸入和輸出為固定大小的靜態(tài)模型,并且在內(nèi)部利用Slice和Concat算子自動(dòng)完成數(shù)據(jù)拼接,減少外部?jī)?nèi)存處理復(fù)雜性,而且通過優(yōu)化runtime過程避免多余的PCIe搬運(yùn)。

3214dbac-ac2b-11ee-aa22-92fbcf53809c.png

Permute算子消除

完成上面兩步優(yōu)化后,通過觀察Profile時(shí)序圖和分析final.MLIR文件發(fā)現(xiàn),這一部分的網(wǎng)絡(luò)被分為了兩個(gè)LayerGroup,之間還存在許多Global Layer,這些都會(huì)導(dǎo)致額外的數(shù)據(jù)搬運(yùn)。追溯這一現(xiàn)象的原因,很大可能是由于Slice、Concat和Permute三種操作的存在阻斷了LayerGroup的劃分。而且Permute、Concat和Slice的GDMA操作帶寬利用率低,浪費(fèi)了較多時(shí)間。下面從這三個(gè)算子入手進(jìn)行優(yōu)化。

322c3130-ac2b-11ee-aa22-92fbcf53809c.png323ffbb6-ac2b-11ee-aa22-92fbcf53809c.png

在Transformer類的模型里,由于數(shù)據(jù)需要維度翻轉(zhuǎn)整理,造成模型里有很多的Permute操作,但是通過算子的實(shí)現(xiàn),一些運(yùn)行前后的Permute是可以相互抵消的。如下圖所示,MatMul算子輸入和輸出的Permut是可以消除的,主要步驟是將輸入的Permute算子移動(dòng)到輸出,MatMul利用TPU指令的特性,實(shí)現(xiàn)轉(zhuǎn)置的矩陣乘法,并在輸出處與原來的Permute抵消掉。最終結(jié)果下圖右側(cè)所示。

325442ba-ac2b-11ee-aa22-92fbcf53809c.png

Slice+Concat算子融合

Slice和Concat本質(zhì)上是將已經(jīng)計(jì)算好但放置位置錯(cuò)誤的結(jié)果進(jìn)行截取或搬運(yùn)。如果我們能提前知道結(jié)果應(yīng)該放到哪里,就可以完全去掉這兩種操作。下面是一個(gè)典型的Slice+Concat的Pattern。通過分析右圖,可以看到為了將數(shù)據(jù)排到前面,Slice將Load后的數(shù)據(jù)進(jìn)行搬運(yùn),之后Concat將MatMul的結(jié)果搬運(yùn)到Slice后數(shù)據(jù)后面。其實(shí)這兩次搬運(yùn)如果提前知道了放置位置,是可以去掉的。

326bcf0c-ac2b-11ee-aa22-92fbcf53809c.png

下圖示意了簡(jiǎn)單的優(yōu)化方法,在Load操作中引入一個(gè)Offset參數(shù),表示數(shù)據(jù)在Global中的偏移,相當(dāng)于在Load時(shí)直接做Slice, 減少了重復(fù)數(shù)據(jù)搬運(yùn),另外直接將Concat的輸出地址分配給Load,將數(shù)據(jù)直接寫在Concat的輸出地址,省去Concat的GDMA搬運(yùn)時(shí)間。

327efdca-ac2b-11ee-aa22-92fbcf53809c.png

最終效果如下:

32917c0c-ac2b-11ee-aa22-92fbcf53809c.png

可以對(duì)比下優(yōu)化前后的final.MLIR文件

323ffbb6-ac2b-11ee-aa22-92fbcf53809c.png32aa3abc-ac2b-11ee-aa22-92fbcf53809c.png

比較上面兩圖,可以看到Concat和Slice, Permute大部分都去掉了。從下面的Profile也可以看出明顯的提升:

32c3c90a-ac2b-11ee-aa22-92fbcf53809c.png

優(yōu)化結(jié)果

經(jīng)過上述優(yōu)化,模型的運(yùn)行時(shí)間由原來的23.143ms變?yōu)?3.589ms。為方便定量分析,下面提供了優(yōu)化前后的算子性能統(tǒng)計(jì)結(jié)果。

優(yōu)化前性能統(tǒng)計(jì)

32d66448-ac2b-11ee-aa22-92fbcf53809c.png

優(yōu)化后性能統(tǒng)計(jì)

32e611fe-ac2b-11ee-aa22-92fbcf53809c.png

部署代碼

部署代碼目前已經(jīng)開源(https://github.com/JKay0327/whisper-TPU_pyd)。本W(wǎng)hisper應(yīng)用整體是由多個(gè)環(huán)節(jié)串聯(lián)起來的,包括前處理、Encoder、Language Detect Decoder、以及主循環(huán)中的Decoder迭代過程。上面優(yōu)化的主要是針對(duì)主循環(huán)中的Decoder模型進(jìn)行的。具體運(yùn)行過程如下圖所示。

32fe7ae6-ac2b-11ee-aa22-92fbcf53809c.png

使用方法如下:330f722e-ac2b-11ee-aa22-92fbcf53809c.png

下面是實(shí)際的運(yùn)行結(jié)果展示:3321113c-ac2b-11ee-aa22-92fbcf53809c.png

結(jié)論

本文是對(duì)在Whisper模型應(yīng)用過程中的總結(jié),說明了在模型優(yōu)化過程中采用的各種思路和方法,最終將模型的性能翻倍。Whisper模型是一個(gè)很有價(jià)值的應(yīng)用,可以實(shí)現(xiàn)各種語音任務(wù),期待大家借助算能產(chǎn)品進(jìn)行更多功能的開發(fā)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 語音識(shí)別
    +關(guān)注

    關(guān)注

    39

    文章

    1769

    瀏覽量

    113610
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3448

    瀏覽量

    49706
  • 音頻數(shù)據(jù)
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    10049
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Vgg16模型無法使用模型優(yōu)化重塑怎么解決?

    Vgg16 模型無法使用模型優(yōu)化重塑
    發(fā)表于 03-06 06:29

    基于labview的語音識(shí)別

    處理過程基本上是一致的。目前主流的語音識(shí)別技術(shù)是基于統(tǒng)計(jì)模式識(shí)別的基本理論。一個(gè)完整的語音識(shí)別
    發(fā)表于 03-10 22:00

    阿里開源自研語音識(shí)別模型DFSMN使用技巧指南

    重磅!阿里開源自研語音識(shí)別模型DFSMN,準(zhǔn)確率高達(dá)9604%
    發(fā)表于 09-16 06:53

    語音識(shí)別的現(xiàn)狀如何?

    語音識(shí)別技術(shù)的最重大突破是隱含馬爾科夫模型Hidden Markov Model的應(yīng)用。從Baum提出相關(guān)數(shù)學(xué)推理,經(jīng)過Labiner等人的研究,卡內(nèi)基梅隆大學(xué)的李開復(fù)最終實(shí)現(xiàn)了第一個(gè)
    發(fā)表于 10-08 14:29

    【HarmonyOS HiSpark AI Camera】基于圖像的手語識(shí)別機(jī)器人系統(tǒng)

    端微量部署優(yōu)化,實(shí)現(xiàn)脫離電腦云,離線的情況下便捷的識(shí)別手語圖像輸入。⑤開源分享。預(yù)計(jì)成果①目前已經(jīng)完成神經(jīng)網(wǎng)絡(luò)部分權(quán)重訓(xùn)練,根據(jù)OpenPose人體姿態(tài)
    發(fā)表于 09-25 10:11

    離線語音識(shí)別及控制是怎樣的技術(shù)

    信號(hào)轉(zhuǎn)化為文本或語義結(jié)果。  與傳統(tǒng)的云端語音識(shí)別相比,離線語音識(shí)別的工作原理是將語音識(shí)別
    發(fā)表于 11-24 17:41

    語音識(shí)別技術(shù),語音識(shí)別技術(shù)是什么意思

    語音識(shí)別技術(shù),語音識(shí)別技術(shù)是什么意思  語音
    發(fā)表于 03-06 11:16 ?2895次閱讀

    語音識(shí)別技術(shù)的發(fā)展歷程,語音識(shí)別是如何工作的?語音識(shí)別資料概述

    說到語音識(shí)別,大家熟悉的可能是最近十年里才出現(xiàn)的微信語音轉(zhuǎn)文字,或者語音實(shí)時(shí)記錄和翻譯。但其實(shí)語音
    的頭像 發(fā)表于 09-01 10:48 ?1.1w次閱讀

    語音識(shí)別技術(shù)的應(yīng)用及優(yōu)化

    一、引言 語音識(shí)別技術(shù)是一種能夠讓計(jì)算機(jī)“聽懂”人類語言的技術(shù)。隨著科技的不斷發(fā)展,語音識(shí)別
    的頭像 發(fā)表于 10-10 17:26 ?2440次閱讀

    語音識(shí)別技術(shù)優(yōu)化與發(fā)展趨勢(shì)

    模型優(yōu)化:針對(duì)模型結(jié)構(gòu)的優(yōu)化是提高語音識(shí)別技術(shù)的重要
    的頭像 發(fā)表于 10-12 18:33 ?1042次閱讀

    語音識(shí)別技術(shù)在移動(dòng)設(shè)備上的應(yīng)用與優(yōu)化

    隨著移動(dòng)設(shè)備的普及和人工智能技術(shù)的發(fā)展,語音識(shí)別技術(shù)在移動(dòng)設(shè)備上得到了廣泛應(yīng)用。本文將探討語音識(shí)別
    的頭像 發(fā)表于 10-25 11:10 ?939次閱讀

    基于深度學(xué)習(xí)的情感語音識(shí)別模型優(yōu)化策略

    基于深度學(xué)習(xí)的情感語音識(shí)別模型優(yōu)化策略,包括數(shù)據(jù)預(yù)處理、模型結(jié)構(gòu)優(yōu)化、損失函數(shù)改進(jìn)、訓(xùn)練策略調(diào)
    的頭像 發(fā)表于 11-09 16:34 ?1039次閱讀

    情感語音識(shí)別技術(shù)前沿與未來趨勢(shì)

    前沿 深度學(xué)習(xí)模型的持續(xù)優(yōu)化:隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,情感語音識(shí)別技術(shù)也在持續(xù)
    的頭像 發(fā)表于 11-28 18:35 ?797次閱讀

    語音識(shí)別技術(shù)的應(yīng)用與發(fā)展

    體驗(yàn)。 語音識(shí)別技術(shù)的原理 語音識(shí)別技術(shù)的核心在于將聲波信號(hào)轉(zhuǎn)換為可理解的文本信息。這一過程通常
    的頭像 發(fā)表于 11-26 09:20 ?1298次閱讀

    用英特爾CPU及GPU運(yùn)行OpenAI-whisper模型語音識(shí)別

    作者: 金立彥 介紹 Whisper 作為一款卓越的自動(dòng)語音識(shí)別(ASR)系統(tǒng),依托海量且多元的監(jiān)督數(shù)據(jù)完成訓(xùn)練,其數(shù)據(jù)規(guī)模高達(dá) 680,000 小時(shí),涵蓋多種語言及豐富多樣的任務(wù)類型,廣泛采擷自
    的頭像 發(fā)表于 12-03 10:14 ?864次閱讀
    用英特爾CPU及GPU運(yùn)行OpenAI-<b class='flag-5'>whisper</b><b class='flag-5'>模型</b><b class='flag-5'>語音</b><b class='flag-5'>識(shí)別</b>
    主站蜘蛛池模板: 国产精品久久久久久久午夜片 | 91视频啪啪 | 久久99精品久久久久久牛牛影视 | 51xtv成人影院 | 天天操天天插天天射 | 国产色爽女小说免费看 | 免看一级a毛片一片成人不卡 | 视频一本大道香蕉久在线播放 | 亚洲va中文字幕无码 | 欲色影院 | 欧美.亚洲.日本一区二区三区 | 四虎永久在线精品国产 | 国产综合在线观看视频 | 999毛片免费观看 | 日本特级黄色录像 | 亚洲欧美在线一区 | 操香蕉| 色噜噜狠狠成人网 | 亚洲精品精品一区 | 亚洲国产人久久久成人精品网站 | 欧美三级黄视频 | 国产黄色a三级三级三级 | 天天看片网站 | 国产成在线人视频免费视频 | 91日本视频 | 好男人社区www在线观看 | 美女被日出白浆 | 免费在线观看污视频 | 宅男午夜| 成人在色线视频在线观看免费大全 | 国产高清免费在线观看 | 乱j伦小说在线阅读 | 狠狠躁夜夜躁人人爽天天段 | 日韩加勒比在线 | 免费a网站 | 久久天天躁狠狠躁夜夜躁综合 | 99久久综合给久久精品 | 色综合激情 | 国产你懂的在线观看 | 久久狠狠干 | 伊人成人在线观看 |