自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于Transformer的高效、低延時(shí)、流式語(yǔ)音識(shí)別模型

人工智能 語(yǔ)音識(shí)別
微軟 Azure 語(yǔ)音團(tuán)隊(duì)與微軟亞洲研究院的研究員們一起提出了一套結(jié)合 Transformer 家族的編碼器和流式 Transducer 框架的解決方案,并提出了 Mask is all you need 的方法對(duì)模型進(jìn)行快速訓(xùn)練以及解碼,讓 Transformer 模型能夠在普通的計(jì)算設(shè)備上進(jìn)行快速的語(yǔ)音識(shí)別。

從場(chǎng)景上,語(yǔ)音識(shí)別可以分為流式語(yǔ)音識(shí)別和非流式語(yǔ)音識(shí)別。非流式語(yǔ)音識(shí)別(離線識(shí)別)是指模型在用戶說(shuō)完一句話或一段話之后再進(jìn)行識(shí)別,而流式語(yǔ)音識(shí)別則是指模型在用戶還在說(shuō)話的時(shí)候便同步進(jìn)行語(yǔ)音識(shí)別。流式語(yǔ)音識(shí)別因?yàn)槠溲訒r(shí)低的特點(diǎn),在工業(yè)界中有著廣泛的應(yīng)用,例如聽(tīng)寫(xiě)轉(zhuǎn)錄等。 

Transformer流式語(yǔ)音識(shí)別挑戰(zhàn)

目前,Transformer 模型雖然在離線場(chǎng)景下可以進(jìn)行準(zhǔn)確的語(yǔ)音識(shí)別,但在流式語(yǔ)音識(shí)別中卻遭遇了兩個(gè)致命的問(wèn)題: 

1)計(jì)算復(fù)雜度和內(nèi)存儲(chǔ)存開(kāi)銷會(huì)隨著語(yǔ)音時(shí)長(zhǎng)的增加而變大。 

由于 Transformer 使用自注意力模型時(shí)會(huì)將所有的歷史信息進(jìn)行考慮,因此導(dǎo)致了存儲(chǔ)和計(jì)算的復(fù)雜度會(huì)隨著語(yǔ)音時(shí)長(zhǎng)線性增加。而流式語(yǔ)音識(shí)別往往本身就有很長(zhǎng)的語(yǔ)音輸入,所以原生的 Transformer 很難應(yīng)用于流式語(yǔ)音識(shí)別之中。

圖1:流式語(yǔ)音識(shí)別 Transformer 自注意力示意圖

2)Transformer 模型由于層數(shù)過(guò)多會(huì)導(dǎo)致未來(lái)窗口大?。╨ookahead window)傳遞。 

如下圖所示,Transformer 模型如果每層往后看一幀,那么最終的向前看(lookahead)會(huì)隨著 Transformer 層數(shù)的增加而累積。例如,一個(gè)18層的Transformer,最終會(huì)積累18幀的延時(shí),這將在實(shí)際應(yīng)用中帶來(lái)很大的延時(shí)問(wèn)題,使得語(yǔ)音識(shí)別反應(yīng)速度變慢,用戶體驗(yàn)不佳。

圖2:Transformer 的未來(lái)窗口隨層數(shù)而增加

基于塊和基于記憶的解決方案

為了解決上述 Transformer 模型在流式語(yǔ)音識(shí)別中的問(wèn)題,科研人員提出了基于塊(chunk)和基于記憶(memory)的兩種解決方案。 

1) 基于塊(chunk)的解決方案 

第一種方案為基于塊的解決方案,如下圖所示,其中虛線為塊的分隔符。其主體思想是把相鄰幀變成一個(gè)塊,之后根據(jù)塊進(jìn)行處理。這種方法的優(yōu)點(diǎn)是可以快速地進(jìn)行訓(xùn)練和解碼,但由于塊之間沒(méi)有聯(lián)系,所以導(dǎo)致模型準(zhǔn)確率不佳。

圖3:基于塊的流式語(yǔ)音識(shí)別解決方案

2) 基于記憶(memory)的解決方案 

基于記憶的解決方案的主體思想則是在塊的基礎(chǔ)上引入記憶,讓不同塊之間可以聯(lián)系起來(lái)。然而,此方法會(huì)破壞訓(xùn)練中的非自循環(huán)機(jī)制,使得模型訓(xùn)練變慢。

圖4:基于記憶的流式語(yǔ)音識(shí)別解決方案

工業(yè)界中往往有著大量的訓(xùn)練數(shù)據(jù),基于記憶的解決方案會(huì)讓模型訓(xùn)練開(kāi)銷增大。這就促使研究人員需要去尋找可以平衡準(zhǔn)確率、訓(xùn)練速度和測(cè)試速度的方案。 

快速訓(xùn)練和解碼,Mask is all you need

針對(duì)上述問(wèn)題,微軟的研究員們提出了一種快速進(jìn)行訓(xùn)練和解碼的方法。該方法十分簡(jiǎn)單,只需要一個(gè)掩碼矩陣便可以讓一個(gè)非流的 Transformer 變成流的 Transformer。 

下圖為非流和0延時(shí)的掩碼矩陣,其為一個(gè)全1矩陣,或者一個(gè)下三角陣。

圖5:離線語(yǔ)音識(shí)別編碼器掩碼矩陣

圖6:0延時(shí)的流式語(yǔ)音識(shí)別編碼器掩碼矩陣

研究員們希望將基于塊的方法中的不同塊連接起來(lái),并保持 Transformer 并行訓(xùn)練的特點(diǎn)。為了達(dá)到這個(gè)目的,研究員們提出了一種基于塊的流式 Transformer,具體算法如下: 

首先,在當(dāng)前幀左側(cè),讓每一層的每一幀分別向前看 n 幀,這樣隨著層數(shù)的疊加,Transformer 對(duì)歷史的視野可以積累。如果有 m 層,則可以看到歷史的 n*m 幀。雖然看到了額外的 n*m 幀,但這些幀并不會(huì)拖慢解碼的時(shí)間,因?yàn)樗鼈兊谋硎緯?huì)在歷史計(jì)算時(shí)計(jì)算好,并不會(huì)在當(dāng)前塊進(jìn)行重復(fù)計(jì)算。與解碼時(shí)間相關(guān)的,只有每一層可以看到幀的數(shù)目。 

因?yàn)橄M磥?lái)的信息延時(shí)較小,所以要避免層數(shù)對(duì)視野的累積效應(yīng)。為了達(dá)到這個(gè)目的,可以讓每一個(gè)塊最右邊的幀沒(méi)有任何對(duì)未來(lái)的視野,而塊內(nèi)的幀可以互相看到,這樣便可以阻止延時(shí)隨著層數(shù)而增加。 

最后,在每個(gè)塊之間讓不同幀都可以相互看到,這樣平均延時(shí)即塊長(zhǎng)度的二分之一。 

此方法可以讓 Transformer 保持并行訓(xùn)練的優(yōu)勢(shì),快速進(jìn)行訓(xùn)練,其得到的掩碼矩陣如下。

圖7:所提出方法的編碼器掩碼矩陣

在解碼過(guò)程中,解碼時(shí)間主要由塊的大小而決定。將之前的 key 和 value 進(jìn)行緩存,這樣可以避免重復(fù)計(jì)算,以加速解碼。該方法的公式如下,歷史的 key 和 value(標(biāo)紅)在進(jìn)行注意力權(quán)重(attention weight)計(jì)算中被緩存。

實(shí)驗(yàn)

數(shù)據(jù)集與模型設(shè)置 

研究員們的實(shí)驗(yàn)在微軟內(nèi)部進(jìn)行了6.5萬(wàn)小時(shí)以上的訓(xùn)練,并在微軟內(nèi)部約180萬(wàn)詞的測(cè)試集上進(jìn)行了測(cè)試。實(shí)驗(yàn)使用了32個(gè) GPU,以混合精度的方式訓(xùn)練了約兩天可以使模型收斂,并且使用 torchjit 進(jìn)行測(cè)速。研究員們使用 Transducer 框架實(shí)現(xiàn)語(yǔ)音識(shí)別流式識(shí)別,實(shí)驗(yàn)對(duì)比了 Transformer Transducer (T-T)、Conformer Transducer (C-T)以及 RNN Transducer(RNN-T),其中 Transformer 和 Conformer 的編碼部分使用了18層,每層 hidden state(隱藏狀態(tài))= 512的參數(shù)量。而 Transducer 中的預(yù)測(cè)網(wǎng)絡(luò)(predictor network)則使用了 LSTM 網(wǎng)絡(luò)結(jié)構(gòu),并包含兩層,每層 hidden state = 1024。RNN-T 也與其大小相似。 

低延時(shí)解碼效果

表1:低延時(shí)解碼效果

從表1可以看到:1)在低延時(shí)的情況下,T-T 和 C-T 會(huì)比 RNN-T 消除10% 的詞錯(cuò)率( Word Error Rate,WER);2)如果每層向左看60幀(1.8s),它和看全部歷史的結(jié)果相比,性能損失不大,約1%左右;3)然而 T-T 的速度卻比 RNN-T 慢了一些,在四線程的情況下 Transformer 速度比 RNN 慢了3倍左右。這個(gè)問(wèn)題可以嘗試?yán)门╞atch)的方法來(lái)解決,即把相鄰的幾幀一起進(jìn)行解碼,再利用 Transformer 的并行能力,加速解碼。

表2:Transformer 的實(shí)時(shí)率

表2是根據(jù)批(batch)中幀的數(shù)目的不同,所對(duì)應(yīng)的不同的 Transformer 的實(shí)時(shí)率??梢钥吹皆趦蓭黄鸾獯a時(shí),Transformer 就已經(jīng)達(dá)到了 RTF<1,而在5幀一起時(shí),RTF<5。據(jù)此可以得出結(jié)論,在犧牲很少的延時(shí)的情況下(2幀約為 40ms),T-T 可以不做量化便可在實(shí)際場(chǎng)景中應(yīng)用。 

低延時(shí)解碼效果

表3:低延時(shí)解碼效果

而在低延時(shí)的情況下,Transformer Transducer 家族的優(yōu)勢(shì)更是得以突顯。對(duì)比傳統(tǒng)混合(hybrid)模型,T-T有著13%的 WER改 善,對(duì)比流式的 S2S 模型(參數(shù)量一致),Transducer 模型往往會(huì)達(dá)到更好的效果(對(duì)比 RNN S2S 和 Trans S2S)。而在同樣的 Transducer 框架下,Transformer 模型會(huì)比 RNN 模型達(dá)到更好的效果,并且速度上也有顯著的優(yōu)勢(shì)。令人驚訝的是,通過(guò)上述方法,目前 T-T 的離線和流式的距離不足10%,這就證明了研究員們提出的流式方法的有效性,可以最大程度避免精度的損失。 

8比特量化

表4:8比特量化結(jié)果

經(jīng)過(guò)8比特量化,可以得到更快的 Transducer 模型。在單線程的情況下,Transformer 可以提升一倍的速度,不過(guò),RNN-T 可以提升約4倍的速度。其中,Transformer 速度提升有限的原因是,SoftMax 和 Layer Norm 等操作,難以通過(guò)8比特進(jìn)行加速。 

結(jié)語(yǔ)

在本文中,微軟 Azure 語(yǔ)音團(tuán)隊(duì)與微軟亞洲研究院的研究員們一起提出了一套結(jié)合 Transformer 家族的編碼器和流式 Transducer 框架的流式語(yǔ)音識(shí)別方案解決方案。該方案利用 Mask is all you need 的機(jī)制,可以對(duì)流式語(yǔ)音識(shí)別模型進(jìn)行快速訓(xùn)練以及解碼。在六萬(wàn)五千小時(shí)的大規(guī)模訓(xùn)練數(shù)據(jù)的實(shí)驗(yàn)中,可以看到 Transformer 模型比 RNN 模型在識(shí)別準(zhǔn)確率上有著顯著地提高,并在低延時(shí)的場(chǎng)景下,解碼速度更快。 

未來(lái),研究員們將繼續(xù)研究基于 Transformer 的語(yǔ)音識(shí)別模型,力爭(zhēng)進(jìn)一步降低解碼的運(yùn)算消耗,在0延時(shí)的場(chǎng)景下,讓 Transformer 模型可以與 RNN 模型達(dá)到相同的解碼速度。

 

責(zé)任編輯:梁菲 來(lái)源: 今日頭條
相關(guān)推薦

2020-12-21 09:44:06

Google Transforme技術(shù)

2023-01-30 17:14:40

人工智能語(yǔ)音識(shí)別

2012-07-25 13:23:32

ibmdw

2017-03-20 10:14:03

語(yǔ)音識(shí)別匹配算法模型

2020-09-21 07:00:00

語(yǔ)音識(shí)別AI人工智能

2020-02-11 09:30:08

微軟瀏覽器Windows

2021-12-08 14:06:19

Python語(yǔ)音識(shí)別開(kāi)發(fā)

2021-01-20 20:48:04

AI

2023-11-22 09:00:00

NLP語(yǔ)言模型LSTM

2023-08-04 13:34:00

人工智能深度學(xué)習(xí)

2022-09-26 11:35:50

App開(kāi)發(fā)技術(shù)框架Speech框架

2023-04-10 09:59:48

昇思

2022-10-21 16:07:10

編碼器自然語(yǔ)言模型

2016-01-20 14:11:59

戴爾云計(jì)算

2011-01-18 11:52:25

Linux語(yǔ)音識(shí)別

2024-05-16 16:06:59

JSON數(shù)據(jù)二進(jìn)制

2023-11-09 09:48:46

2021-08-19 15:48:05

增量攻擊網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2013-05-23 15:37:02

光纖傳輸網(wǎng)絡(luò)通信網(wǎng)絡(luò)布局光纖通信網(wǎng)絡(luò)設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)