《電子技術應用》
您所在的位置:首頁 > 人工智能 > 解決方案 > 一種基于FPGA的圖神經網絡加速器解決方案

一種基于FPGA的圖神經網絡加速器解決方案

2021-08-10
來源:Achronix
關鍵詞: FPGA 神經網絡 Achronix

  得益于大數據的興起和計算能力的快速提升,機器學習技術近年來經歷了革命性的發展。諸如圖像分類、語音識別和自然語言處理等機器學習任務,都是對具有一定大小、維度和有序排列的歐幾里得數據進行處理。然而,在許多現實場景中,數據是由復雜的非歐幾里得數據(例如圖形)表示的。這些圖形不僅包含數據,還包含數據之間的依賴關系,例如社交網絡、蛋白質分子結構、電子商務平臺中的客戶數據等。數據復雜性的提升給傳統的機器學習算法設計及其實現技術帶來了嚴峻的挑戰。在這種情況下,許多全新的基于圖形的機器學習算法或圖神經網絡(GNN)不斷在學術界和工業界涌現。

  GNN對計算能力和存儲有非常高的要求,而且其算法的軟件實現效率非常低。因此,業界對GNN的硬件加速有著非常迫切的需求。盡管傳統的卷積神經網絡(CNN)硬件加速有很多種解決方案,但GNN的硬件加速還沒有得到充分的討論和研究。在撰寫本白皮書時,谷歌(Google)和百度(Baidu)都無法搜索到關于GNN硬件加速的中文研究資料。本白皮書的寫作動機是將國外最新的GNN算法、對加速技術的研究以及對基于現場可編程邏輯門陣列(FPGA)的GNN加速技術的探討相結合,并以概述的形式呈現給讀者。

  對圖神經網絡(GNN)的介紹

  在宏觀層面上,GNN的架構與傳統CNN有很多相似之處,諸如卷積層、池化、激活函數、機器學習處理器(MLP)、全連接層(FC layer)等模塊,這些都可以應用到GNN。下圖展示了一個相對簡單的GNN架構。

微信截圖_20210810170004.png

  圖1:典型的GNN架構(來源:https://arxiv.org/abs/1901.00596)

  但是,GNN中的圖形數據卷積計算與傳統CNN中的二維卷積計算不同。以下圖為例,紅色目標節點的卷積計算過程如下所示:

  1、圖卷積 - 使用近鄰函數對周圍節點的特征進行采樣,并計算平均值。相鄰節點的數量是不確定且無序的(非歐幾里得數據)

  2、二維卷積——使用卷積核對周圍節點的特征進行采樣,并計算加權平均值。相鄰節點的數量是確定且有序的(歐幾里得數據)

微信截圖_20210810170040.png

  圖2:圖卷積和二維卷積(來源:https://arxiv.org/abs/1901.00596)

  對GraphSAGE算法的介紹

  學術界對GNN算法進行了大量的研究和探討,提出了相當多的創新實現方法。其中,由斯坦福大學(Stanford University)于2017年提出的GraphSAGE是一種歸納表示學習算法,用于預測大規模圖中動態的、全新的、未知的節點類型,還專門針對節點數量龐大、節點特征豐富的圖進行了優化。如下圖所示,GraphSAGE算法的計算過程可以分為三個主要步驟:

  1、相鄰節點采樣——用于降低復雜性,一般采樣兩層,每層采樣幾個節點。

  2、聚合——用于嵌入目標節點,即圖的低維向量表示。

  3、預測——使用嵌入作為全連接層的輸入,以預測目標節點d的標簽。

微信截圖_20210810170108.png

  圖3:GraphSAGE算法的可視化表示(來源:http://snap.stanford.edu/graphsage)

  1.Sample neighborhood

  1、樣本鄰域

  2.Aggregate feature information from neighbors

  2、聚合來自鄰域的特征信息

  3.Predict graph context and label using aggregated information

  3、利用聚合信息預測圖形情況和標簽

  為了在FPGA中實現GraphSAGE算法加速,必須了解其數學模型,以便將算法映射到不同的邏輯模塊。下圖所示的代碼說明了該算法的數學過程。

微信截圖_20210810170139.png

  圖4:GraphSAGE算法的數學模型(來源:http://snap.stanford.edu/graphsage)

  Step 1: Sample a sub-graph node with neighborhood function N[}.

  步驟1:使用近鄰函數N[}對子圖節點進行采樣。

  Step 2: Aggregate features from neighbor nodes, e.g. mean[}, lstm[}, polling[}

  步驟2:聚合相鄰節點的特征,例如mean[}、lstm[}、polling[}

  Step3: Combine aggregated node features. E.g. convolution[}

  步驟3:合并聚合的節點特征。例如卷積[}

  Step 4: Nonlinear activation, e.g, relu[}

  步驟4:非線性激活,例如relu[}

  Step 5: Iterate for each neighbor with a sub-graph

  步驟5:使用子圖迭代每個鄰域

  Step 6: Normalize

  步驟6:標準化

  Step 7: Iterate for each search-depth

  步驟7:對每個深度搜索進行迭代

  Step 8: Final node embedding of node v

  步驟8:節點v的最終節點嵌入

  對于每個要處理的目標節點xv,GraphSAGE算法都會執行以下操作:

  1、通過近鄰采樣函數N(v)對子圖中的節點進行采樣。

  2、聚合要采樣的相鄰節點的特征。聚合函數可以是mean()、lstm()或polling()等。

  3、將聚合結果與上一次迭代的輸出表示合并起來,并使用Wk進行卷積。

  4、對卷積結果進行非線性處理。

  5、多次迭代以結束當前第k層的所有相鄰節點的處理。

  6、對第k層迭代的結果進行標準化處理。

  7、多次迭代以結束對所有K層采樣深度的處理。

  8、將最終的迭代結果zv嵌入到輸入節點xv。

  GNN加速器設計所面臨的挑戰

  GNN算法涉及大量的矩陣計算和存儲訪問操作。在傳統的x86架構服務器上運行這種算法的效率是非常低的,表現為速度慢、能耗高等。

  新型圖形處理器(GPU)的應用可以顯著提高GNN的計算速度與能效比。但是,GPU在存儲可擴展性方面存在短板,使其無法處理圖形中的海量節點。GPU的指令執行方式也會導致計算延遲過大和不確定性;因此,它不適用于需要實時計算圖形的場景。

  上面提到的各種設計挑戰,使得業界迫切需要一種能夠支持高并發、實時計算,擁有巨大存儲容量和帶寬,并可擴展到數據中心的GNN加速解決方案。

  基于FPGA設計方案的GNN加速器

  Achronix的Speedster?7t系列FPGA產品(以及該系列的第一款器件AC7t1500)是針對數據中心和機器學習工作負載進行了優化的高性能FPGA器件,消除了基于中央處理器(CPU)、GPU和傳統FPGA的解決方案中存在的若干性能瓶頸。Speedster7t系列FPGA產品采用了臺積電(TSMC)的7nm FinFET工藝,其架構采用了一種革命性的全新二維片上網絡(NoC)、獨創的機器學習處理器矩陣(MLP),并采用高帶寬GDDR6控制器、400G以太網和PCI Express Gen5接口,在確保ASIC級性能的同時,它為用戶提供了靈活的硬件可編程性。下圖展示了高性能FPGA器件Speedster7t1500的架構。

微信截圖_20210810170232.png

  圖5:Achronix高性能FPGA器件Speedster AC7t1500的架構

  上述特點使Achronix Speedster7t1500器件成為應對在GNN加速器設計中面臨的各種挑戰的完美解決方案。

  表1:GNN設計面臨的挑戰和Achronix Speedster7t1500 FPGA器件提供的解決方案

微信截圖_20210810170316.png

  GNN加速器頂層架構

  此GNN加速器是為GraphSAGE算法設計的,但是它的設計也可以應用于其他類似的GNN算法加速。其頂層架構如下圖所示。

微信截圖_20210810170349.png

  圖6:GNN加速器頂層架構

  Synthesizable IPs

  可綜合的IP

  GNN Core: Preforms GNN computation

  GNN內核:執行GNN計算

  RoCE-Lite: Memory scalability with RDMA

  RoCE-Lite:采用RDMA的存儲可擴展性

  Harden IPs

  硬化IP

  NoC: High speed and unified IP connectivity

  NoC:高速、統一的IP連接

  DDR4 Ctrl: Large memory for graph storage

  DDR4 Ctrl:用于圖形存儲的大存儲容量

  GDDR6 Ctrl: High speed memory for computing

  GDDR6 Ctrl:用于計算的高速存儲

  PCIe Gen5×16: High throughout host interface

  PCIe Gen5×16:高吞吐量的主機接口

  Ethernet 400GE: High speed network

  以太網400GE:高速網絡

  該架構由以下模塊組成:

  ·圖中的GNN內核是算法實現的核心部分(詳情如下)。

  ·RoCE-Lite是RDMA協議的輕量級版本,用于通過高速以太網進行遠程存儲訪問,以支持海量節點的圖計算。

  ·400GE以太網控制器用于承載RoCE-Lite協議。

  ·GDDR6存儲器用于存儲GNN處理過程中所需的高速訪問數據(DDR4作為備用大容量存儲器)。該存儲器用于存儲訪問頻率相對較低的數據,例如待預處理的圖形數據。

  ·PCIe Gen5 ×16 接口提供高速主機接口,用于與服務器軟件進行數據交互。

  上述所有模塊均通過具有高帶寬的NoC實現互連。

  GNN內核微架構

  在開始討論GNN內核的微架構之前,有必要先回顧一下GraphSAGE算法。其內層循環的聚合和合并(包括卷積)占據了該算法的大部分計算和存儲訪問。通過研究,我們得出這兩個步驟的特點,具體如下。

  表2:GNN算法中聚合和合并操作的對比(來源:https://arxiv.org/abs/1908.10834)

  微信截圖_20210810170449.png

  可以看出,聚合操作和合并操作在計算和存儲訪問模式上有著完全不同的需求。聚合操作涉及相鄰節點的采樣。然而,圖形是一種非歐幾里得數據類型——它的大小和維度是不確定且無序,矩陣稀疏,節點位置隨機。因此,存儲訪問是不規則的,并且難以重復利用數據。

  在合并操作中,輸入數據是聚合結果(節點的低維表示)和權重矩陣。它的大小和維度是固定的,具有線性存儲位置。因此對存儲訪問沒有挑戰,但是矩陣的計算量非常大。

  基于上述分析,我們決定在GNN內核加速器設計中選擇使用兩種不同的硬件結構來分別處理聚合和合并操作(如下圖示):

  ·聚合器——通過單指令多數據(SIMD)處理器陣列,對圖形相鄰節點進行采樣和聚合。單指令可以預定義為mean()平均值計算,或其他適用的聚合函數;多數據是指單次mean()均值計算中需要多個相鄰節點的特征數據作為輸入,這些數據來自子圖采樣器。SIMD處理器陣列通過調度器Agg Scheduler進行負載平衡。子圖采樣器通過NoC從GDDR6或DDR4讀回的鄰接矩陣和節點特征數據h0v分別緩存在鄰接列表緩沖區(Adjacent List Buffer)和節點特征緩沖區(Node Feature Buffer)。聚合的結果hkN(v)存儲在聚合緩沖區(Aggregation Buffer)中。

   ·合并器——通過脈動矩陣PE對聚合結果進行卷積運算。卷積核是Wk權重矩陣。卷積結果由ReLU激活函數進行非線性處理,同時也存儲在Partial Sum Buffer中,以用于下一輪迭代。

微信截圖_20210810170536.png

  圖7:GNN內核功能框圖

  合并結果經過L2BN標準化處理后,即為最終的節點表示hkv。在一個典型的節點分類預測應用中,節點表示hkv可以通過一個全連接層(FC)來獲取節點的分類標簽。這個過程是傳統的機器學習處理方法之一,在GraphSAGE文獻資料中沒有體現,這個功能也沒有包含在這個架構中。

  結論

  本白皮書探討了GraphSAGE GNN算法的數學原理,并從多個角度分析了GNN加速器設計中的技術挑戰。通過分析問題并在架構層面逐一解決,提出了一種架構,利用Achronix Speedster7t AC7t1500 FPGA器件提供的具有競爭性的優勢,創建了一種高度可擴展的、能夠提供卓越性能的GNN加速解決方案。




微信圖片_20210517164139.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美国产91| 亚洲黄色性网站| 国产综合色在线| 久久青草欧美一区二区三区| av成人老司机| 欧美乱大交xxxxx| 亚洲欧洲av一区二区| 亚洲激情第一页| 欧美日韩精品福利| 亚洲精品欧美日韩| 亚洲国产欧美日韩| 一区二区三区在线免费观看| 国内精品久久国产| 日韩视频亚洲视频| 亚洲免费观看在线视频| 久久成人av少妇免费| 亚洲一区二区三区国产| 亚洲国产成人高清精品| 国产精品色午夜在线观看| 久久久久久久激情视频| 亚洲第一页自拍| 国产亚洲激情视频在线| 麻豆精品视频在线观看视频| 亚洲欧美综合精品久久成人| 原创国产精品91| 亚洲欧美日韩国产综合精品二区| 一区二区三区日韩精品| 99视频精品全国免费| 亚洲第一天堂av| 激情小说亚洲一区| 欧美在线综合视频| 国产亚洲一区二区三区在线观看| 国产欧美亚洲视频| 欧美一区二区在线视频| 欧美三级欧美一级| 欧美精品久久久久久久久久| 亚洲电影免费观看高清完整版在线观看| 揄拍成人国产精品视频| 日韩亚洲视频| 久久久久九九九九| 亚洲人成毛片在线播放| 欧美激情一区二区三区高清视频| 亚洲国产精品嫩草影院| 欧美日韩专区在线| 国产精品女主播| 久久在线91| 亚洲精品乱码久久久久久日本蜜臀| 欧美主播一区二区三区美女 久久精品人| 洋洋av久久久久久久一区| 在线欧美一区| 欧美小视频在线观看| 夜夜爽99久久国产综合精品女不卡| 一区二区三区国产精华| 国产精品久久久免费| 亚洲手机视频| 在线中文字幕一区| 国产精品一区免费视频| 国产嫩草一区二区三区在线观看| 亚洲免费在线视频| 午夜精品久久一牛影视| 亚洲毛片在线免费观看| 欧美视频一区二区三区| 亚洲欧美激情在线视频| 国产亚洲欧美一区| 91久久精品国产91久久| 伊人成人在线视频| 国产综合色精品一区二区三区| 久久久久久亚洲精品杨幂换脸| 欧美色视频日本高清在线观看| 国产精品视屏| 欧美高清你懂得| 国产精品视频免费观看www| 国内不卡一区二区三区| 国产一区二区三区久久悠悠色av| 欧美午夜视频在线| 久久亚洲精品欧美| 欧美在线一二三| 欧美欧美全黄| 国产欧美一区二区精品性色| 欧美三级在线视频| 国产精品人人爽人人做我的可爱| 久久免费高清| 欧美激情精品久久久久久大尺度| 国产伦精品一区二区三区高清| 亚洲精品国产欧美| 亚洲欧洲日韩在线| 极品少妇一区二区| 久久在线免费观看视频| 国产精品美女久久福利网站| 极品少妇一区二区三区精品视频| 亚洲视频 欧洲视频| 欧美色欧美亚洲另类二区| 乱中年女人伦av一区二区| 合欧美一区二区三区| 欧美成人精精品一区二区频| 国内自拍亚洲| 久久婷婷综合激情| 欧美在线观看一区二区| 免费看黄裸体一级大秀欧美| 久久精品国产77777蜜臀| 欧美日韩综合另类| 国产午夜精品久久久久久免费视| 久久久久久九九九九| 亚洲综合三区| 亚洲精品九九| 亚洲乱码国产乱码精品精可以看| 性久久久久久久久| 美女主播精品视频一二三四| 亚洲精品永久免费| 激情视频一区| 国内免费精品永久在线视频| 小辣椒精品导航| 欧美精品在线网站| 美女网站在线免费欧美精品| 欧美电影专区| 亚洲精品国精品久久99热| 一区二区三区精品视频在线观看| 母乳一区在线观看| 国产欧美一区二区精品仙草咪| 在线成人激情| 国产婷婷成人久久av免费高清| 国产一级一区二区| 久久亚洲精品一区二区| 国产亚洲毛片在线| 最新国产の精品合集bt伙计| 亚洲午夜视频| 国产专区欧美精品| 久久综合中文色婷婷| 国产亚洲一级| 国产精品国内视频| 亚洲网友自拍| 久久久久久久久综合| 久久精品国产综合| 亚洲欧美日韩一区二区三区在线观看| 欧美精品在线极品| 亚洲免费电影在线| 欧美午夜精品一区| 欧美日产一区二区三区在线观看| 欧美二区乱c少妇| 国产精品日韩专区| 亚洲视频每日更新| 久久欧美肥婆一二区| 欧美日韩在线视频一区| 日韩视频在线你懂得| 欧美专区在线| 在线综合亚洲欧美在线视频| 欧美巨乳在线| 一本大道久久a久久综合婷婷| 国产精品久久久久aaaa樱花| 亚洲裸体俱乐部裸体舞表演av| 欧美日韩精品一本二本三本| 免费成人黄色片| 国产视频在线一区二区| 国产精品高清在线观看| 国产三区二区一区久久| 久久嫩草精品久久久精品| 亚洲美女av在线播放| 欧美三级电影网| 91久久精品日日躁夜夜躁国产| 国产精品五月天| 亚洲欧美在线观看| 韩国av一区二区三区在线观看| 欧美激情国产高清| 午夜精品久久久久| 欧美日韩三级| 国产日韩一区二区三区在线| 一本色道**综合亚洲精品蜜桃冫| 久久www免费人成看片高清| 国产在线视频欧美| 欧美日韩一区二区视频在线观看| 国产精品久久中文| 欧美伊人久久大香线蕉综合69| 国内外成人免费激情在线视频| 一本久久a久久精品亚洲| 在线观看成人小视频| 欧美在线日韩| 欧美伊人久久久久久午夜久久久久| 性感少妇一区| 亚洲国产天堂网精品网站| 香蕉国产精品偷在线观看不卡| 久久激情视频免费观看| 欧美一区二区三区精品| 在线看国产一区| 久久se精品一区精品二区| 一区二区三区中文在线观看| 国产精品久久网| 雨宫琴音一区二区在线| 国产欧美日韩免费看aⅴ视频| 久久裸体艺术| 欧美大香线蕉线伊人久久国产精品| 国产精品网曝门| 欧美国产日韩一区二区在线观看| 国际精品欧美精品| 西西人体一区二区| 狠狠狠色丁香婷婷综合久久五月| 在线观看不卡av| 国产精品一区毛片| 国产欧美日韩在线| 在线观看国产精品淫| 国产精品99久久久久久宅男| 欧美电影免费| 国产喷白浆一区二区三区| 亚洲性视频网站| 亚洲一区二区在线看| 狠狠色狠狠色综合日日五| 国产精品国产三级国产aⅴ浪潮| 国产日韩欧美在线一区| 国产亚洲美州欧州综合国| 久久一区二区三区av| 另类综合日韩欧美亚洲| 国产精品女人久久久久久| 欧美精品久久久久久| 欧美乱人伦中文字幕在线| 久久久久高清| 久久国产精品免费一区| 亚洲精品在线看| 国产精品福利在线观看| 国产精品卡一卡二| 一区二区三区精品| 国内精品美女av在线播放| 欧美一级视频精品观看| 久久久福利视频| 国产精品三上| 欧美日韩国产色综合一二三四| 国产精品日本欧美一区二区三区| 亚洲精品影视| 国产日韩精品在线播放| 国产精品久久久久秋霞鲁丝| 红桃av永久久久| 亚洲国产婷婷香蕉久久久久久| 狠狠综合久久av一区二区小说| 亚洲国产欧美一区| 国产精品网站在线观看| 亚洲第一页中文字幕| 欧美色精品天天在线观看视频| 美女精品网站| 一本大道av伊人久久综合| 久久尤物电影视频在线观看| 女人香蕉久久**毛片精品| 亚洲免费福利视频| 国产精品三级久久久久久电影| 9色porny自拍视频一区二区| 亚洲午夜成aⅴ人片| 国内精品99| 国产精品一区二区久久国产| 久久亚洲一区| 欧美日韩在线观看一区二区三区| 欧美性大战久久久久久久| 欧美精品在线视频观看| 亚洲国产高清高潮精品美女| 国产欧美精品日韩区二区麻豆天美| 亚洲视频自拍偷拍| 久久久久www| 久久香蕉国产线看观看网| 亚洲区免费影片| 一本久道久久综合婷婷鲸鱼| 亚洲免费视频中文字幕| 制服丝袜亚洲播放| 久久久av毛片精品| 欧美日韩一区在线播放| 美脚丝袜一区二区三区在线观看| 国产情侣久久| 国产日韩高清一区二区三区在线| 亚洲午夜视频在线| 欧美性猛交99久久久久99按摩| 亚洲国产精品999| 久热精品视频| 欧美视频在线视频| 美日韩精品免费观看视频| 欧美午夜视频在线观看| 狠狠狠色丁香婷婷综合久久五月| 乱人伦精品视频在线观看| 亚洲精品女人| 欧美精品v日韩精品v国产精品| 欧美视频中文字幕| 在线成人性视频| 一区二区三区四区蜜桃| 国产精品qvod| 午夜精品久久久久久久久| 黄色成人小视频| 亚洲国产成人porn| 91久久精品国产91久久性色tv| 香蕉成人啪国产精品视频综合网| 国产精品欧美一区喷水| 99视频精品免费观看| 国产亚洲精品v| 国产女主播一区二区| 欧美日韩另类在线| 激情六月综合| 99国产精品久久| 欧美三级特黄| 91久久国产精品91久久性色| 国内外成人免费视频| 亚洲午夜精品国产| 亚洲激情成人网| 欧美日本国产| 国产午夜精品视频免费不卡69堂| 欧美一区三区三区高中清蜜桃| 一区免费在线| 欧美制服丝袜第一页| 宅男在线国产精品| 国产精品永久| 亚洲日韩欧美视频一区| 一本色道久久88综合亚洲精品ⅰ| 国产欧美日韩一区二区三区| 久久在线免费观看视频| 伊人春色精品| 国产精品你懂的在线欣赏| 欧美在线视频不卡| 欧美成人免费播放| 国产精品男gay被猛男狂揉视频| 在线播放豆国产99亚洲| 欧美欧美天天天天操| 欧美日韩亚洲激情| 久久精品一区二区三区四区| 欧美日韩国产小视频| 欧美日韩精品免费在线观看视频| 欧美日韩一级视频| 亚洲国产老妈| 一本色道久久99精品综合| 亚洲精品免费一区二区三区| 久久国产精品99国产精| 欧美在线一级视频| 尤物yw午夜国产精品视频| 极品少妇一区二区三区精品视频| 欧美日韩裸体免费视频| 亚洲狼人精品一区二区三区| ●精品国产综合乱码久久久久|