可编程逻辑(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美元,这种说法是完全正确的。
采用模糊控制算法实现TSC无功补偿的控制设计
电源抑制比AC-PSRR详细分析
浅析模拟技术在智能电表中的应用原理
本田CRV2017最新款上市了!配置2.0L混合动力的车型,售价区间为21.98万至25.98万之间
基于MSP430单片机的超低功耗待机解决方案
基于Xilinx FPGA上实现深度递归神经网络语言模型
什么是人工智能?人工智能的分类和应用介绍
RC滤波器与LC滤波器详解(RC滤波器与LC滤波器区别,RC滤波器和LC滤波器工作原理和经典设计)
新款拍照手机华为p10,三星s8,oppor11介绍
推开“数字未来”之门,本源量子亮相2022世界互联网大会
新型智能列控系统利用北斗卫星导航技术等构成空天地一体化的列控系统
视频监控系统中报警分接器的主要功能及设计方法介绍
中国电信是如何做到通信服务收入和净利润同比双增长的
区块链也能能解决电力问题?
氢燃料电池制造的智能化,视觉检测设备成为“杀手锏”
用数字可视化的立体视觉改变未来生活
cw32和stm32的区别
机器人坐标系用法和算法原理
5G为智能生活带来什么新体验?
传统工厂不再使用蓝牙LoRa而选择使用星斗1号之原因详解