一個(gè)用于構(gòu)建可擴(kuò)展和FPGA上的快速BNN推理加速器 專門針對(duì)量化神經(jīng)網(wǎng)絡(luò) 每秒處理數(shù)億次機(jī)器學(xué)習(xí)推斷
您聽說過 FINN 嗎?沒有?這個(gè)答案并不令人驚訝,因?yàn)檫@是一個(gè)用于探索基于 FPGA 的深層神經(jīng)網(wǎng)絡(luò)推斷的實(shí)驗(yàn)框架的全新再實(shí)現(xiàn),而且它現(xiàn)在仍是賽靈思研究實(shí)驗(yàn)室 (Xilinx Research Lab) 的測(cè)試版。然而, 雖然還是測(cè)試版,它已經(jīng)發(fā)布了 v0.4b(測(cè)試版),并且自從在 GitHub 上開源以來,受到了廣泛關(guān)注。
2020 年 5 月,賽靈思研究實(shí)驗(yàn)室的論文《FINN-R:快速探索量化神經(jīng)網(wǎng)絡(luò)的端到端深度學(xué)習(xí)框架》獲得了計(jì)算機(jī)協(xié)會(huì) (ACM) 可重構(gòu)技術(shù)和系統(tǒng)匯刊 (TRETS) 2020 年年度最佳論文獎(jiǎng) —— 該獎(jiǎng)項(xiàng)每年只授予全年論文中的一篇。該論文的第一作者、杰出工程師 Michaela Blott 女士和她的團(tuán)隊(duì)在今年夏天的第 57 屆設(shè)計(jì)自動(dòng)化大會(huì)線上頒獎(jiǎng)典禮上接受了這一榮譽(yù)。該論文的評(píng)選引起了人們對(duì) FINN 的更廣泛關(guān)注:FINN 是什么,為什么選擇 FINN,如何實(shí)現(xiàn) FINN?帶著這些問題,我們采訪了 Michaela Blott 女士。
FINN 是什么?
FINN(神經(jīng)網(wǎng)絡(luò)快速推斷)是我們的一個(gè)旗艦開源項(xiàng)目的名稱,是賽靈思研究實(shí)驗(yàn)室的一個(gè)實(shí)驗(yàn)框架,用于探索基于 FPGA 的深層神經(jīng)網(wǎng)絡(luò)推斷。它專門針對(duì)量化神經(jīng)網(wǎng)絡(luò),著重于為每個(gè)網(wǎng)絡(luò)生成定制的數(shù)據(jù)流式架構(gòu)。這種形式的高度專業(yè)化有助于加速需要更高吞吐量和超低時(shí)延的應(yīng)用。 然而,要實(shí)現(xiàn)定制相當(dāng)困難,而且通常只有專家才可以進(jìn)行定制。對(duì)此,F(xiàn)INN 提供了一個(gè)端到端流程,即使是機(jī)器學(xué)習(xí)工程師也可以創(chuàng)建這些高度定制的硬件解決方案,以前饋數(shù)據(jù)流架構(gòu)的形式為具有任意精度/任意層的空間展開式卷積神經(jīng)網(wǎng)絡(luò)加速器提供支持。它實(shí)際上是一種工具流,能夠幫助沒有硬件專業(yè)知識(shí)的人員生成高度定制的 FPGA 設(shè)計(jì),并從我們的器件所提供的性能和效率中獲益。 最初的版本側(cè)重于二進(jìn)制網(wǎng)絡(luò)。自此,我們擴(kuò)展到可支持任意精度 (FINN-R) 并提供更高靈活性的終端架構(gòu)和目標(biāo)平臺(tái),其中包括給定器件的硬件成本估算。我們?cè)诎?PYNQ 和 Alveo 在內(nèi)的一系列平臺(tái)上對(duì)各種不同精度的神經(jīng)網(wǎng)絡(luò)生成的架構(gòu)進(jìn)行了評(píng)估,從小型 CIFAR-10 分類器、基于 PASCAL VOC 數(shù)據(jù)集的 YOLO 對(duì)象檢測(cè)到 ImageNet 分類網(wǎng)絡(luò)和 LSTM。我們目前正在添加更多極端用例,比如網(wǎng)絡(luò)入侵檢測(cè),在這種情況下,F(xiàn)INN 每秒可以處理數(shù)億次機(jī)器學(xué)習(xí)推斷。 如需了解有關(guān) FINN 的更多基本信息,請(qǐng)?jiān)L問項(xiàng)目頁面,查看出版物或一些演示。
FINN 有哪些特性?
●模板化的 Vivado HLS 流組件庫:FINN 帶有 HLS 硬件庫,該硬件庫可將卷積,全連接,池化和 LSTM 層分類實(shí)現(xiàn)為流組件。該庫使用 C++ 格式來支持各種精度。
●超低時(shí)延和高性能的數(shù)據(jù)流:通過為每一層組成流組件,F(xiàn)INN 可以生成加速器,這些加速器可以以亞微秒級(jí)的時(shí)延對(duì)圖像進(jìn)行分類。
●多種端到端的設(shè)計(jì)示例:我們提供的示例從訓(xùn)練量化神經(jīng)網(wǎng)絡(luò)開始,一直到硬件上運(yùn)行的加速設(shè)計(jì)。這些示例涵蓋了一系列數(shù)據(jù)集和網(wǎng)絡(luò)拓?fù)洹?/p>
●用于快速生成設(shè)計(jì)的工具流程:FINN 工具流程支持自動(dòng)或手動(dòng)為每層分配單獨(dú)的計(jì)算資源,并生成用于綜合的完整設(shè)計(jì)。這樣可以快速探索設(shè)計(jì)空間。
為什么要為開源
重新構(gòu)建 FINN?
在過去的幾年里,愛爾蘭賽靈思研究實(shí)驗(yàn)室的團(tuán)隊(duì)對(duì)量化神經(jīng)網(wǎng)絡(luò) (QNN) 進(jìn)行了大量研究。從 2016 年基于 FPGA 的二進(jìn)制神經(jīng)網(wǎng)絡(luò) (BNN) 開始,我們已經(jīng)對(duì)量化深度學(xué)習(xí)的眾多方面進(jìn)行了研究,涵蓋從更好的量化方法、混合量化和修剪到精確吞吐量權(quán)衡和遞歸拓?fù)涞缺姸囝I(lǐng)域。雖然我們工作的某些演示已經(jīng)實(shí)現(xiàn)開源有一段時(shí)間了,但我們希望能更進(jìn)一步。我們喜歡 QNN,同時(shí)也很青睞在賽靈思 FPGA 上為其構(gòu)建的高性能、高效率的數(shù)據(jù)流加速器,我們希望您和 FPGA/ML 社區(qū)也能這樣做。實(shí)現(xiàn)這一目標(biāo)的(協(xié)同)設(shè)計(jì)流程實(shí)際上相當(dāng)復(fù)雜,從在機(jī)器學(xué)習(xí)框架中定制神經(jīng)網(wǎng)絡(luò)開始,經(jīng)過涉及眾多優(yōu)化、HLS 代碼生成和 Vivado 綜合的多個(gè)設(shè)計(jì)步驟,最后得到 FPGA 比特流,可以作為某個(gè)應(yīng)用的組成部分進(jìn)行部署。其中大量步驟都需要一些手動(dòng)操作,但是如果能有一個(gè)模塊化的、靈活的解決方案堆棧來支持您完成這個(gè)流程將非常有幫助。這就是為什么我們要從頭開始重建我們的 FINN 解決方案堆棧,使其更加模塊化。
我們選擇 FINN 開源路線的主要原因是為了提供更高程度的靈活性和透明度。機(jī)器學(xué)習(xí)研究進(jìn)展迅速,因此 FINN 是研究人員可以用來實(shí)現(xiàn)最新層類型的工具。
用戶如何進(jìn)一步了解 FINN?
您可以使用 GitHub 問題跟蹤器報(bào)告錯(cuò)誤,但請(qǐng)不要以提交問題的形式來提出問題,因?yàn)檫@在 gitter 頻道中可以得到更好的處理。此外,我們也衷心歡迎您針對(duì)本項(xiàng)目做出貢獻(xiàn),請(qǐng)查看貢獻(xiàn)指南和公開問題列表。如果您有任何想法,請(qǐng)隨時(shí)聯(lián)系 Gitter 進(jìn)行討論。 我們渴望擴(kuò)大我們的社區(qū),并希望聽到您的消息。
為什么開源和神經(jīng)網(wǎng)絡(luò)
非常適合賽靈思?
賽靈思提供了可以對(duì)其器件進(jìn)行編程的工具。有了開源,我們就可以充分利用并為世界一流的成果做出貢獻(xiàn)。FINN 的量化感知訓(xùn)練庫 Brevitas (https://github.com/Xilinx/brevitas)建立在 Pytorch 上,Pytorch 是基于 Torch 庫的常用開源機(jī)器學(xué)習(xí)庫,用于計(jì)算機(jī)視覺和自然語言處理。 我們?yōu)檫@個(gè)現(xiàn)有的開源框架提供了大量的庫,這些庫使得對(duì)網(wǎng)絡(luò)的訓(xùn)練可以一直精確到 1 位。這充分利用了 Pytorch 已有的所有優(yōu)異技術(shù),并使用戶群體從量化中獲益。此外,將這些網(wǎng)絡(luò)映射到我們的 FPGA 上的實(shí)現(xiàn)工具是開源的,它利用了現(xiàn)有的賽靈思技術(shù),其中包括高層次綜合以及基于 FPGA 的布局布線。參見下圖。
關(guān)于賽靈思實(shí)驗(yàn)室
賽靈思研究實(shí)驗(yàn)室通過其對(duì)公司戰(zhàn)略和愿景的貢獻(xiàn)占據(jù)了技術(shù)領(lǐng)先地位。該組織為未來的產(chǎn)品創(chuàng)造新的技術(shù)機(jī)遇,致力于應(yīng)對(duì)最新涌現(xiàn)的工程挑戰(zhàn),并消除對(duì)實(shí)現(xiàn)公司業(yè)務(wù)目標(biāo)至關(guān)重要的技術(shù)風(fēng)險(xiǎn)。我們積極地與各個(gè)高校、初創(chuàng)企業(yè)和采用早期技術(shù)的客戶建立聯(lián)系,發(fā)現(xiàn)新挑戰(zhàn)并獲得他們對(duì)新想法的反饋。
關(guān)于 Michaela Blott 簡(jiǎn)介
Michaela Blott 是愛爾蘭都柏林賽靈思研究中心的杰出工程師,她領(lǐng)導(dǎo)著一個(gè)由國(guó)際科學(xué)家組成的團(tuán)隊(duì),該團(tuán)隊(duì)致力于推進(jìn)激動(dòng)人心的研究,為賽靈思器件探索全新的應(yīng)用領(lǐng)域,例如應(yīng)用于嵌入式和超大規(guī)模部署的機(jī)器學(xué)習(xí)。她在德國(guó)凱澤斯勞滕大學(xué)獲得碩士學(xué)位,在研究機(jī)構(gòu)(如蘇黎世聯(lián)邦理工學(xué)院和貝爾實(shí)驗(yàn)室)和開發(fā)機(jī)構(gòu)擁有超過 25 年的先進(jìn)計(jì)算機(jī)架構(gòu)以及先進(jìn) FPGA 和電路板設(shè)計(jì)經(jīng)驗(yàn)。她積極投身于國(guó)際研究界,擔(dān)任 FPL 2018 年的技術(shù)聯(lián)合主席、研討會(huì)組織者 (H2RC、ITEM)、眾多歐盟項(xiàng)目的行業(yè)顧問、眾多技術(shù)計(jì)劃委員會(huì)(FPL、ISFPGA、DATE 等)的成員,2015 年獲得 WMB 獎(jiǎng),入圍 2019 年 VentureBeat Women 人工智能獎(jiǎng),并獲得 2019 年女性科技獎(jiǎng)。
原文標(biāo)題:Xilinx實(shí)驗(yàn)室為何為開源而重構(gòu) FINN?
文章出處:【微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
Xilinx
+關(guān)注
關(guān)注
71文章
2169瀏覽量
121823 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7589瀏覽量
89032 -
開源
+關(guān)注
關(guān)注
3文章
3386瀏覽量
42611
原文標(biāo)題:Xilinx實(shí)驗(yàn)室為何為開源而重構(gòu) FINN?
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論