天天看點

Euler 今日問世!國内首個工業級的圖深度學習開源架構,阿裡媽媽造

Euler 今日問世!國内首個工業級的圖深度學習開源架構,阿裡媽媽造

千呼萬喚始出來!阿裡媽媽正式公布重磅開源項目——圖深度學習架構Euler。這是國内首個在核心業務大規模應用後開源的圖深度學習架構。此次開源,Euler内置了大量的算法供使用者直接使用,相關代碼已經可在GitHub上進行下載下傳。

圖學習和深度學習都是人工智能的一個分支,作為阿裡巴巴旗下的大資料營銷平台,阿裡媽媽創新性地将圖學習與深度學習進行結合,推出了Euler,可幫助大幅度提升營銷效率。Euler已在阿裡媽媽核心業務場景進行了錘煉和驗證,同時,在金融、電信、醫療等涉及到複雜網絡分析的場景中也具有很高的應用價值。例如,使用者可以利用Euler對基于使用者交易等金融資料建構的複雜異構圖進行學習與推理,進而應用于金融反欺詐等場景。

下面讓我們一起走進Euler的世界。

Euler 開源位址

https://github.com/alibaba/euler
  1. 概述

過去幾年随着資料規模和硬體計算力的迅速增長,深度學習技術在工業界被廣泛應用并産生了巨大的技術紅利。目前應用已經相對成熟,下一步的技術紅利在哪裡還在積極探索之中。圖神經網絡将端到端學習與歸納推理相結合,有望解決深度學習無法處理的關系推理、可解釋性等一系列問題。對結構知識的表達、計算群組合泛化是實作具備human-like AI的關鍵,圖神經網絡有希望在這些方面形成突破,使得機器能力進一步提升,是以對圖神經網絡的深入應用有希望形成下一波技術紅利。

圖作為表達能力很強的通用的資料結構,可以用來刻畫現實世界中的很多問題,例如社交場景的使用者網絡、電商場景的使用者和商品網絡、電信場景的通信網絡、金融場景的交易網絡和醫療場景的藥物分子網絡等等。相比文本、語音和圖像領域的資料比較容易處理成歐式空間的Grid-like類型,适合現有的深度學習模型處理,圖是一種非歐空間下的資料,并不能直接應用現有方法,需要專門設計的圖神經網絡系統。

1.1Euler的核心能力

1)大規模圖的分布式學習

工業界的圖往往具有數十億節點和數百億邊,有些場景甚至可以到數百億節點和數千億邊,在這樣規模的圖上單機訓練是不可行的。Euler支援圖分割和高效穩定的分布式訓練,可以輕松支撐數十億點、數百億邊的計算規模。

2)支援複雜異構圖的表征

工業界的圖關系大都錯綜複雜,展現在節點異構、邊關系異構,另外節點和邊上可能有非常豐富的屬性,這使得一些常見的圖神經網絡很難學到有效的表達。Euler在圖結構存儲和圖計算的抽象上均良好的支援異構點、異構邊類型的操作,并支援豐富的異構屬性,可以很容易的在圖學習算法中進行異構圖的表征學習。

3)圖學習與深度學習的結合

工業界有很多經典場景,例如搜尋/推薦/廣告場景,傳統的深度學習方法有不錯效果,如何把圖學習和傳統方法結合起來,進一步提升模型能力是很值得探索的。Euler支援基于深度學習樣本的mini-batch訓練,把圖表征直接輸入到深度學習網絡中聯合訓練。

4)分層抽象與靈活擴充

Euler系統抽象為圖引擎層、圖操作算子層、算法實作層三個層次,可以快速地在高層擴充一個圖學習算法。實際上,Euler也内置了大量的算法實作供大家直接使用。

1.2 Euler内置的算法實作

考慮到架構的易用性,我們内置了多種知名算法以及幾種我們内部的創新算法。所有實作,我們仔細進行了測試,保證了算法運作效率,且算法效果與原論文對齊。使用者無需進行開發,注入資料到平台後,可以直接使用。我們内置的算法清單見下表。有關我們内部算法的詳細資訊請見2.3節。

Euler 今日問世!國内首個工業級的圖深度學習開源架構,阿裡媽媽造
  1. 系統設計

Euler系統整體可以分為三層:最底層的分布式圖引擎,中間層圖語義的算子,高層的圖表示學習算法。

下邊我們分開描述各個層次的核心功能。

Figure1 Euler架構Overview

2.1分布式圖引擎

為了支援我們的業務,我們不僅面臨超大規模圖存儲與計算的挑戰,還需要處理由多種不同類型的點,邊及其屬性構成異構圖的複雜性。我們的分布式圖引擎針對海量圖存儲,分布式并行圖計算及異構圖進行了優化設計,確定了工業場景下的有效應用。

首先為了存儲超大規模圖(數十億點,數百億邊),Euler必須突破單機的限制,進而采用了分布式的存儲架構。在圖加載時,整張圖在引擎内部被切分為多個子圖,每個計算節點被配置設定1個或幾個子圖進行加載。

為了充分利用各個計算節點的能力,在進行圖的操作時,頂層操作被分解為多個對子圖的操作由各個節點并行執行。這樣随着更多節點的加入,我們可以得到更好的服務能力。其次,我們引入了多replica的支援。進而使用者可以靈活平衡shard與replica的數量,取得更佳的服務能力。最後,我們針對圖表示學習優化了底層的圖存儲資料結構與操作算法,單機的圖操作性能獲得了數倍的提升。

多種不同類型的邊,點與屬性所組成的異構圖,對很多複雜的業務場景必不可少。為了支援異構圖計算能力,底層存儲按照不同的節點與邊的類型分别組織。這樣我們可以高效支援異構的圖操作。

2.2中間圖操作算子

由于圖學習算法的多樣性以及業務的複雜性,固定的某幾種甚至幾十種算法實作無法滿足客戶的所有需求。是以在Euler設計中,我們圍繞底層系統的核心能力着重設計了靈活強大的圖操作算子,且所有算子均支援異構圖操作語義。使用者可以利用它來快速搭建自己的算法變體,滿足獨特的業務需求。

首先,Euler分布式圖引擎提供了C++的API來提供所有圖操作。基于這個API,我們可以友善的基于某個深度學習架構添加圖操作的算子,進而利用Euler C++接口通路底層圖引擎的能力。我們支援廣泛使用的深度學習架構,比如阿裡巴巴的X-DeepLearning與流行的TensorFlow。後繼我們也會考慮支援其它的深度學習架構,比如PyTorch。

利用靈活的圖操作算子,機器學習架構可以在每個mini-batch與Euler互動,動态擴充與組織訓練樣本。這樣,Euler不僅支援傳統的以圖為中心的學習模式,且可以把圖學習的能力注入傳統的學習任務,實作端到端訓練。

按照功能分類,我們的核心系統提供的API可以分類如下:

全局帶權采樣點和邊的能力。主要用于mini-batch樣本的随機生成以及Negative Sampling。

基于給定節點的鄰居操作。這個是圖計算的核心能力包括鄰居帶權采樣,取Top權重的鄰居等。

點/邊的屬性查找。這個能力使得算法可以使用更豐富的特征,而不僅限于點/邊的ID特征。

2.3高層算法實作

如1.2節所述,除了LINE算法以外,我們實作的算法可以分為随機遊走與鄰居彙聚兩大類算法。有關外部算法的詳細資訊,請參見1.2節提供的論文連結。下面我們詳細介紹内部的三個創新算法,相關論文的連結我們會在github上給出。

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模型,在模型中我們設計高效的鄰居采樣的方法,使得大規模的多層鄰居卷積成為可能。

  1. 應用執行個體

Euler平台已經在阿裡媽媽搜尋廣告的多個場景下廣泛實用,并取得了出色的業務效果,例如檢索比對場景、CTR預估場景、營銷工具場景和反作弊場景等。我們以比對場景的為例來看下Euler的應用。

廣告比對的任務是給定使用者搜尋請求,比對子產品通過了解使用者意圖,快速準确地從海量廣告中找到高品質的小規模候選廣告集,輸送給下遊的排序子產品進行排序。

我們首先使用一些傳統的挖掘算法,從使用者行為日志、内容屬性等次元挖掘出Query(查詢詞), Item(商品)和Ad(廣告)的多種關系,然後利用Euler平台的LsHNE方法學習圖中節點的embedding,這裡節點embedding後的空間距離刻畫了原來圖中的關系,對于線上過來的請求通過計算使用者查詢詞向量、前置行為中節點向量和廣告節點向量之間的距離進行高效的向量化最近鄰檢索,可以快速比對到符合使用者意圖的廣告。圖2展示了LsHNE方法的離線和線上流程。具體圖3展示了樣本構造和網絡結構示意。

Euler 今日問世!國内首個工業級的圖深度學習開源架構,阿裡媽媽造

Figure2 DeepMatch召回架構

Euler 今日問世!國内首個工業級的圖深度學習開源架構,阿裡媽媽造

Figure 3 離線訓練流程

繼續閱讀