AI语音算法“个性”强 与芯片端“磨合”挑战多

来源:华强电子网 作者:席安帝 时间:2019-04-04 10:14

AI 语音交互

     与AI图像处理不同,AI语音交互算法由于在“个性”上更为强势,因此硬件芯片端在做适配与设计开发时通常需要考虑更多的因素,难度丝毫不亚于图像领域,甚至更高。有业内人士指出,现阶段AI图像处理算法上大部分采用的都是CNN,而CNN最大的瓶颈既不是带宽也并非存储,而是并行计算,但在图像处理这一应用上,采用传统的冯诺依曼CPU架构来做乘法加速相对而言是好做的事情;但AI语音交互领域采用的则是RNN/DNN系列的LSTM、BLSTM模型,而非传统的CNN,这其实有比图像处理算法更大的技术挑战,其中一个是并行的乘法计算,另一个是模型的参数也更大,这就使得目前的CPU架构会面临非常大的带宽瓶颈。

  典型的以基于RNN的LSTM模型为例,事实上,RNN是CNN的略微调整版本,以前的算法如CNN以及MLP一般都是前向的反馈神经网络,这意味着信号只能在一个方向上通过节点网络,在每个节点通过时改变信号权重。然而,RNN是采用自递归的方式,这就意味着单个节点的输出以循环的方式反馈回自身,由其内部存储器来存储关于先前权重的信息,从而以时间依赖的方式进行学习和信息存储。而LSTM则是一种针对确切任务进行优化后的RNN,尤其适用于跨时间查找模式,它可以有效减轻简单RNN模型容易出现的梯度爆炸和梯度消散等问题,并实现更好的长短时信息保存和误差传播。

  这在硬件端,也会产生与CNN等传统模型截然不同的算法运行方式,程凯豪表示:“几乎所有CNN运行时都由大型矩阵乘法去控制,因此这些算法需要的硬件特征就是Tensor Core,以进行全面优化,如谷歌TPU和英伟达V100。然而,在语音算法的RNN或LSTM中,只有大约20%的总训练时间用于矩阵乘法,意思是Tensor Core并不是这类算法的等效性能增强器。相反,RNN需通过更小内核的硬件来做优化,要充分利用每个内核,在训练模型时,重要的就是准确地计算出批量大小,即业界常说的batch-size(在每个训练周期中发送出信息的bit-size),但如果使用所有数据来训练模型的话,其实效果并不理想,因为它只允许模型训练一次;同样地,使用单个数据点来训练模型也可能会使结果不准确,因为数据点不太可能是一个完全完整的数据集。”

  “因此,对RNN及LSTM这类算法来说,减小batch-size是关键,同时增加训练周期数的最大限度,使其足够完整。从这种特性上来看,设计AI语音专用芯片时,就需要更多的关注芯片大小核设计以及内存的升级和优化等,并提高带宽以及算法在硬件端的运行效率,增强硬件对算法的适配性。”程凯豪进一步补充到。

  另一方面,由于语音AI算法模型大多采用的是RNN这类自递归的方式,因此整个模型的参数由于递归数据的累积也会变得更大,这也对带宽设计提出了不小的挑战。程凯豪解释到:“RNN的状态机整体非常复杂,因为模型里面一般存在非常多个矩阵要运转,这不仅要支持多路,还有里面的非线性函数都有非常大的区别,所以芯片的带宽在设计上也需要考虑更多,对整个AI专用语音芯片硬件架构还要做一个重新的设计,让其既能够支持多路batch,同时也能够支持如RNN以及LSTM等更多衍生模型的内部多个矩阵的持续快速的运转。”


资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子