天天看點

阿裡雲年會人機大戰-技術大揭秘引言人機大戰之現場實時轉錄系統架構語音識别技術概覽IDST語音識别系統

阿裡雲年會人機大戰-技術大揭秘引言人機大戰之現場實時轉錄系統架構語音識别技術概覽IDST語音識别系統

阿裡雲年會現場,圖中左邊螢幕顯示的是語音識别,右邊螢幕顯示的是人工速記

上圖是視訊的截圖,展示的就是阿裡雲年會人機大戰的現場情形, 阿裡雲的掌門人孫權在台上演講,自動語音系統和速記員分别給出演講的文本内容,同時投屏,現場pk正确率。其中,左邊的螢幕展示語音識别的結果,作為字幕顯示在實時圖像上;另一邊則是全球速記亞軍姜毅先生将演講内容速記下來,以白屏黑字的方式顯示給觀衆。

現在問題來了,阿裡雲idst的系統是如何做到實時轉錄并将語音識别的結果作為字幕展示給觀衆的呢?

這裡給出了示範系統的軟硬體架構如下圖所示。

阿裡雲年會人機大戰-技術大揭秘引言人機大戰之現場實時轉錄系統架構語音識别技術概覽IDST語音識别系統

音頻方案

在音頻方面,現場嘉賓的講話内容通過無線麥克風傳遞到usb聲霸卡。為了實作同時語音識别和現場放音的效果,usb聲霸卡的輸出中一路送到調音台然後到現場的揚聲器播放給觀衆,另一路則通過pc軟體進行音頻采集,将采集到的音頻資料發送到阿裡雲語音伺服器上運作語音識别,并将語音識别的文本結果實時傳回,為實時産生字幕做準備。

視訊方案

在視訊方面,現場也會産生兩路視訊輸入: 一方面攝影師通過錄影機拍攝嘉賓演講的畫面傳回到中控台;另一方面,流式傳回的語音識别結果文本通過渲染産生滾動的字幕效果,并展示在一個純綠屏圖像上。最後,在中控台處,通過摳屏軟體将滾動的字幕疊加在嘉賓演講畫面上,産生實時字幕的效果。

在整個系統中,最為核心的算法部分就是一個是語音識别服務部分,它的作用就是将嘉賓的演講内容實時轉換為文本内容。那麼現在問題又來了,語音識别是怎麼工作的呢?

語音識别就是把語音轉換為文字的技術。經過幾十年的發展,它已經成為目前人工智能領域發展的較為成熟的一個應用方向。那麼看似神秘的語音識别技術背後的基本原理到底是怎麼回事呢?鑒于篇幅原因,這裡隻簡單的解釋一下語音識别的基本原理。

阿裡雲年會人機大戰-技術大揭秘引言人機大戰之現場實時轉錄系統架構語音識别技術概覽IDST語音識别系統

目前,主流的語音識别系統多采用統計機器學習方法完成。一個典型的語音識别系統由以下幾個子產品所組成:

語音采集子產品。在此子產品中,麥克風錄入的語音通過采集之後得到一個數字化的語音信号表示,比如一個16k采樣率16bit的數字化語音表示,就是将每秒的語音表示為1,6000個16-bit的整數;

特征提取子產品。該子產品的主要任務是把采集的數字語音信号轉換為特征向量,供聲學模型處理;

聲學模型。聲學模型用來表征人的語音跟語音識别産生的文本在聲音上的相似程度。傳統上通常使用隐含馬爾科夫模型-混合高斯模型(hmm-gmm),近些年多使用隐含模型科夫模型-深度神經網模型(hmm-dnn)或者其他改進模型表示。

發音詞典。發音詞典包含語音識别系統所能處理的所有的詞彙及其發音,發音詞典實際提供了聲學模型模組化單元與語言模型模組化單元間的映射關系。

語言模型。語言模型對系統所針對的語言進行模組化,用來評估識别出的文本的“流暢程度”。目前應用最廣的一種是基于統計的n元文法(ngram)及其變體。

解碼器。解碼器是語音識别系統的核心之一,其任務是對輸入的特征矢量,根據聲學模型和語言模型,尋找能夠以最大機率輸出該特征矢量的詞串,通常使用基于束搜尋(beam search)的維特比算法完成這個搜尋過程。

上面所述就是一般的語音識别系統的背後基本原理,在很多科普性的介紹中都有所涉及。實際上idst的語音識别系統也落在上述介紹的基本架構中,但是idst的語音識别系統為什麼有這麼高的準确率,有什麼獨得之秘呢?

台上一分鐘,台下十年功。在阿裡雲年會上idst語音識别系統所展示的超高準确率是建立在idst語音團隊同學豐富的業界經驗和過去一年辛勤工作所産生的深厚積累上的。這裡就簡單介紹一下idst語音識别系統所有的獨到特點。

業内領先的聲學模型模組化技術blstm

業内領先的超大規模的語言模型模組化技術

正如上一章所說,語言模型在語音識别系統中的作用就是用來評估句子的通順程度。語言模型的一個核心名額是模型對測試文本的比對程度(使用困惑度來表示)。在實際應用中,語言模型對領域的相關性越強,對語料的覆寫度越高,識别效果就越好。為了增加語言模型的覆寫度,保證對各個領域的識别性能。idst借助阿裡雲的計算優勢,使用了全網語料作為訓練資料,自主開發了基于max-compute的并行語言模型訓練工具, 訓練産生了規模高達百億 ngram 條目的超大語言模型(模型檔案大小高達數百g位元組)。正是有了這樣大規模的語言模型,使得idst的語音識别系統可以很好的識别很多生僻的詞,比如“芈月傳中的葵姑扮演者”這種新潮詞,比如古詩詞的識别,比如各種學科術語等等,都不在話下。

業内領先的語音識别解碼技術

語音識别解碼器是語音識别在工業界部署的核心問題。雖然解碼器的基本原理為人所知(維特比搜尋),并且一個玩具的解碼器原型隻需要200行左右的代碼就可以工作,但是一個真正工業級的解碼器确是目前語音識别中真正最具挑戰性的問題。

語音識别解碼是一個真正的計算密集型和記憶體密集型的計算流程。解碼器的第一個挑戰是,聲學模型(深度神經網)打分是一個典型的計算密集型過程(矩陣乘法),為了保證這一部分的效率,idst的同學做了各種算法優化(量化解碼,模型壓縮等)和指令優化(針對各種硬體平台),降低了這一部分的計算量。

解碼器中面臨的一個更大的挑戰是如何在語音識别中使用超大規模語言模型,因為巨大的模型可能使得解碼過程中記憶體成為瓶頸,而且解碼中對語言模型的反複查找會使計算成為瓶頸。 為了達到在解碼過程中使用超大語言模型的目的, idst的同學對語言模型的存貯表示以及和解碼器的核心算法以及跟語言模型的互動方式進行了深度的定制。既節省了解碼時的語言模型記憶體耗費,又充分利用了解碼過程中的資訊,減少了語言模型部分的計算量,使得線上使用成為可能。實際上,即使在整個世界上範圍内,能夠使用這種規模的語言模型用于單遍解碼的語音識别系統也屈指可數。

對應這部分,idst的同學會寫相應的文章來闡述這一部分的奧秘。

模型的快速疊代和訓練

高性能計算支援

正如上面所述,語音識别本身是個計算密集型系統。為了保證示範當天達到最佳的效果,在年會當天,使用的hpc是阿裡雲帶gpu加速的新一代高性能計算平台,單節點計算性能高達16tflops,加上算法優化,保證了語音識别的實時響應速度。

好了,專為技術geek們準備的揭秘就到這裡了。如果還對其中的技術細節感興趣,請參考阿裡idst的雲栖社群公衆号吧。

繼續閱讀