新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何使用FPGA加速機器學習算法

如何使用FPGA加速機器學習算法

作者: 時間:2017-10-14 來源:網(wǎng)絡 收藏

  當前,AI因為其CNN(卷積神經(jīng)網(wǎng)絡)算法出色的表現(xiàn)在圖像識別領域占有舉足輕重的地位?;镜腃NN算法需要大量的計算和數(shù)據(jù)重用,非常適合使用來實現(xiàn)。上個月,Ralph Wittig(Xilinx CTO Office的卓越工程師)在2016年OpenPower峰會上發(fā)表了約20分鐘時長的演講并討論了包括清華大學在內的中國各大學研究CNN的一些成果。

本文引用地址:http://butianyuan.cn/article/201710/366437.htm

  在這項研究中出現(xiàn)了一些和CNN算法實現(xiàn)能耗相關的幾個有趣的結論:

  ①限定使用片上Memory;

 ?、谑褂酶〉某朔ㄆ鳎?/p>

 ?、圻M行定點匹配:相對于32位定點或浮點計算,將定點計算結果精度降為16位。如果使用動態(tài)量化,8位計算同樣能夠產(chǎn)生很好的結果。

  在演講中Wittig還提到了CNN相關的兩款產(chǎn)品:CAPI-compatible Alpha DataADM-PCIE-8K5 PCIe加速卡和Auviz Systems提供的(深度神經(jīng)網(wǎng)絡)開發(fā)庫。

  ADM-PCIE-8K5 PCIe加速卡

  Alpha DataADM-PCIE-8K5 PCIe加速卡用于X86和IBM Power8/9數(shù)據(jù)中心和云服務,加速卡基于Xilinx Kintex UltraScale KU115 ,支持Xilinx SDAcess基于OpenCL、C/C++的開發(fā)和基于Vivado HLx的HDL、HLS設計流程。

  圖1 Alpha DataADM-PCIE-8K5 PCIe加速卡

  Alpha DataADM-PCIE-8K5 PCIe加速卡片上帶32GB DDR4-2400內存(其中16GB含ECC),雙通道SFP+支持雙通道10G以太網(wǎng)接入。提供包括高性能PCIe/DMA在內的板級支持包(BSP) 、OpenPOWER架構的CAPI、參考設計、即插即用的O/S驅動和成熟的API等設計資源。

  開發(fā)庫

  深度學習技術使用大量的已知數(shù)據(jù)來找出一組權重和偏置值來匹配預期結果。處理被稱之為訓練,訓練的結果是大量的模型,這一事實促使工程師們尋求使用之類的專用硬件來進行訓練和分類計算。

  隨著未來數(shù)據(jù)量的巨幅增長,機器學習將會搬到云端完成。這樣就急需一種既可以加速算法,又不會大規(guī)模增加功耗的處理平臺,在這種情況下,F(xiàn)PGA開始登場。

  隨著一些列的先進開發(fā)環(huán)境投入使用,軟件開發(fā)工程師將他們的設計在Xilinx FPGA上實現(xiàn)變得更加容易。Auviz Systems開發(fā)的庫為用戶提供優(yōu)化的函數(shù)接口,用戶可以針對不同的應用創(chuàng)建自定義的CNN。這些函數(shù)可以方便的通過Xilinx SDAcess這樣的集成開發(fā)環(huán)境調用。在創(chuàng)建對象和數(shù)據(jù)池后,就會調用函數(shù)創(chuàng)建每一個卷積層、然后是致密層,最后是 softmax層,如下圖2所示。

  圖2 實現(xiàn)CNN的函數(shù)調用順序



關鍵詞: FPGA GPU AuvizDNN

評論


相關推薦

技術專區(qū)

關閉