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

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

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

基于FPGA的AIX語音識別解決方案

454398 ? 來源:AI加速微信公眾號 ? 作者:AI加速微信公眾號 ? 2020-11-14 12:09 ? 次閱讀

AIX(artificial intelligence aXellerator)是韓國SK公司語音識別提供的一個解決方案,應(yīng)用于微軟的開源語音識別框架Kaldi。AIX使用了Xilinx的FPGA平臺,充分利用了FPGA能提供的外存訪問帶寬和DSP資源。在自動語言識別(ASR)中,在性能和功耗上超過了分別超過了最領(lǐng)先的CPU 10.2倍和流行的GPU20.1倍。

1. 硬件平臺和算法介紹
AIX使用了Xilinx Kintex Ultrascale KCU1500板卡,板卡包括一個KU115芯片,4塊4GB DDR4-2400的DRAM,每塊芯片有64個DQ引腳。最大可以支持76.8GB/s的帶寬。KU115芯片資源如下:

圖1.1 KU115資源

圖1.1 KU115資源

Kaldi是一個基于C++編寫的用于語音識別的開源工具,它依賴于兩個外部工具庫:一個是openFst,另外一個是線性計算,包括矩陣乘法,以及矩陣和向量的操作。openFst基于有限狀態(tài)轉(zhuǎn)換器算法,可以用于語音和語言識別中。所以在ASR中包含了大量的矩陣乘法運算。AIX主要的目的就是加速這些矩陣乘法運算。

圖1.2 Kaldi庫

圖1.2 Kaldi庫

一個基本的語音識別算法過程如下:首先采集人的語音信號,將語音信號分割成一段段向量,每個向量會有一些重疊。將每段語音信號經(jīng)過FFT等操作,轉(zhuǎn)換為MFCC或者倒譜,實際上就是做了一些向量的轉(zhuǎn)換操作。MFCC或者倒譜的表達(dá)能更好的提取語音特征。在論文中每個向量長度為120。為了能夠表現(xiàn)不同向量之間的關(guān)系,將每個Ci向量最近鄰的2n個向量組合為一個整體,然后送到MLP進(jìn)行運算。通過MLP提取特征,在進(jìn)行HMM操作進(jìn)行分類處理。AIX就是加速MLP這部分操作,因為這部分占據(jù)了整個算法的大部分運算,涉及到大量矩陣運算。

圖1.3 ASR算法過程

2. DNN硬件架構(gòu)

圖2.1 AIX硬件架構(gòu)

圖2.1 AIX硬件架構(gòu)

在KU115上,AIX由兩個核組成,每個核的結(jié)構(gòu)是一樣的。這兩個核分別分布在芯片的兩個die上。每個核使用兩個DDR4,每個提供38.4GB/s的帶寬。核心計算單元是脈動陣列結(jié)構(gòu),大小為64x40,總共使用了2560個DSP。語音向量從脈動陣列左側(cè)進(jìn)入,權(quán)重數(shù)據(jù)從上邊脈動進(jìn)入,然后在每個DSP進(jìn)行乘法,每個DSP還進(jìn)行累加。最后可以輸出一個64X40大小的矩陣。因此進(jìn)入的語音向量,每次在緩存中獲得了40個120的語音向量后,進(jìn)行轉(zhuǎn)置操作,得到120X40的向量組合,然后脈動送入陣列。完成矩陣乘法。這種算法在之前的文章《在DNN中FPGA都做了什么?》有詳細(xì)描述。這對語音向量的帶寬要求是一個FPGA時鐘周期40x16bit,權(quán)重為64x16bit。64的選擇可以適配DDR的帶寬38.4GB/s。這樣既充分利用了DSP資源,也更好的利用了DDR帶寬。這種方案適合處理矩陣乘矩陣,但是對于矩陣乘向量的DSP利用率就會很低了。因為權(quán)重的IO帶寬較低。

圖2.2 矩陣x矩陣計算陣列

圖2.2 矩陣x矩陣計算陣列

這個板卡是通過PCIE和主機連接,主機完成DNN之外的HMM,decoder等操作。開始主機通過PCIE將一定量的權(quán)重存儲到板卡的DDR中,然后AIX主動去獲取權(quán)重數(shù)據(jù)。權(quán)重數(shù)據(jù)是不斷被復(fù)用的,因此初始時刻被加載到DDR中以后,就不需要再加載權(quán)重了。除非權(quán)重很多超過了DDR的存儲空間。主要更新的是語音向量,需要通過PCIE不斷下載到片上。當(dāng)片上向量隊列存儲了40個后,就可以進(jìn)行轉(zhuǎn)置送到脈動陣列進(jìn)行運算。

對于網(wǎng)絡(luò)中的其他操作,比如sigmoid,tangent,leakyRelu等,都是通過查找表完成的。查找表的方式可以更靈活的用于這些雜七雜八的運算。這些運算數(shù)學(xué)公式復(fù)雜,直接計算會耗費很多邏輯,不如查找表簡潔。缺點就是需要較大的存儲空間,空間是和數(shù)據(jù)精度有關(guān)的,精度越高消耗存儲空間越大。

3. 軟件架構(gòu)
為了能夠?qū)IX更好的融入到基于Kaldi的ASR計算中,需要很好的和數(shù)據(jù)中心的軟件端進(jìn)行匹配。因此提出三種軟件模型來解決這個問題。

一個模型用于對AIX的配置,即在AIX計算前,需要準(zhǔn)備好權(quán)重和偏置數(shù)據(jù)。這種準(zhǔn)備工作是由NN converter軟件來做的,主要就是判定一個網(wǎng)絡(luò)中哪些層可以被AIX加速,然后將這部分權(quán)重發(fā)送給AIX。

另外一個是監(jiān)測模型。為了保證AIX的穩(wěn)定運行,需要進(jìn)行大量的邊緣條件測試,因此監(jiān)測軟件來檢測一些異常情況。主要包括:功耗,溫度,資源利用,設(shè)備狀態(tài)。

最后一個是用于處理語音向量的軟件。為了保證實時處理語音數(shù)據(jù),每8個語音向量組成一個batch,然后一起寫入AIX。為了提高脈動陣列的利用效率,語音緩存盡可能收集更多向量,然后開始計算。為了減小收集時間,軟件端提供了多個服務(wù)通道,同時準(zhǔn)備語音向量,并向AIX發(fā)送或者接收來自AIX的結(jié)果。由于處理不同語音向量是有順序的,為了保證結(jié)果也能夠保持順序不變。每個通道增加了鎖機制來保持向量的發(fā)送和接收順序。當(dāng)需要向AIX寫的時候,就產(chǎn)生一個有wlock的寫進(jìn)程,直到wlock被解鎖,這個進(jìn)程才開始往AIX發(fā)送數(shù)據(jù)。同理讀進(jìn)程也有一個rlock。這些鎖會保證進(jìn)程間的依賴和同步。

圖3.1 軟件架構(gòu)

圖3.2 NN converter的作用

4. 結(jié)果
現(xiàn)在看資源利用率:

圖4.1 資源利用率

AIX的性能和Intel的E5-2620和Nvidia的P100 GPU進(jìn)行了對比。同時考慮上功耗和語音識別時間,AIX都超過了CPU和GPU。

圖4.2 AIX和CPU以及GPU的性能對比

總結(jié)
AIX采用了脈動陣列的架構(gòu),充分利用了矩陣乘法中數(shù)據(jù)的復(fù)用率。能夠最大限度利用內(nèi)存帶寬來獲得最大性能。

文獻(xiàn)
1. Minwook Ahn, S.J.H., Wonsub Kim, Seungrok Jung, Yeonbok Lee, Mookyoung Chung, Woohyung Lim, Youngjoon Kim, AIX A high performance and energy ef?cient inference accelerator on FPGA for a DNN-based commercial speech recognition. FPGA, 2019.

編輯:hfy


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

    關(guān)注

    2

    文章

    790

    瀏覽量

    37675
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2155

    瀏覽量

    120850
  • 語音識別
    +關(guān)注

    關(guān)注

    38

    文章

    1710

    瀏覽量

    112490
  • AIX
    AIX
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    9839
收藏 人收藏

    評論

    相關(guān)推薦

    CEVA攜Sensory力推先進(jìn)的語音識別解決方案

    CEVA和Sensory宣布,兩家公司已合作推出一款先進(jìn)的語音識別解決方案。該方案具有業(yè)界最低的功耗,以滿足嚴(yán)苛的電池壽命設(shè)計規(guī)范。
    發(fā)表于 03-12 09:57 ?1148次閱讀

    盲人閱讀器語音合成技術(shù)解決方案 #語音識別 #語音合成 #盲人閱讀器 #圖像識別#硬聲創(chuàng)作季

    語音圖像解決方案閱讀器圖像識別語音識別識別經(jīng)驗分享
    電子知識科普
    發(fā)布于 :2022年10月27日 17:58:38

    語音識別有哪些成本稍微低的解決方案,訊飛或百度的能離線嗎

    語音識別有哪些成本稍微低的解決方案,訊飛或百度的能離線嗎如題 只識別命令
    發(fā)表于 07-07 14:50

    求一種基于LD332X的單芯片語音識別解決方案

    由于LD332X提供了真正的單芯片語音識別解決方案,可以非常方便地將LD332X集成進(jìn)用戶的產(chǎn)品中,需要花費的開發(fā)成本很低。開發(fā)者可以先用語音識別
    發(fā)表于 07-30 06:01

    方言離線語音控制場景解決方案

      隨著科技的不斷發(fā)展,離線語音識別技術(shù)已經(jīng)變得越來越成熟。在日常生活中,老人或小孩可能會遇到一些困難,如操作復(fù)雜的電子設(shè)備。為了解決這一問題,離線語音識別模塊成為了一個很好的
    發(fā)表于 11-17 17:57

    靈云遠(yuǎn)場語音識別解決方案

    醒、聲源定向等關(guān)鍵技術(shù),在引起產(chǎn)業(yè)界廣泛關(guān)注的同時,16日正式宣布推出面向智能終端的完整靈云遠(yuǎn)場語音交互解決方案,該套方案完美整合了國內(nèi)最新遠(yuǎn)場語音
    發(fā)表于 10-13 11:54 ?0次下載

    華為云發(fā)布首款基于FPGA平臺語音識別加速解決方案

    高效語音識別引擎。該方案在亞馬遜AWS發(fā)布之后,迅速移植上線國內(nèi)公有云市場。以語音識別為應(yīng)用載體,對AI類應(yīng)用推理計算進(jìn)行全面加速。成為目前
    發(fā)表于 06-21 14:35 ?921次閱讀

    首款基于FPGA的原創(chuàng)深度學(xué)習(xí)語音識別加速解決方案面世,深鑒引領(lǐng)FPGA加速云市場

    高效語音識別引擎。該方案在亞馬遜AWS發(fā)布之后,迅速移植上線國內(nèi)公有云市場。以語音識別為應(yīng)用載體,對AI類應(yīng)用推理計算進(jìn)行全面加速。成為目前
    發(fā)表于 07-27 14:25 ?1837次閱讀

    一種低功耗的語音識別解決方案

    方案介紹概要:此設(shè)計提供了一種低功耗的語音識別解決方案。它通過實現(xiàn)波束賦形和噪聲抑制器功能來提高識別率,并且可以根據(jù)工作環(huán)境進(jìn)行調(diào)整。系統(tǒng)優(yōu)
    發(fā)表于 12-28 16:10 ?0次下載

    離線語音照明解決方案:讓你的照明更智能

    離線語音照明解決方案,它是將離線語音識別技術(shù)和照明控制技術(shù)相結(jié)合,為人們提供更加智能、便捷、安全的智能語音照明
    的頭像 發(fā)表于 05-19 17:03 ?1942次閱讀
    離線<b class='flag-5'>語音</b>照明<b class='flag-5'>解決方案</b>:讓你的照明更智能

    離線語音小夜燈解決方案

    離線語音小夜燈解決方案是一種基于離線語音識別技術(shù)的智能小夜燈解決方案,其主要功能是通過語音控制方
    的頭像 發(fā)表于 05-29 09:18 ?1333次閱讀
    離線<b class='flag-5'>語音</b>小夜燈<b class='flag-5'>解決方案</b>

    語音識別技術(shù):端到端的挑戰(zhàn)與解決方案

    探討端到端語音識別技術(shù)的挑戰(zhàn)與解決方案。 二、端到端語音識別技術(shù)的挑戰(zhàn) 1.噪聲干擾和口音差異:端到端
    的頭像 發(fā)表于 10-18 17:06 ?905次閱讀

    情感語音識別的技術(shù)挑戰(zhàn)與解決方案

    探討這些挑戰(zhàn)以及可能的解決方案。 二、情感語音識別的技術(shù)挑戰(zhàn) 情感表達(dá)的復(fù)雜性:人的情感表達(dá)是復(fù)雜且多變的,受到文化、個人經(jīng)歷、語言習(xí)慣等多種因素的影響。這使得準(zhǔn)確識別和理解人的情感狀
    的頭像 發(fā)表于 11-12 17:31 ?468次閱讀

    情感語音識別:現(xiàn)狀、挑戰(zhàn)與解決方案

    、挑戰(zhàn)與解決方案。 二、情感語音識別的現(xiàn)狀 技術(shù)發(fā)展:隨著深度學(xué)習(xí)技術(shù)的不斷進(jìn)步,情感語音識別技術(shù)得到了快速發(fā)展。目前,基于卷積神經(jīng)網(wǎng)絡(luò)(C
    的頭像 發(fā)表于 11-23 11:30 ?774次閱讀

    Achronix推出基于FPGA的加速自動語音識別解決方案

    提供超低延遲和極低錯誤率(WER)的實時流式語音轉(zhuǎn)文本解決方案,可同時運行超過1000個并發(fā)語音
    的頭像 發(fā)表于 11-29 15:18 ?660次閱讀