中文

在 Xilinx FPGA 上实现深度循环神经网络语言模型

神经与进化计算 2017-11-17 v3 硬件体系结构

摘要

近来,FPGA 已越来越多地应用于语音识别、机器学习以及云计算(如微软使用的 Bing 搜索引擎)等问题。这是由于相较于通用处理器,FPGA 具有强大的并行计算能力以及低功耗。然而,这些应用主要聚焦于大规模 FPGA 集群,其具备执行海量矩阵或卷积运算的极致处理能力,却不适合便携或移动应用。本文描述在单 FPGA 平台上的研究,以探索 FPGA 在这些领域的应用。在该项目中,我们设计了一个深度循环神经网络(DRNN)语言模型(LM),并在配备 XILINX ZYNQ SOC XC7Z020 1CLG400C 的 PYNQ 板上以 AXI Stream 接口实现了硬件加速器。PYNQ 不仅拥有丰富的可编程逻辑资源,还具备灵活的嵌入式操作系统,使其适用于自然语言处理领域。我们用 Python 与 Theano 设计 DRNN 语言模型,在 CPU 平台上训练模型,并将模型部署于 PYNQ 板以用 Jupyter notebook 验证。同时,我们用 Overlay(PYNQ 上的一种硬件库)设计硬件加速器,并在 PYNQ 板上验证加速效果。最终,我们发现 DRNN 语言模型可顺畅部署于嵌入式系统,且带 AXI Stream 接口的 Overlay 加速器达到 20 GOPS 处理吞吐,相较文献 30 与文献 31 的工作分别实现了 70.5 倍与 2.75 倍加速。

关键词

引用

@article{arxiv.1710.10296,
  title  = {The implementation of a Deep Recurrent Neural Network Language Model on a Xilinx FPGA},
  author = {Yufeng Hao and Steven Quigley},
  journal= {arXiv preprint arXiv:1710.10296},
  year   = {2017}
}