基于Xilinx FPGA上实现深度递归神经网络语言模型

时间:2025-04-28  作者:Diven  阅读:0

可编程逻辑(PLD)是由通用的集成电路产生的,逻辑功能按照用户对器件编程来确定,用户可以自行编程把数字系统集成在PLD中。经过多年的发展,可编程逻辑器件由70年代的可编程逻辑阵列器件 (PLD) 发展到目前的拥有数千万门的现场可编程阵列逻辑 (FPGA),随着人工智能研究的火热发展,FPGA的并行性已经在一些实时性很高的神经网络计算任务中得到应用。由于在FPGA上实现浮点数会耗费很多硬件资源,而定点数虽然精度有限,但是对于不同应用通过选择合适的字长精度仍可以保证收敛,且速度要比浮点数表示更快而且资源耗费更少,已经使其成为嵌入式AI和机器学习应用程序的理想选择。

基于Xilinx FPGA上实现深度递归神经网络语言模型

最新的证明点是英国伯明翰大学电子电气和系统工程系的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美元,这种说法是完全正确的。

猜您喜欢

现代工业和科学研究中,温度测量是非常重要的一环。铂热电阻和热电阻是两种常见的温度传感器,在不同的应用场景中有着着重要作用。虽然的功能相似,但在原理、材料和性能等...
2025-04-16 19:31:46

现代电子设备中,各种元件的性能和尺寸都对整体设备的功能和效率起着至关重要的作用。SON8_3X3MM_EP是一种广泛应用于电子设计领域的小型封装元件,因其独特的...
2025-02-24 15:37:10


逻辑门是数字电路的基本构建块,其性能和特性由多个参数决定。逻辑门的输入和输出电压范围是关键参数,通常以高电平和低电平来表示,确保电路在不同工作状态下的可靠性。延...
2020-10-01 00:00:00





风华贴片电阻的日期和型号通常印在电阻本体表面。由于贴片电阻体积小,标识也十分精简,需要仔细辨认。型号识别: 一般采用三位或四位数字标识,例如102代表1000欧...
2024-11-29 10:26:19

本文列出了FPGA设计中常见的十个错误。我们收集了 FPGA 工程师在其设计中犯的 10 个最常见错误,并提供了解决方案的建议和替代方案。本文假定读者已经具备 ...
2023-05-31 15:57:00