FPGA上的高效语音识别:ESE实现稀疏LSTM

需积分: 13 14 下载量 8 浏览量 更新于2024-08-06 4 收藏 5.34MB PDF 举报
“使用Xilinx FPGA实现深度学习语音识别——ESE:Efficient Speech Recognition Engine with Sparse LSTM on FPGA” 本文探讨了如何利用Xilinx FPGA(Field-Programmable Gate Array,现场可编程门阵列)来高效实现深度学习语音识别系统,特别是针对长期短期记忆(LSTM)网络。LSTM在语音识别任务中被广泛应用,但随着模型复杂度的增加,计算和内存需求也相应增大,这可能导致高能耗和较高的总体成本(TCO)。 为了应对这一挑战,作者提出了负载平衡感知修剪(load-balance-aware pruning)技术。该技术可以将LSTM模型的大小压缩20倍,其中通过剪枝(pruning)减少10倍,通过量化(quantization)再减少2倍,同时几乎不牺牲预测准确性。负载平衡修剪的目的是确保硬件资源得到充分利用,避免因模型过大导致的资源浪费。 接着,文章介绍了一个调度器(scheduler)。这个调度器能够对压缩后的模型进行编码和分区,将其分配给多个处理元素(PE,Processing Elements)以实现并行处理。这样的设计可以有效处理LSTM数据流中的复杂性,提高运算效率。 文章的重点是ESE(Efficient Speech Recognition Engine),这是一个专为稀疏LSTM模型设计的硬件架构。ESE在Xilinx XCKU060 FPGA上运行,频率为200MHz,能够在稀疏LSTM网络上实现每秒2820亿次操作(GOPS),相当于密集型运算的2.52万亿次操作(TOPS)。在执行完整的LSTM语音识别任务时,其功率消耗仅为41瓦。 实验结果显示,ESE在语音识别基准测试上的性能显著优于Intel Core i7 5930k CPU和NVIDIA Pascal Titan X GPU。ESE的速度比CPU快43倍,比GPU快3倍,而能效则分别提高了40倍和11.5倍。 通过负载平衡修剪、调度策略和ESE硬件架构的设计,研究人员成功地实现了在FPGA上高效运行的深度学习语音识别系统。这种方法不仅显著提高了速度,降低了功耗,还优化了硬件资源的使用,对于边缘计算和数据中心环境中的低功耗语音识别应用具有重要意义。