《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 人工智能 > 解決方案 > Achronix創(chuàng)新的機(jī)器學(xué)習(xí)處理器(MLP)突破傳統(tǒng)FPGA時序性能瓶頸

Achronix創(chuàng)新的機(jī)器學(xué)習(xí)處理器(MLP)突破傳統(tǒng)FPGA時序性能瓶頸

2020-04-27
作者:楊宇,Achronix資深現(xiàn)場應(yīng)用工程師
來源:Achronix

MLP_Conv2D是功能齊全的設(shè)計(jì),可將2D輸入圖像與多個內(nèi)核同時進(jìn)行卷積。 該設(shè)計(jì)充分利用了MLP和BRAM模塊,每個MLP一個周期執(zhí)行12個int8乘法。此外,MLP列和BRAM塊均等級聯(lián)以有效地將圖像數(shù)據(jù)傳遞,從而允許同時處理多個內(nèi)核。

該設(shè)計(jì)使用NoC接入點(diǎn)(NAP)從片上網(wǎng)絡(luò)(NoC)讀取或?qū)懭霐?shù)據(jù)。NoC連接到Speedster7t器件中的GDDR6控制器再到外部存儲器。

AlexNet

盡管最初為AlexNet圖像和內(nèi)核大小配置了MLP_Conv2D設(shè)計(jì),但是2D卷積是一個通用過程,因此可以重新配置該設(shè)計(jì)并使其適應(yīng)許多不同的2D方法。

2D卷積的一般原理是在圖像(實(shí)際上是另一個2D矩陣)上傳遞內(nèi)核(2D矩陣)。對于每次計(jì)算,內(nèi)核均以輸入圖像的像素為中心,并對每個內(nèi)核值(稱為權(quán)重)與其當(dāng)前對齊的像素執(zhí)行乘法運(yùn)算。這些乘法的總和給出了原始圖像像素的特定卷積結(jié)果。然后將內(nèi)核移至下一個像素,并重復(fù)該過程。

經(jīng)過訓(xùn)練的內(nèi)核,2D卷積生成一個輸出結(jié)果圖像,突出顯示輸入圖像的特定特征,例如垂直線,水平線,變化角度的對角線和變化半徑的曲線。然后可以將這些特征輸入到其他處理層(包括其他2D卷積),然后可以將其標(biāo)識為(通常在軟件中)為特定對象。

因此,二維卷積處理不應(yīng)被視為圖像識別的完整解決方案,而應(yīng)被視為處理操作鏈中的單個關(guān)鍵組件。

乘法密度

2D卷積的挑戰(zhàn)是所需的乘法數(shù)量,這就是MLP中專用的乘法器陣列。對于AlexNet配置,每個內(nèi)核為11×11= 121個權(quán)重值。但是,卷積實(shí)際上是3D的,因?yàn)檩斎雸D像具有三層(RGB),因此一組內(nèi)核有121×3 = 363個乘法來產(chǎn)生單個輸出結(jié)果。AlexNet輸入圖像為227×227;但是,此圖像的stride為4(在計(jì)算之間內(nèi)核移動了四個像素)。此過程導(dǎo)致輸出結(jié)果矩陣為54×54 = 2916個結(jié)果。因此,對于一幅圖像需要363×2916 = 1,058,508次乘法;即處理一個圖像需要進(jìn)行一百萬次以上的累加運(yùn)算。其中單個Kernel進(jìn)行2D卷積的動態(tài)示意圖如下:

 

圖片1.png

圖表 1 單個Kernel進(jìn)行2D卷積的動態(tài)示意圖

對于MLP_Conv2D,其設(shè)計(jì)旨在一次處理一幅圖像中的60個內(nèi)核,單次執(zhí)行超過6000萬次乘法累加操作。

性能

MLP_Conv2D設(shè)計(jì)可以以750 MHz的頻率運(yùn)行。單個MLP能夠在137 μs內(nèi)對具有11×11內(nèi)核的單個227×227 RGB輸入圖像進(jìn)行卷積,相當(dāng)于每秒15.4GOPS(包含乘和加)。 但一個MLP_Conv2D實(shí)例由60個并行運(yùn)行的MLP構(gòu)成,可以同時對60個輸入圖像進(jìn)行卷積,相當(dāng)于924GOPS。 最后,將多達(dá)40個MLP_Conv2D實(shí)例化到單個器件中,每個實(shí)例都通過自己的NAP將數(shù)據(jù)傳輸?shù)紾DDR6存儲器,從而實(shí)現(xiàn)了組合高達(dá)37 TOPS的性能-相當(dāng)于每秒處理28,8000張圖像(本設(shè)計(jì)主要針對卷積核)。

資源

MLP_Conv2D圍繞MLP和BRAM塊功能而設(shè)計(jì),并使用它們各自的內(nèi)部級聯(lián)走線。 同樣,NAP允許直接從外部存儲器路由數(shù)據(jù)互聯(lián)。這些功能可實(shí)現(xiàn)最小的附加邏輯或路由要求,利用率表如下:

 

圖片2.png

圖表 2 單個MLP_Conv2D實(shí)例資源使用

 

圖片3.png

圖表 3 并行40個MLP_Conv2D實(shí)例資源使用

 

圖片4.png

圖表 4 MLP_Conv2D框圖

數(shù)據(jù)流:單個MLP

每個MLP都有一個鄰近的BRAM。 在此設(shè)計(jì)中BRAM用于存儲內(nèi)核并將其多次傳遞到MLP。 初始化時,將從輸入NAP中讀取不同的內(nèi)核,并將其寫入相應(yīng)的BRAM。 BRAM在寫側(cè)配置為72位,而讀取設(shè)置為144位。在操作期間,僅將96位用作內(nèi)核權(quán)重,即讀取為4個權(quán)重×3層×8位。初始圖像數(shù)據(jù)從NAP讀取到輸入FIFO中,該輸入FIFO用于將圖像存儲為一系列行。盡管此輸入存儲器被列為FIFO,但仍可作為可重復(fù)讀取的FIFO,因?yàn)榭梢远啻螐闹凶x取行。該存儲器配置為144位寬,僅使用96位,由兩個BRAM72K組成。每個字由4個像素×3層×8位組成。初始化時,將讀取足夠的行以匹配內(nèi)核中的行數(shù)加上垂直跨步所需的行數(shù)。即

 

圖片8.png

一旦加載了初始數(shù)據(jù)和內(nèi)核,便開始計(jì)算。

從輸入FIFO中讀取第一條圖像行,并讀取與內(nèi)核水平大小匹配的圖像數(shù)據(jù)像素?cái)?shù)量。在讀取這些像素時,將讀取匹配的內(nèi)核權(quán)重。MLP將這些96位流的每一個乘以12個int8值并累加結(jié)果。輸入FIFO前進(jìn)到第二行,重復(fù)此過程,直到內(nèi)核的所有行都與輸入圖像左上角的適當(dāng)像素相乘。在此過程中,MLP積累了結(jié)果;現(xiàn)在,該結(jié)果是圖像與內(nèi)核卷積的左上角的2D卷積。該結(jié)果以16位結(jié)果的形式從MLP輸出。重復(fù)此過程,輸入FIFO跨行超前STRIDE參數(shù)設(shè)置的像素?cái)?shù)(對于當(dāng)前設(shè)計(jì),STRIDE固定為4)。在每個處理周期包括在內(nèi)時,都會生成另一個結(jié)果,直到水平地獲取了適當(dāng)數(shù)量的結(jié)果為止。

然后,將輸入FIFO下移STRIDE行數(shù),然后重復(fù)該過程以生成輸入圖像中下一組線的卷積結(jié)果。當(dāng)輸入FIFO向下移動時,不再需要FIFO中的初始行,因此與MLP計(jì)算并行時,將加載下一組用于輸入圖像的STRIDE行。考慮外部存儲源的帶寬要求時,可以看到映像和內(nèi)核僅從內(nèi)存中讀取一次。然后,它們可以從各自的BRAM中重新使用,從而減少了外部存儲器帶寬的總體負(fù)擔(dān),其過程參考圖表1。

數(shù)據(jù)流:多個MLP

MLP的一個顯著特點(diǎn)是能夠?qū)?shù)據(jù)和結(jié)果從一個MLP或BRAM級聯(lián)到同一列中。 MLP_Conv2D通過將MLP及其關(guān)聯(lián)的BRAM放在列組中來利用這些級聯(lián)路徑。在將BRAM加載到內(nèi)核時,級聯(lián)路徑用于將數(shù)據(jù)流水線傳輸?shù)矫總€BRAM,并且使用BRAM塊地址模式選擇要寫入內(nèi)核的BRAM。

在計(jì)算過程中,輸入的圖像數(shù)據(jù)將在MLP的列中級聯(lián),以便每個MLP在其下一個鄰居之后的一個周期接收到圖像數(shù)據(jù)。同時,控制內(nèi)核讀取的BRAM讀取地址以一個周期的延遲級聯(lián)到BRAM列中。這樣,每個MLP在其先前的MLP之后一個周期接收相同的圖像數(shù)據(jù)和相同的內(nèi)核讀取地址。每個MLP的計(jì)算差異在于,其關(guān)聯(lián)的BRAM將具有不同的內(nèi)核數(shù)據(jù)。結(jié)果是一個圖像并行地與多個內(nèi)核卷積。并行卷積的數(shù)量稱為BATCH。

數(shù)據(jù)流:計(jì)算結(jié)果

如前所述,每個MLP為內(nèi)核和圖像部分的每個卷積生成16位結(jié)果。

MLP排列在16列中,因此從該列中生成一個256位字,該字由該列中每個MLP的結(jié)果組成。然后將此256位字寫入輸出NAP。 這種安排導(dǎo)致卷積結(jié)果作為同一圖像的圖層存儲在內(nèi)存中;因此,當(dāng)三層或RGB存儲在單個輸入字中時,匹配輸入字排列。

然后,由于可以在完整的256位結(jié)果上的16個并行實(shí)例中執(zhí)行激活功能,因此該安排允許將涉及的結(jié)果并行處理到激活層中。同樣,一旦256位結(jié)果通過輸出NAP寫回到存儲器中,則可以將結(jié)果讀回到另一個2D卷積電路中。

 

圖片5.png

圖表 5 MLP_Conv2D布局示意圖

布局

在Speedster7t架構(gòu)中,每個NAP對應(yīng)32個MLP。該設(shè)計(jì)經(jīng)過優(yōu)化,可使用兩個NAP,一個用于讀取,一個用于寫入,因此可以對應(yīng)64個MLP。

但是,輸入和輸出FIFO需要兩個BRAM 72K存儲塊才能創(chuàng)建一個256位寬的組合存儲器。因此,這些存儲器將消耗64個可用位置中的四個用于數(shù)據(jù)I / O。

設(shè)計(jì)被安排為使用與兩個NAP相關(guān)聯(lián)的四列MLP。但是,第一列和最后一列都使用14個MLP,剩下兩個MLP位置分別用于輸入和輸出FIFO。中間兩列使用所有16個可用的MLP。在平面圖中,各列的排列方式是使第一列(底部具有輸入FIFO存儲器)與NAP相鄰,以改善時序。

下面顯示了一個實(shí)例,即使用了60個MLP(Batch=60)的設(shè)計(jì)實(shí)際布局圖(突出顯示了路線):

 

圖片6.png

圖表 6 60個MLP布局圖

在全芯片構(gòu)建中使用40個實(shí)例時,盡力使每個實(shí)例都使用NAP與內(nèi)存進(jìn)行通信。結(jié)果,F(xiàn)Max仍能達(dá)到750MHz,并使用掉芯片中的所有80個NAP以及94%的MLP和BRAM72K。

 

圖片7.png

圖表 7 2400個MLP布局圖

下一期將舉例介紹MLP的浮點(diǎn)架構(gòu)和性能,敬請期待。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一二三区精品| 欧美成人激情在线| 亚洲国产影院| 先锋影音国产精品| 亚洲免费在线视频| 一区二区三区国产精华| 亚洲精品视频在线观看网站| 精品999日本| 国产欧美精品| 国产精品专区h在线观看| 国产精品久久久久久妇女6080| 欧美日韩国语| 欧美日韩精品一区二区天天拍小说| 欧美成人情趣视频| 免费不卡欧美自拍视频| 久久在线精品| 理论片一区二区在线| 久久青草欧美一区二区三区| 久久精品国产亚洲5555| 欧美在线视频一区二区| 久久精品毛片| 久久久久www| 另类图片综合电影| 免费观看成人www动漫视频| 女人色偷偷aa久久天堂| 欧美好骚综合网| 欧美区视频在线观看| 欧美日韩小视频| 国产精品美女视频网站| 国产精品一区二区黑丝| 国产精品亚洲一区| 国产一级揄自揄精品视频| 国产日韩综合| 激情一区二区三区| 亚洲国产91色在线| 亚洲人精品午夜在线观看| 亚洲精品乱码久久久久久久久| 日韩一级在线观看| 亚洲夜间福利| 欧美一级免费视频| 亚洲国产日韩一区二区| 日韩小视频在线观看专区| 亚洲午夜久久久久久久久电影院| 亚洲自拍都市欧美小说| 欧美一区中文字幕| 美国十次成人| 欧美日韩精品一区| 国产噜噜噜噜噜久久久久久久久| 国内一区二区在线视频观看| 亚洲黄色三级| 一区二区三区高清在线| 欧美一区免费视频| 日韩视频免费观看高清在线视频| 宅男在线国产精品| 欧美中文字幕视频| 欧美成人伊人久久综合网| 欧美日韩久久| 国产色产综合色产在线视频| 亚洲第一区中文99精品| 亚洲毛片在线| 欧美一区二区三区视频在线| 亚洲精品美女久久久久| 亚洲一区二区三区涩| 久久久久高清| 欧美日韩中文字幕在线| 国产亚洲a∨片在线观看| 亚洲日本无吗高清不卡| 亚洲欧美国产77777| 亚洲精品国产视频| 亚洲欧美日韩精品一区二区| 免费观看一区| 国产精品任我爽爆在线播放 | 国产精品高精视频免费| 狠狠色综合网站久久久久久久| 亚洲精品国产精品久久清纯直播 | 亚洲国产专区校园欧美| 亚洲自啪免费| 欧美va天堂va视频va在线| 国产精品mm| 亚洲第一黄色| 午夜久久美女| 99亚洲伊人久久精品影院红桃| 久久国产精品99国产| 欧美日韩dvd在线观看| 国产夜色精品一区二区av| 夜夜精品视频| 亚洲人成人77777线观看| 久久国产手机看片| 欧美日韩国语| 亚洲二区在线| 欧美在线在线| 欧美一级电影久久| 欧美日韩国产综合视频在线观看中文| 黑人操亚洲美女惩罚| 亚洲午夜激情网页| 99视频一区二区三区| 玖玖在线精品| 国产欧美丝祙| 亚洲一级二级在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 美乳少妇欧美精品| 国产主播一区| 午夜精品一区二区三区四区 | 99视频在线观看一区三区| 久久夜色精品国产欧美乱| 国产精品日韩在线播放| 洋洋av久久久久久久一区| 亚洲精品免费在线| 老司机aⅴ在线精品导航| 国产一区二区日韩精品| 亚洲综合色丁香婷婷六月图片| 亚洲午夜羞羞片| 欧美美女福利视频| 亚洲国产成人av| 亚洲日本中文字幕| 你懂的网址国产 欧美| 韩国av一区二区三区| 欧美一区二区| 久久黄色影院| 国产私拍一区| 小黄鸭精品aⅴ导航网站入口| 欧美一区二区三区另类| 国产精品入口夜色视频大尺度| 亚洲午夜在线观看| 先锋影音久久久| 国产精品一级久久久| 亚洲一区图片| 欧美一区二区视频网站| 国产欧美精品日韩区二区麻豆天美| 亚洲一区在线观看免费观看电影高清 | 欧美成人午夜激情视频| 一区在线观看视频| 久久国产精品亚洲77777| 久久午夜影视| 黄网站免费久久| 亚洲国产精品成人精品| 免费日韩精品中文字幕视频在线| 亚洲第一区在线观看| 日韩视频免费| 欧美视频中文在线看| 亚洲午夜久久久久久久久电影院| 午夜精品福利电影| 国产手机视频精品| 亚洲国产成人精品久久久国产成人一区| 久久蜜桃资源一区二区老牛| 在线国产日韩| 99re视频这里只有精品| 欧美视频网站| 亚洲欧美视频| 久久夜色精品亚洲噜噜国产mv| 在线观看久久av| 一区电影在线观看| 国产精品免费一区二区三区观看| 亚洲一二三区在线观看| 久久久www成人免费精品| 亚洲丁香婷深爱综合| 亚洲天堂第二页| 国产无一区二区| 亚洲国产另类久久精品| 欧美精品自拍偷拍动漫精品| 亚洲深夜福利网站| 欧美中文字幕视频在线观看| 一区二区三区在线视频免费观看| 日韩亚洲欧美一区| 国产精品美女久久久久久免费 | 国产在线日韩| 亚洲精品在线看| 国产精品视频免费| 久久成人羞羞网站| 欧美精品久久久久久久久老牛影院| 夜夜夜久久久| 久久久久久久久伊人| 亚洲日本欧美天堂| 欧美亚洲色图校园春色| 尤物yw午夜国产精品视频| 中文久久精品| 国内精品视频一区| 中文精品一区二区三区| 国产中文一区二区三区| 一区二区三区视频在线看| 国产在线精品一区二区中文| 99av国产精品欲麻豆| 国产欧美韩国高清| 亚洲精品一区二区三区av| 国产精品一区2区| 99re6这里只有精品| 国产欧美短视频| 99热在线精品观看| 国产一区三区三区| 一本色道久久加勒比精品| 国语自产精品视频在线看| 亚洲天堂av图片| 在线观看日产精品| 欧美一区二区黄| 日韩亚洲欧美成人| 美女尤物久久精品| 午夜精彩国产免费不卡不顿大片| 欧美片网站免费| 91久久精品日日躁夜夜躁欧美| 国产精品羞羞答答|