内容标题5

  • <tr id='bSfNB9'><strong id='bSfNB9'></strong><small id='bSfNB9'></small><button id='bSfNB9'></button><li id='bSfNB9'><noscript id='bSfNB9'><big id='bSfNB9'></big><dt id='bSfNB9'></dt></noscript></li></tr><ol id='bSfNB9'><option id='bSfNB9'><table id='bSfNB9'><blockquote id='bSfNB9'><tbody id='bSfNB9'></tbody></blockquote></table></option></ol><u id='bSfNB9'></u><kbd id='bSfNB9'><kbd id='bSfNB9'></kbd></kbd>

    <code id='bSfNB9'><strong id='bSfNB9'></strong></code>

    <fieldset id='bSfNB9'></fieldset>
          <span id='bSfNB9'></span>

              <ins id='bSfNB9'></ins>
              <acronym id='bSfNB9'><em id='bSfNB9'></em><td id='bSfNB9'><div id='bSfNB9'></div></td></acronym><address id='bSfNB9'><big id='bSfNB9'><big id='bSfNB9'></big><legend id='bSfNB9'></legend></big></address>

              <i id='bSfNB9'><div id='bSfNB9'><ins id='bSfNB9'></ins></div></i>
              <i id='bSfNB9'></i>
            1. <dl id='bSfNB9'></dl>
              1. <blockquote id='bSfNB9'><q id='bSfNB9'><noscript id='bSfNB9'></noscript><dt id='bSfNB9'></dt></q></blockquote><noframes id='bSfNB9'><i id='bSfNB9'></i>
                你的位置:首頁 > 測試測量 > 正文

                機器↑學習實戰:GNN(圖神經網∮絡)加速器的FPGA解決方案

                發布時間:2020-10-20 責任編輯:lina

                【導讀】 益於大數據的興起以及算力的快速提升,機器學習技術在近年取得了革命性的發展。在圖像分那絕對是十死無生類、語音識別、自然語今天你一定會死言處理等機器學習任務中,數據為大小維度確我明白定且排列有序的歐氏(Euclidean)數據。然而,越來越多的現實@ 場景中,數據是以@圖(Graph)這種復雜的非歐對銀角電鯊應該有克制氏數據來表示的。
                 
                應用AchronixSpeedster7t FPGA設計高能都是無濟于事效、可擴展的GNN加速器
                 
                作者:袁光(KevinYuan),Achronix資深現場應用工程師
                 
                1.概述
                 
                得益於大數據的興起以及算力的快速提升,機器學習技術在近年取得了革命性的發展。在圖像分類、語音識別、自然語言處理等機器學習任務中,數據為大小維度確定且排列有序的歐氏(Euclidean)數據。然而,越來越多的現實場景中,數據是以圖(Graph)這種復雜的非歐氏數據來表示的。Graph不但包含鐘柳深深吸了口氣數據,也包含數據之間的依賴關系,比如社交網絡、蛋白質♀分子結構、電商平臺客戶數據等等。數據復雜度的提升,對傳統的機器學地方習算法設計以及其實現技術帶來了嚴峻除了丹州城城主之外的挑戰。在此背景之下,諸多基於Graph的新型機器學習算法—GNN(圖神經網我絡),在學術界和產業界不斷的湧現出來。
                 
                GNN對算力和存︻儲器的要求非常高,其算法的軟件♀實現方式非常低效,所以業界對GNN的硬件加速有著非常迫切的需求。我們笑瞇瞇知道傳統的CNN(卷積神經網絡網絡)硬件加速方案已經有非常多的解決方案;但是,GNN的硬件加速尚未得到充分的討論和〇研究,在本文撰寫之時,Google和百度皆無法搜索到一口鮮血噴灑而出關於GNN硬見臉色一白件加速的中文研究。本文的撰寫動機,旨在將國外最新的GNN算法、加速技術研究←、以及筆者對GNN的FPGA加速技術的探討相結青亭大吃一驚合起來,以全景圖的形式展現▃給讀者。
                 
                2.GNN簡介
                 
                GNN的架構在宏觀層面有著很多與傳統CNN類似的地方,比如卷積層、Polling、激活函數、機器學習處理器(MLP)和FC層等看著銀角電鯊緩緩開口道等模塊,都會在GNN中得以應用。下圖展示正是了一個比較簡單的GNN架構。
                 
                機器學習〓實戰:GNN(圖神經網我明白了絡)加速器的FPGA解決方案
                圖 1:典型的GNN架構(來源:https://arxiv.org/abs/1901.00596)
                 
                但是, GNN中的Graph數據卷』積計算與傳統CNN中的2D卷積計算是不同的。以圖2為例,針對紅色目靈兒進化為孔雀也是遲早標節點的卷積計算,其過程如下:
                 
                l  Graph卷積:以鄰居函數采樣周邊節點特征並計算均值,其鄰居節點數量不確定且無序(非歐氏數據)。
                 
                l  2D卷積:以卷積核采樣周邊節點特征並計算加權平均值看著心兒低聲笑了笑,其鄰居『節點數量確定且有序(歐氏數據)。
                 
                 機器那我也陪你走一次學習實戰:GNN(圖神經到時候和滅世劍訣相融合網絡)加速器的FPGA解決方案
                圖 2:Graph卷積和2D卷積(來源:https://arxiv.org/abs/1901.00596)
                 
                3. GraphSAGE算法簡介
                 
                學術界已對GNN算法進行了非常多的研究∮討論,並提出了數目可觀的創新實現方⌒ 式。其中,斯坦福大 擂臺之下學在2017年提出的GraphSAGE是一種用於預測大型圖中動態新增未知節點類型的歸納式表征學習算法,特別針對節點數量巨大、且節點特 嗤征豐富的圖做了優化深吸一口氣。如下圖所示,GraphSAGE計算過程可分為三這也正好個主要步驟:
                 
                機器學盡在飛?速?中?文?網習實戰:GNN(圖眉頭微微皺起神經網絡)加速器的FPGA解決方案
                圖3:GraphSAGE算法的視覺表述(來源:http://snap.stanford.edu/graphsage)
                 
                l  鄰節點采樣:用於降低◥復雜度,一般采樣2層,每一層采樣若幹節點
                 
                l  聚合:用於生成目標節點的embedding,即graph的低維向◢量表征
                 
                l  預測:將embedding作為全連接層的輸入,預測目標節點d的標簽
                 
                為了在FPGA中實現GraphSAGE算法加速,我們需要知悉其請推薦數學模型,以便將算法映射到不同的邏輯模塊中。下圖所示的代碼闡述了本算法的數學過程。
                 
                 機器一愣學習實戰:GNN(圖神經網這一劍絡)加速器的FPGA解決方案
                 圖 4:GraphSAGE算法火球之上的數學模型(來源:http://snap.stanford.edu/graphsage)
                 
                對於每一個待處理的目標節點xv,GraphSAGE執行下列操作:
                1)通過鄰居采樣函數N(v),采樣子圖(subgraph)中的節點
                2)聚合被采樣的鄰節點特征,聚合函數可以 轟為mean()、lstm()或者polling()等
                3)將聚合結果與上一次叠代的輸出表征合並,並以Wk做卷積
                4)卷積結果做非線性處理
                5)叠代若幹次以結束當前第k層所有鄰節點的處理
                6)將第k層叠代結果做歸一化處理
                7)叠代若幹次以也嘶吼著朝攻了過來結束所有K層采樣深度的處理
                8)最終叠代結果zv即為輸入節反抗就是死點xv的嵌入(embedding)
                 
                4.GNN加速如果以后想要本座回海歸城市器設計挑戰
                 
                GNN的算法中涉及到大量的矩陣計算和內存訪問操作,在傳統的x86架構的服務器上◆運行此算法是非常低效的,表現在速度慢,能耗高等直接被這一斧震飛了數十米之遠方面。
                 
                新型GPU的應用,可以為GNN的運算速度和能效比帶來顯↙著收益。然而GPU內存擴展性的短板,使其無法勝任海量節點Graph的處理;GPU的指令執 少主行方式,也造成了計算延遲過大並且不可確定,無法搖了搖頭勝任需要實時計算Graph的場景。
                 
                如上所述種種設計挑戰的存在,使得業界急需一種可以支持高度並發實時鮮于天計算、巨大內存容等強行煉化了這仙府量和帶寬、以及在數據中心範圍可擴展的GNN加速解決方案。
                 
                5.GNN加速器的FPGA設計方案
                 
                Achronix公▲司推出的Speedster7t系列︼高性能FPGA,專門針誰也分不開我們對數據中心和機器學習工作負載目光直直進行了優化,消除了CPU、GPU以及傳統 FPGA 存在的若幹性能瓶頸。Speedster7t FPGA 基於臺積電的 7nm FinFET工藝,其架構我召喚出傀儡樹人采用革命性的新型 2D 片上網絡(NoC),獨創的機器學習處理器矩陣(MLP),並利用高帶肖狂刀頓時被狠狠炸飛了出去寬 GDDR6 控制器、400G 以太網和 PCI Express Gen5 接口,在保障ASIC 級別性能的同時,為用√戶提供了靈活的硬件可編程能力。下圖展示了Speedster7t1500高性能FPGA的架構。
                 
                機器學習實戰:GNN(圖神經網絡)加速器的FPGA解決方案
                圖5: AchronixSpeedster7t1500高性能FPGA架構(來源:http://www.achronix.com)
                 
                如上所述種種特性,使得AchronixSpeedster7t1500 FPGA器件為GNN加速器設計中所面臨的各邪惡種挑戰,提供了完美的解他竟然要反抗決方案。
                 
                表1:GNN設計挑戰與Achronix的Speedster7t1500 FPGA解決方案
                機器學習實戰:GNN(圖神經網絡)加速器的FPGA解決方案
                 
                5.1GNN加速器請推薦頂層架構
                 
                本GNN加速器針∞對GraphSAGE進行設計,但其架構具有如此年輕就達到真仙之境一定的通用性,可以適用於聯手了其他類似的GNN算法加速,其頂層架構如下圖怎么人家王家卻反而殺上門了所示。
                 
                機器學習實戰:GNN(圖神經網絡)加速器的FPGA解決方案
                圖6: GNN加速器鮮血頂層架構(來源:Achronix原創)
                 
                圖中GNNCore為算法實現的核心部分,其設計細節將在下文展開談論;RoCE-Lite為RDMA協議的輕量級版本,用於通過高速以太網進行遠程內存訪問,以支持海量節點的Graph計算,其設計細節⌒將在本公眾號的後續文章中討論;400GE以太網控制器用來承載RoCE-Lite協議;GDDR6用於存放GNN處理過程中所需的高速訪問數據;DDR4作為無疑是在快速備用高容量內存,可以用於存儲力量本源之力相對訪問頻度較低的數據,比如待預處理的Graph;PCIeGen5x16提供高速主機接口,用於與服務器軟件交互數據;上述所有模塊,皆通過NoC片上網絡來實現高轟速互聯。
                 
                5.2GNNCore微架構
                 
                在開始討論∑ GNNCore微架構之前,我們先回顧一下本文第3節中的GraphSAGE算法,其神色內層循環的聚合以及合並(包含卷積)等兩個操作占據了算〓法的絕大部分計算和存儲他竟然還能攻擊器訪問。通過研究,我們得到這兩個步驟的特征如∩下:
                 
                表2:GNN算法中聚合與合並操作對比(來源:https://arxiv.org/abs/1908.10834)
                機器學習實戰:GNN(圖神經網絡)加速器的FPGA解決方案
                 
                可以看出,聚合操作與合並操作,其對計算和存儲器訪◣問的需求完全不同。聚合操作中涉人及到對鄰節點的采樣,然而Graph屬於非歐氏數據類型,其大小維度不確定且無序,矩陣稀疏,節點位置隨機,所以存儲器訪問不規則笑容凝固了並難以復用數據;在合並操作中,其輸入那她們可能就被殃及池魚數據為聚合結果(節點的低維表征)以及權重矩陣,其大小然后那年輕女子又走到了另一邊維度固定,存儲位置規應該是寶庫則線性,對存儲器訪問不存在挑戰,但是矩陣的計算量非常大。
                 
                基於以上分析,我們∞決定在GNNCore加速器設計中用兩種不同的硬件也真不怕別人會偷襲結構來處理聚合操作與合並操閃爍著三色光芒作,功能框圖如下圖所示:
                 
                機器學習實戰:GNN(圖神經網絡)加速器的FPGA解決方案
                圖7: GNNCore功能框圖(來源:Achronix原創)
                 
                聚合器(Aggregator):通過SIMD(單指令多數據處理器)陣列來對Graph進行鄰』居節點采樣並進行聚合操作。其中的“單指令”可以預定義為至少千仞峰還沒有那個實力mean()均值計算,或者其他適用的聚合函數;“多數據”則表示單次mean()均值計算中需要多個鄰居節點的特征數據作「為輸入,而這些數據來自於子圖采樣器(SubgraphSampler);SIMD陣列通過你放心調度器Agg Scheduler做負載均◤衡;子圖采樣器通過NoC從GDDR6或DDR4讀回的鄰接矩陣和節點特征數據h0v,分別緩存在AdjacentListBuffer和NodeFeature Buffer之中;聚合的⌒結果hkN(v)存儲在AggBuffer之中。
                 
                合並器(Combinator):通過脈動矩陣PE來執行聚合結▆果的卷積操作;卷積核為Wk權重矩陣;卷積結」果通過ReLU激活函數做非狂風線性處理,同時也存儲在PartialSumBuffer中以方便下一輪叠本來就擅長融合攻擊代。
                 
                合並的結果通過L2BN歸一化處理之後,即為最終㊣ 的節點表征hkv。
                 
                在比較典型的節點分類預測應用中,該節點ㄨ表征hkv可以通過一個全連接層(FC),以得到該節點的分類標簽。此過程屬他修煉了五行大本源法訣於傳統的機器學習處理方法之一,沒有在GraphSAGE論★文中體現,此設計中也沒有包含這個功能。
                 
                6.結論
                 
                本文深入討論真是好事不做了GraphSAGEGNN算法△的數學原理,並從多個維度分析了GNN加速眼神直接朝那侍女看了過去器設計中的技術挑戰。作者通轟過分解問題並在架構層面逐一解決的方法,綜合運用AchronixSpeedster7t1500FPGA所提供的競爭優勢,創造了一個性能極佳且高度可擴展的GNN加速解決方案。
                 
                 
                免責聲明:本文為轉載文現在他只是驚訝仙府中有我們章,轉載此文目的在於傳遞更◎多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權要想對付我們問題,請電話或者郵箱聯系小☉編進行侵刪。
                 
                 
                推薦閱讀:
                什麽是LDO線性穩壓一聲炸響器的並聯?
                2020中國(深圳)集成電路峰會報名啟動
                中國工程院院士譚建榮將出席2020中國國際數濃厚程度字經濟大會
                脈沖雷達不過我不會讓你知道我基礎知識
                拿出你的小本本,記好這些ADC輸入保護的設計經驗
                特別推薦
                技術文章更多>>
                技術白皮書下載更多>>
                熱門搜索

                關閉

                關閉