北大、微軟亞洲研究院:高效的大規模圖神經網絡計算

2021-01-08 新智元

新智元報導

來源:arXiv

編輯:肖琴

【新智元導讀】第一個支持圖神經網絡的並行處理框架出現了!北京大學、微軟亞洲研究院的研究人員近日發表論文,提出NGra,這是第一個支持大規模GNN的系統。

GNN(圖神經網絡)代表了一種新興的計算模型,這自然地產生了對在大型graph上應用神經網絡模型的需求。

但是,由於GNN固有的複雜性,這些模型超出了現有深度學習框架的設計範圍。此外,這些模型不容易在並行硬體(如GPU)上有效地加速。

近日,北京大學、微軟亞洲研究院的多位研究人員在arXiv上發布了一篇新論文,提出了解決這些問題的有效方案。

論文題為Towards Efficient Large-Scale Graph Neural Network Computing:

論文地址:https://arxiv.org/pdf/1810.08403.pdf

作者表示:「我們提出NGra,這是第一個基於圖形的深度神經網絡並行處理框架。」

NGra描述了一種新的SAGA-NN模型,用於將深度神經網絡表示為頂點程序(vertex programs) ,其中每一層都在明確定義的圖形操作階段(Scatter,ApplyEdge,Gather,ApplyVertex)。

這個模型不僅允許直觀地表示GNN,而且還可以方便地映射到高效的數據流表示。NGra通過GPU核心或多GPU的自動圖分區和基於chunk的流處理透明地解決了可擴展性挑戰,仔細考慮了數據局部性、數據移動以及並行處理和數據移動的重疊。

NGra通過在GPU上進行高度優化的Scatter / Gather操作進一步提高了效率,儘管它具有稀疏性。我們的評估表明,NGra可以擴展到現有框架無法直接處理的大型實際圖形,而在TensorFlow的multiple-baseline設計上,即使在小規模上也可以實現約4倍的加速。

第一個支持大規模GNN的系統

NGra是第一個支持大規模GNN(圖神經網絡)的系統,這是一個在GPU上可擴展、高效的並行處理引擎。

NGra自然地將數據流(dataflow)與頂點程序抽象(vertex-program abstraction)結合在一個新模型中,我們將其命名為SAGA-NN(Scatter-ApplyEdge-Gather-ApplyVertex with Neural Networks)。

雖然SAGA可以被認為是GAS(Gather-Apply-Scatter)模型的變體,但SAGA-NN模型中的用戶定義函數允許用戶通過使用數據流抽象來表示對vertex或edge數據(被視為tensors)的神經網絡計算,而不是專為傳統圖形處理而設計(例如PageRank、 connected component和最短路徑等算法)

與DNN一樣,高效地使用GPU對於GNN的性能至關重要,而且由於要處理的是大型圖形結構,這一點更為重要。為了實現超出GPU物理限制的可擴展性,NGra將圖形(頂點和邊緣數據)透明地劃分為塊(chunk),並將SAGA-NN模型中表示的GNN算法轉換為具有chunk粒度的運算符的dataflow graph,從而在單個GPU或多個GPU上啟用基於chunk的並行流處理。

NGra engine的效率在很大程度上取決於NGra如何管理和調度並行流處理,以及在GPU上關鍵圖形傳播運算符Scatter和Gather的實現。

NGra非常注重數據局部性,以最大限度地減少GPU內存中的數據交換,並在GPU內存中最大化數據塊的重用,同時將數據移動和計算以流的方式重疊。

對於多GPU的情況,它使用 ring-based streaming機制,通過直接在GPU之間交換數據塊來避免主機內存中的冗餘數據移動。

與其他基於GPU的圖形引擎關注的傳統圖形處理場景不同,在GNN場景中,可變頂點數據本身可能無法容納到GPU設備內存中,因為每個頂點的數據可以是特徵向量( feature vector)而不是簡單的標量(scalar)。因此,我們的方案更傾向於在每個頂點數據訪問中利用並行性,從而提高內存訪問效率。

我們通過使用vertex-program abstraction和圖形傳播過程的自定義運算符擴展TensorFlow,從而實現NGra。

我們利用單個伺服器的主機內存和GPU的計算能力,證明NGra可以擴展以支持大型圖形的各種GNN算法,其中許多是現有深度學習框架無法直接實現的。

與小型graph上的TensorFlow相比,它可以支持GPU,NGra可以獲得最多4倍的加速。我們還廣泛評估了NGra的多重優化所帶來的改進,以證明其有效性。

接下來的部分將描述SAGA-NN編程抽象,NGra系統的組件,以及NGra的實現和評估。

NGra程序抽象

基於圖(graph)的神經網絡(GNN)是根據圖形結構定義的一類通用神經網絡架構。

圖中的每個頂點或邊可以與張量數據(通常是vector)相關聯,作為其特徵或嵌入。GNN可以堆疊在多個層中,迭代傳播過程在同一個圖上逐層進行。

在圖的每個層中,頂點或邊緣要素沿邊緣變換和傳播,並在目標頂點聚合,以生成下一層的新要素。轉換可以是任意的DNN計算。

圖還可以包含每個頂點,每個邊緣或整個圖形的標籤,用於計算頂層的損失函數。然後從底層到頂層執行前饋計算(feedforward computation)和反向傳播。

圖1描述了一個2層的GNN的前饋計算。

圖1

我們使用Gated Graph ConvNet(G-GCN)算法作為一個具體示例。 Graph ConvNet概括了卷積運算的概念,通常應用於圖像數據集,用於處理任意圖形(例如knowledge graph)。Gated Graph ConvNet進一步結合了門控機制,因此模型可以了解哪些邊對學習目標更重要。

G-GCN每一層的前饋計算如圖2所示:

圖2:SAGA-NN模型中,Gated Graph ConvNet的layer

,其中指矩陣乘法。

NGra系統的組成

NGra提供dataflow和vertex program abstractions的組合作為用戶界面。

NGra主要包括:

一個前端,它將SAGA-NN模型中實現的算法轉換為塊粒度數據流圖(chunk-granularity dataflow graph),使GPU中大型圖的GNN計算成為可能;一個優化層,它產生用於最小化主機和GPU設備存儲器之間的數據移動的調度策略,並識別融合操作和刪除冗餘計算;一組有效的傳播操作內核,支持基於流的處理,以將GPU中的數據移動和計算重疊;dataflow execution runtime。NGra主要利用現有的基於數據流的深度學習框架來處理dataflow execution runtime。

圖3:SAGA-NN Stages for each layer of GN

NGra的優化

圖4描述了ApplyEdge階段中矩陣乘法運算:

圖4

圖5顯示了優化的dataflow graph,其中矩陣乘法移入ApplyVertex stage:

圖7是多GPU的架構

圖7:多GPU架構

NGra的評估

我們在TensorFlow (v1.7) 上實現NGra,使用大約2,900行C++代碼和3000行Python代碼。NGra通過前端擴展TensorFlow,將SAGA-NN程序轉換為chunk-granularity dataflow graph,幾個scatter/gather 運算符,以實現高效的圖傳播,以及ring-based的流調度方案。

以下是評估結果。評估證明了NGra的高效和可擴展性,以及與state-of-the-art的系統TensorFlow的比較。

表1:數據集 (K: thousand, M: million)

圖13:TensorFlow(TF),cuSPARSE和NGra(NG) 在不同密度graphs上的傳播內核時間

表2:與TensorFlow的迭代時間比較(ms)

圖14:不同應用程式的Streaming scheduling策略比較。(Data: reddit middle)

圖15:NGra在不同應用程式的擴展性能

圖16:在大型圖上使用不同應用程式加速NGra

結論

GNN代表了一種新興的計算模型,這自然地產生了對在大型graph上應用神經網絡模型的需求。由於GNN訓練固有的複雜性,支持高效的、可擴展的並行計算是很困難的。

NGra是第一個支持GNN的並行處理框架,它使用新的編程抽象,然後將其映射和優化為數據流,進而在GPU上高效執行。

論文地址:https://arxiv.org/pdf/1810.08403.pdf

新智元 AI 技術 + 產業社群招募中,歡迎對 AI 技術 + 產業落地感興趣的同學,加小助手_3 入群;通過審核後我們將邀請進群,加入社群後務必修改群備註(姓名 - 公司 - 職位;專業群審核較嚴,敬請諒解)。

相關焦點

  • 微軟亞洲研究院常務副院長郭百寧:計算機視覺的黃金時代到了
    「1998 年微軟亞洲研究院建院的時候我們第一個成立的組就是視覺計算組,那時候計算機視覺應用非常少,很冷門」,微軟亞洲研究院常務副院長郭百寧博士對極客公園說道,他同時也是計算機視覺領域的頂尖科學家,「當時圖形學火了很多年,現在輪到計算機視覺火了。」
  • 大會直擊|微軟亞洲研究院劉鐵巖:深度學習成功的秘密
    根據微軟亞洲研究院劉鐵巖教授的現場精華整理,全部內容已經經由劉教授確認。在本報告中,我將會介紹微軟研究院的最新成果,展示如何通過「對偶通信博弈技術」有效利用無標籤訓練數據、如何利用「殘差學習技術」解決深層神經網絡的優化問題、如何藉助「二維映射技術」縮小模型規模、以及如何使用「高階泰勒補償技術」解決通信延時問題。這些前沿技術將會陸續通過微軟的開源項目CNTK和DMTK分享給業界,以期和大家一起推動人工智慧技術的進一步發展。
  • 微軟亞洲研究院訪問西安交大
    5月13日,微軟亞洲研究院常務副院長趙峰、副院長宋羅蘭一行訪問西安交大。鄭南寧校長在科學館107會見來賓。鄭南寧校長介紹了學校國際合作交流、網絡公開課、書院等相關情況。雙方就信息技術發展、人文教育、本科生培養、國際交流等問題進行討論和交流,並暢想了未來合作發展模式及內容。
  • 二十一世紀的計算 | 微軟亞洲研究院洪小文54頁PPT講述人工智慧和...
    近日,「二十一世紀的計算」學術研討會在韓國首爾舉行。它是微軟亞洲研究院自成立之初便開始舉辦的年度學術盛會。作為中國及亞太地區規模最大、最具影響力的計算機科學教育與研究盛會之一,迄今為止該大會已在中國、日本、韓國、新加坡等多個國家和地區成功舉辦了17屆,參會人數累計超過40000人。
  • 微軟亞洲研究院(MSRA)研究員林欽佑博士來訪
    2017年10月20日,應哈爾濱工業大學社會計算與信息檢索研究中心邀請,微軟亞洲研究院(MSRA)知識計算(Knowledge Computing
  • 微軟亞洲研究院/工程院 交大訪問日程
    出訪人員: 沈向洋 博士 微軟亞洲研究院院長 首席科學家 張益肇 博士 微軟亞洲工程院 副院長 李航   博士 微軟亞洲研究院自然語言組 研究員 校友 鄭海濤 博士 微軟亞洲研究院無線網絡組 研究員 校友 黨映農 博士 微軟亞洲研究院多通道用戶界面組 副研究員 校友 鄒靜   碩士 微軟亞洲研究院高校關係部 高校合作專員
  • Twitter團隊最新研究:快速高效的可擴展圖神經網絡SIGN
    字幕組雙語原文:Twitter團隊最新研究:快速高效的可擴展圖神經網絡SIGN英語原文:Simple scalable graph neural networks翻譯:雷鋒字幕組(季一帆、何月瑩)前言:迄今為止,阻礙圖神經網絡在行業應用中被廣泛採用的挑戰之一是難以將其縮放到大型圖(例如Twitter跟隨圖)。
  • 微軟發分布式圖處理引擎GraphEngine1.0
    【IT168 資訊】5月21日消息,由微軟亞洲研究院開發的Graph Engine 1.0預覽版正式發布。Graph Engine是一個基於內存的分布式大規模圖數據處理引擎。在此之前,它在學術界更廣為人之的名稱是Trinity。  大規模圖處理在很多領域扮演著重要的角色。
  • 微軟亞洲研究院在西安交大設立「微軟小學者」獎學金
    日前,微軟亞洲研究院與西安交大籤署合作協議,面向學校基礎學科拔尖人才培養試驗班、錢學森實驗班和少年班學生設立「微軟小學者」獎學金項目,獲獎者除獲5000元獎學金外,還將參加當年的微軟暑期夏令營。首批「微軟小學者」獎學金評選近日揭曉,曹彬、竇竟銘、馬賢忠3位同學獲獎,同時,韓思陽等5名同學獲得參加2013年微軟暑期夏令營的機會。
  • 微軟亞洲研究院王井東:下一代視覺識別的通用網絡結構是什麼樣的...
    在大會第二天的「視覺智能城市物聯」專場上,微軟亞洲研究院首席研究員王井東分享了其在新一代視覺識別網絡結構上的研究成果。  王井東介紹,目前學界的網絡結構都是圍繞分類任務而發明,除了分類以外,在計算機視覺裡面還有其它的重要任務,比如圖像分割、人臉關鍵點的檢測、人體姿態估計、目標檢測等等。
  • 微軟亞洲研究院發布「微礦Qlib」:AI量化投資開源平臺
    【環球網科技綜合報導】12月11日報導,近日,微軟亞洲研究院正式發布了業內首個 AI 量化投資開源平臺「微礦 Qlib」。據了解,與傳統量化投資工具不同,Qlib 涵蓋了量化投資的全過程,而且從底層構造開始就專為 AI 而打造。
  • 智源研究院發布認知神經基礎重大研究方向—新聞—科學網
    8月24日,北京智源人工智慧研究院(以下簡稱「智源研究院」)在清華智源中心舉行了「人工智慧的認知神經基礎」(以下簡稱「認知神經基礎」)重大研究方向發布會
  • 微軟亞洲研究院獲計算機學會首個傑出貢獻獎
    【搜狐IT消息】 中國計算機學會近日向微軟亞洲研究院頒發了首度設立的「傑出貢獻獎」,以表彰和感謝其長期以來對中國計算機人才培養及中國計算機產業發展所做出的不懈努力和卓越貢獻。同時獲此殊榮的還有方正集團。
  • 有道nmt神經網絡_有道神經網絡翻譯(nmt) - CSDN
    Weaver發表《翻譯備忘錄》,第一次正式提出機器翻譯的思想,到傳統的基於短語的機器翻譯(PBMT:Phrase-Based Machine Translation),再到當今基於遞歸神經網絡(RNN:recurrent neural network)技術的神經網絡翻譯(NMT:Neural Machine Translation)的各種翻譯機和翻譯軟體的出現。
  • 計算經濟學頂級會議 ACM開幕,微軟研究院佔據半壁江山
    雷鋒網 AI 科技評論此前採訪過的清華大學唐平中博士在今年的《中國計算機學會通訊》專欄中提及,「從計算機科學的學術分支看,計算經濟學既包括算法博弈論——理論計算機科學的重要子領域,也包括網際網路經濟學——人工智慧與計算機網絡科學的重要課題和子領域。從某種意義上講,計算經濟學也是人工智慧多智能體系統以及電子商務的理論基礎。」計算經濟學的重要程度可見一斑。
  • 學界| 微軟亞洲研究院CVPR 2017 Oral論文:逐層集中Attention的...
    原標題:學界 | 微軟亞洲研究院CVPR 2017 Oral論文:逐層集中Attention的卷積模型 選自CVPR 2017 參與:Smith、路雪、蔣思源
  • 7 Papers|MIT學神開源微分太極;北大等提出沒有乘法的神經網絡
    機器之心&ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文有 MIT 學神胡淵鳴等開源的自動微分版太極以及北大、華為諾亞方舟實驗室等主張以加法運算代替深度神經網絡中的乘法運算。
  • 逆勢而上的技術:圖神經網絡學習來了!
    你一定不會忽略它——圖神經網絡。相比傳統神經網絡,圖神經網絡的優勢非常明顯:1、非順序排序的特徵學習:GNN 的輸出不以節點的輸入順序為轉移的。百度作為 AI 領域的領頭羊企業,在圖神經網絡領域的研究、產業實踐、工業落地方面,積累了豐富的經驗!作為百度圖神經網絡研究的中堅力量,百度 PGL 團隊戰績累累,刷新圖神經網絡權威榜單 OGB 三項榜單 SOTA以及獲得今年 COLING 協辦比賽 TextGraph 冠軍!
  • 解讀| 如何用進化方法優化大規模圖像分類神經網絡?
    這項研究尤其重要的是結果的可重複性、可變性以及計算要求。解讀不論是在學術研究還是產業應用方面,神經網絡都展現了強大的能力。為了解決不同的實際問題,多種網絡架構可根據特定的任務而建立。然而如今所創建的有效架構均為人工設計的成果,因此本文為解決神經網絡圖像分類方面的架構優化問題提出了新的方法。在進化算法中,所提出的方法通過操控直觀突變,來自動適應最優的網絡架構。
  • 中科院計算所研究人員再獲進展 向圖神經網絡加速時代再進一步
    中新網北京1月9日電 (記者 張素)「『HyGCN』寓意向圖神經網絡的加速說『Hi』,也寓意圖神經網絡加速的時代即將開啟。」中國科學院計算技術研究所特別研究助理嚴明玉近日在受訪時說。「GCN」即圖卷積神經網絡的英文縮寫,這是圖神經網絡的一個分支。