siemens x
PLC

使用Theano,Python,PYNQ和Zynq開發(fā)定點Deep Recurrent神經網絡

2025China.cn   2018年02月01日

  可編程邏輯(PLD)是由一種通用的集成電路產生的,邏輯功能按照用戶對器件編程來確定,用戶可以自行編程把數字系統(tǒng)集成在PLD中。經過多年的發(fā)展,可編程邏輯器件由70年代的可編程邏輯陣列器件 (PLD) 發(fā)展到目前的擁有數千萬門的現場可編程陣列邏輯 (FPGA),隨著人工智能研究的火熱發(fā)展,FPGA的并行性已經在一些實時性很高的神經網絡計算任務中得到應用。由于在FPGA上實現浮點數會耗費很多硬件資源,而定點數雖然精度有限,但是對于不同應用通過選擇合適的字長精度仍可以保證收斂,且速度要比浮點數表示更快而且資源耗費更少,已經使其成為嵌入式AI和機器學習應用程序的理想選擇。

  最新的證明點是英國伯明翰大學電子電氣和系統(tǒng)工程系的Yufeng Hao和Steven Quigley最近發(fā)表的論文。論文標題為“在Xilinx FPGA上實現深度遞歸神經網絡語言模型“,介紹了使用Python編程語言成功實現和訓練基于固定點深度遞歸神經網絡(DRNN); Theano數學庫和多維數組的框架; 開源的基于Python的PYNQ開發(fā)環(huán)境; Digilent PYNQ-Z1開發(fā)板以及PYNQ-Z1板上的賽靈思Zynq Z-7020的片上系統(tǒng)SoC。Zynq-7000系列裝載了雙核ARM Cortex-A9處理器和28nm的Artix-7或Kintex-7可編程邏輯。在單片上集成了CPU,DSP以及ASSP,具備了關鍵分析和硬件加速能力以及混合信號功能,出色的性價比和最大的設計靈活性也是特點之一。使用Python DRNN硬件加速覆蓋(一種賽靈思公司提出的硬件庫,使用Python API在硬件邏輯和軟件中建立連接并交換數據),兩個合作者使用此設計為NLP(自然語言處理)應用程序實現了20GOPS(10億次每秒)的處理吞吐量,優(yōu)于早期基于FPGA的實現2.75倍到70.5倍。

  論文的大部分討論了NLP和LM(語言模型),“它涉及機器翻譯,語音搜索,語音標記和語音識別”。本文隨后討論了使用Vivado HLS開發(fā)工具和Verilog語言實現DRNN LM硬件加速器,可以為PYNQ開發(fā)環(huán)境合成一個定制的硬件覆蓋。由此產生的加速器包含五個過程元素(PE),能夠在此應用程序中提供20GOPS的數據吞吐量。以下是設計的框圖:

  DRNN加速器框圖

 

  Vivado設計套件為下一代超高效率的C/C++和基于IP的設計提供了新的方法。融入了新的超快高效率設計方法集,用戶可以實現10-15倍的效率的提升。Vivado HLS支持ISE和Vivado設計環(huán)境,可以通過集成C,C++和SystemC標準到賽靈思的可編程器件中而無需創(chuàng)建RTL模型,加快IP的創(chuàng)建。

  這篇論文中包括了大量深入的技術細節(jié),但是這一句話總結了這篇博客文章的理由:“更重要的是,我們展示了軟件和硬件聯合設計和仿真過程在神經網絡領域的應用“??紤]到PYNQ-Z1開發(fā)板的售價為229美元,這種說法是完全正確的。

本文來源:Xilinx Xcell Daily Blog

(轉載)

標簽:賽靈思 DRNN 加速器 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機器人下載中心
西克
2024全景工博會
專題報道