AI 科技評論消息,繼去年 11 月開源面向高維稀疏數據場景的深度優化工具X-Deep Learning(截至發稿,GitHub Star 數已達到 1972)之后,阿里媽媽團隊于今日正式開源大規模分布式圖表征學習框架 Euler,這一框架具有四大特點:
大規模圖的分布式學習
支持圖分割和高效穩定的分布式訓練,可以輕松支撐數十億點、數百億邊的計算規模。
支持復雜異構圖的表征
在圖結構存儲和圖計算的抽象上均良好的支持異構點、異構邊類型的操作,并支持豐富的異構屬性,可以很容易的在圖學習算法中進行異構圖的表征學習。
圖學習與深度學習的結合
支持基于深度學習樣本的 mini-batch 訓練,把圖表征直接輸入到深度學習網絡中聯合訓練。
分層抽象與靈活擴展
Euler 系統抽象為圖引擎層、圖操作算子層、算法實現層三個層次,可以快速的在高層擴展一個圖學習算法,同時,Euler 內置了大量算法實現可供直接使用。
阿里媽媽團隊表示,近年來隨著在圖深度學習技術的突破,有希望通過圖引入知識結構和推理能力,與深度學習的結合,進一步提升模型能力。
2017 年 3 月,阿里媽媽團隊在探索使用深度學習來刻畫用戶與廣告的連接關系時,他們意識到圖深度學習是一個非常重要的技術方向,且業界沒有成熟的解決方案。2017 年 5 月,阿里媽媽開發完成第一個單機版本的圖學習系統,支持他們基于隨機游走類的圖學習算法,并在阿里媽媽深度匹配業務上取得不錯的效果。2018 年初,Euler 支持大規模分布式圖學習能力,支持在數十億點、數百億邊的大規模圖上進行業務迭代。2018 年中,Euler 全面支持 GCN 類算法,并且創新的提出 LasGNN 模型與 Scalable-GCN 訓練加速算法。2018 年 9 月,阿里媽媽正式決定把 Euler 的能力與業界分享,啟動 Euler 的開源準備。而今天,在做了詳盡準備之后,這一工具正式與所有開發者見面。
阿里媽媽團隊也詳述了 Euler 系統設計:
Euler 系統架構圖
Euler 系統整體可以分為三層:最底層的分布式圖引擎,中間層圖語義的算子,高層的圖表示學習算法。
各個層次的核心功能如下:
一、分布式圖引擎
分布式圖引擎針對海量圖存儲,分布式并行圖計算及異構圖進行了優化設計,確保了工業場景下的有效應用。
首先為了存儲超大規模圖(數十億點,數百億邊),Euler 必須突破單機的限制,從而采用了分布式的存儲架構。在圖加載時,整張圖在引擎內部被切分為多個子圖,每個計算節點被分配 1 個或幾個子圖進行加載。
為了充分利用各個計算節點的能力,在進行圖的操作時,頂層操作被分解為多個對子圖的操作由各個節點并行執行。這樣隨著更多節點的加入,可以得到更好的服務能力。然后,引入多 replica 的支持,用戶從而可以靈活平衡 shard 與 replica 的數量,取得更佳的服務能力。最后,針對圖表示學習優化了底層的圖存儲數據結構與操作算法,單機的圖操作性能獲得了數倍的提升。
多種不同類型的邊,點與屬性所組成的異構圖,對很多復雜的業務場景必不可少。為了支持異構圖計算能力,底層存儲按照不同的節點與邊的類型分別組織。這樣可以高效支持異構的圖操作。
二、中間圖操作算子
由于圖學習算法的多樣性以及業務的復雜性,固定的某幾種甚至幾十種算法實現無法滿足客戶的所有需求。所以在 Euler 設計中,阿里媽媽圍繞底層系統的核心能力著重設計了靈活強大的圖操作算子,且所有算子均支持異構圖操作語義。用戶可以利用它來快速搭建自己的算法變體,滿足獨特的業務需求。
首先,Euler 分布式圖引擎提供了 C++ 的 API 來提供所有圖操作。基于這個 API,大家可以方便的基于某個深度學習框架添加圖操作的算子,從而利用 Euler C++ 接口訪問底層圖引擎的能力。支持廣泛使用的深度學習框架,比如阿里巴巴的 X-DeepLearning 與流行的 TensorFlow。后繼會考慮支持其它的深度學習框架,比如 PyTorch。
利用靈活的圖操作算子,機器學習框架可以在每個 mini-batch 與 Euler 交互,動態擴充與組織訓練樣本。這樣,Euler 不僅支持傳統的以圖為中心的學習模式,且可以把圖學習的能力注入傳統的學習任務,實現端到端訓練。
按照功能分類,Euler 的核心系統提供的 API 可以分類如下:
全局帶權采樣點和邊的能力。主要用于 mini-batch 樣本的隨機生成以及 Negative Sampling。
基于給定節點的鄰居操作。這個是圖計算的核心能力包括鄰居帶權采樣,取 Top 權重的鄰居等。
點/邊的屬性查找。這個能力使得算法可以使用更豐富的特征,而不僅限于點/邊的 ID 特征。
三、高層算法實現
目前,Euler 內置的算法如下。除了 LINE 算法,Euler 實現的算法可以分為隨機游走與鄰居匯聚兩大類算法,其中也有阿里媽媽團隊自研的開創性算法。
以下是對阿里媽媽內部三個創新算法 Scalable-GCN、LsHNE、LasGNN 的詳細介紹:
Scalable-GCN
它是一種高效的 GCN 訓練算法。GCN 以及更一般的 Graph Neural Network (GNN)類的方法由于能有效的提取圖結構信息,在許多任務上均取得了超過以往方法的效果。但是 GCN 的模型會引入巨大的計算量,導致模型的訓練時間不可接受。Scalable-GCN 在保證優秀效果的前提下,把 mini-batch GCN 的計算復雜度從層數的指數函數壓到線性。這使得在阿里媽媽的海量數據下應用三層 GCN 成為可能,廣告匹配的效果獲得了顯著提升。
LsHNE
LsHNE 是技術團隊結合阿里媽媽搜索廣告場景創新地提出一種無監督的大規模異構網絡 embedding 學習方法。區別于 DeepWalk 類算法,LsHNE 的特點包括:a) 采用深度神經網絡學習表達,可以有效融合 Attribute 信息;b)考慮 embedding 表示的距離敏感需求,提出兩個負采樣原則:分布一致性原則和弱相關性原則;c)支持異構網絡。
LasGNN
LasGNN 是一種半監督的大規模異構圖卷積神經網絡學習方法, 它有效融合了圖結構知識信息和海量用戶行為信息,大幅提升了模型精度,是工業界廣告場景下首次應用半監督圖方法。該方法有多處創新,例如將 metapath 的思想應用于圖卷積網絡中,并提出了 metapathGCN 模型,有效解決了異構網絡的卷積問題;提出了 metapathSAGE 模型,在模型中設計高效的鄰居采樣的方法,使得大規模的多層鄰居卷積成為可能。
-
開源
+關注
關注
3文章
3366瀏覽量
42561 -
深度學習
+關注
關注
73文章
5506瀏覽量
121259
原文標題:繼 XDL 之后,阿里媽媽開源大規模分布式圖表征學習框架 Euler
文章出處:【微信號:worldofai,微信公眾號:worldofai】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論