论文

ISSCC 2017 Session 14 Slides整理(4/8)

论文四:A Scalable Speech Recognizer with Deep-Neural-Network Acoustic Models and Voice-Activated Power Gating

机构:MIT(麻省理工)

简述:

一款应用于语音识别应用的芯片,其采用了DNN以提升ASR硬件的性能。并将语音识别中的语音模型、语言模型进行了硬件化实现。通过设计高效VAD以避免无效的ASR模块唤醒,在具体场景的ASR中,随着不同场景的计算精度需求调整,最终实现了16-56nJ/neuron的NN能效,时钟频率3-86MHz、电压0.60-1.2V下典型功耗1.8-7.8mW,能效调节范围达到45x。

主要内容:

(Tip:设计语音识别的算法内容不展开,可参阅EESEN:2015-asru_eesen-end-to-end-speech-recognition-using-deep-rnn-models-and-wfst-based-decoding_cmu

(P2-3)ASR(Automatic Speech Recognition)广泛应用于语音交互场景(个人助理、穿戴设备、机器人),目标是完善/替代触屏,补充/革新交互方式。现在的场景是:实时的ASR在x86架构的PC和ARM架构上都已经实现,但是受制于处理器的memory、I/O、MLC NANA FLASH带来的功耗压力。

(P4)ASR的硬件加速交互机制:端到端的实现

1
Hardware Accelerated Speech Interface

(P6-8)ASR的构成:隐式马尔科夫链(Hidden Markov Model, HMM)-翻译/语言模型(WFST),语音模型(GMM/DNN/…)。在前向过程中,采用Viterbi算法进行搜索。在整个过程中参数量巨大,典型的ASR模型大小为50MB,片外存储对带宽的要求达到5GB/s。不同语音模型的准确度和带宽需求如下图,可以看出DNN表现最好。

2.png
Bandwidth-limited Acoustic Models

(GMM, Gaussian Mixture Model; SGMM, Subspace GMM; DNN, Deep Neural Network)

Tips:简单来说:语音模型是波形->音素(类似音标等),语言模型是音素->单词/汉字。

(P9-10)本文工作针对DNN的前向进行。所采用的DNN评估结构如下图所示。

3
DNN Evaluator Architecture

(P11)对于不同规模的DNN,对运算单元EU采用不同的配置模态,以满足带宽的需求。可以看出,这种方法有效降低了带宽的需求。

(P12)Execution Unit Design的结构如下图所示。在运行中,直接从Sequencer中读取操作指令进行运算;计算完成后,将结果写入本地存储(Arbitrator)中。可以看到,包含ReLU/Sigmoid/MAC(乘累加)在内的所有运算操作数据来源都是序列或者本地存储,这样最大化的降低了复杂度。

6.png
Architecture of EU

(P13-14)Sigmiod函数通过切比雪夫(Chebyshev)方式近似,从误差来看效果好于Taylor展开、分段低阶多项式等近似方式。对于Sigmoid的计算,采用Horner的方式进行多项式近似,用非流水结构的方式节约面积。计算有7cycle的延迟,同时需要5.7KGates,和一个乘法器近似。其结构如下。

7.png
Sigmoid Approximation

(P15-16)Viterbi搜索算法的硬件实现。基于ISSCC14 Price et al.的成果,通过增加Arc fetch中的解压单元、以Word lattice和State list替代SRAM的单一功能,同时减少了带宽压力、缩减了存储面积。两种结构的对比如下。

(P17-18)词网格/词图(lattice),用于将候选词序列用FSM搭建起来的有向无环图,特点是结构紧凑占用空间小。本文丢弃word之间的中间节点进行搜索,在负载低的情况下,无需外存访问,高负载时可以有8x的带宽降低。如图

11
Search : Word Lattice

(P19)在架构上实现ASR的性能:准确度和软件(Kaldi)接近(145K词汇量);80MHz时,可以达到软件在3.7GHz Xeon上的搜索速度。

11
ASR Accuracy and Speed

(P20)VAD(Voice Activity Detection):用于控制ASR系统的唤醒。VAD本身的功耗,则通过调频来进行解决。

12
Use VAD to Control Power Gate for ASR(Automatic Wake Up)

(P21-24)VAD的调频:将调频(MF)的方式应用在神经网络分类器中(对于小型网络很有效,同时参数比SVM更少);神经网络架构从ASR系统中剥离(无需稀疏矩阵支持、无需并行化,但是还需要量化);不需要外存(参数一开始通过串口就可以获得)。MF性能表现如下最右图。

ASR和VAD通过同步FIFO通讯,VAD持续运行。ASR在唤醒后对VAD发起音频缓存访问。

(P25)芯片参数:65nm工艺下,实现了16-56nJ/neuron的NN能效,时钟频率3-86MHz、电压0.60-1.2V下典型功耗1.8-7.8mW。

16
Test Chip SPECS

(P27)多电压的设计实现:Memory电压高于逻辑电压,I/O级的电压调节难以满足要求,供电电压的关系是难以解耦和的。具体结构如下。LH:低压->高压

17

(P29)测试环境:板级电源和时钟控制;FPGA作为主控及存储接口;通过实际影像、流媒体进行测试。

19
Test Setup

(P30)性能对比:

ASR部分:在不同的测试集下,功耗可以相差45x。

VAD部分:MF表现优秀,在多个数据集下都可以成功执行ASR的唤醒。

18.png

(P31)总结:

1、DNN可以有效提升ASR硬件的性能,哪怕是带宽<10MB/s

2、基于DNN的VAD可以兼具鲁棒性和适配能力,功耗低至22.3uW

3、ASR不只是神经网络,在特征提取、搜索等也需要有很大的能效消耗,而NN的应用扩展了ASR的范围

4、将算法、架构、电路技术结合,可以有效提升准确度、可编程线、以及电压的可扩展性。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s