可编程逻辑(PLD)是由一种通用的集成电路发生的,逻辑功用依照用户对器材编程来确认,用户能够自行编程把数字体系集成在PLD中。经过多年的开展,可编程逻辑器材由70年代的可编程逻辑阵列器材 (PLD) 开展到现在的具有数千万门的现场可编程阵列逻辑 (FPGA),跟着人工智能研讨的炽热开展,FPGA的并行性现已在一些实时性很高的神经网络核算使命中得到运用。因为在FPGA上完成浮点数会消耗许多硬件资源,而定点数尽管精度有限,可是关于不同运用经过挑选适宜的字长精度仍能够确保收敛,且速度要比浮点数表明更快并且资源消耗更少,现已使其成为嵌入式AI和机器学习运用程序的抱负挑选。
最新的证明点是英国伯明翰大学电子电气和体系工程系的Yufeng Hao和Steven Quigley最近宣布的论文。论文标题为“在Xilinx FPGA上完成深度递归神经网络言语模型“,介绍了运用Python编程言语成功完成和练习根据固定点深度递归神经网络(DRNN); Theano数学库和多维数组的结构; 开源的根据Python的PYNQ开发环境; Digilent PYNQ-Z1开发板以及PYNQ-Z1板上的赛灵思Zynq Z-7020的片上体系SoC。Zynq-7000系列装载了双核ARM Cortex-A9处理器和28nm的ArTIx-7或Kintex-7可编程逻辑。在单片上集成了CPU,DSP以及ASSP,具有了要害剖析和硬件加速才能以及混合信号功用,超卓的性价比和最大的规划灵活性也是特色之一。运用Python DRNN硬件加速掩盖(一种赛灵思公司提出的硬件库,运用Python API在硬件逻辑和软件中树立衔接并交流数据),两个合作者运用此规划为NLP(自然言语处理)运用程序完成了20GOPS(10亿次每秒)的处理吞吐量,优于前期根据FPGA的完成2.75倍到70.5倍。
论文的大部分评论了NLP和LM(言语模型),“它触及机器翻译,语音查找,语音符号和语音辨认”。本文随后评论了运用Vivado HLS开发工具和Verilog言语完成DRNN LM硬件加速器,能够为PYNQ开发环境组成一个定制的硬件掩盖。由此发生的加速器包含五个进程元素(PE),能够在此运用程序中供给20GOPS的数据吞吐量。以下是规划的框图:
DRNN加速器框图
Vivado规划套件为下一代超高功率的C/C++和根据IP的规划供给了新的办法。融入了新的超快高功率规划办法集,用户能够完成10-15倍的功率的提高。Vivado HLS支撑ISE和Vivado规划环境,能够经过集成C,C++和SystemC规范到赛灵思的可编程器材中而无需创立RTL模型,加速IP的创立。
这篇论文中包含了很多深化的技术细节,可是这一句话总结了这篇博客文章的理由:“更重要的是,咱们展现了软件和硬件联合规划和仿真进程在神经网络范畴的运用“。考虑到PYNQ-Z1开发板的价格为229美元,这种说法是完全正确的。