自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Euler問(wèn)世!國(guó)內(nèi)首個(gè)工業(yè)級(jí)的圖深度學(xué)習(xí)開(kāi)源框架

新聞 深度學(xué)習(xí)
千呼萬(wàn)喚始出來(lái)!阿里正式公布重磅開(kāi)源項(xiàng)目——圖深度學(xué)習(xí)框架 Euler。這是國(guó)內(nèi)首個(gè)在核心業(yè)務(wù)大規(guī)模應(yīng)用后開(kāi)源的圖深度學(xué)習(xí)框架。

[[255980]]

 千呼萬(wàn)喚始出來(lái)!阿里正式公布重磅開(kāi)源項(xiàng)目——圖深度學(xué)習(xí)框架 Euler。這是國(guó)內(nèi)首個(gè)在核心業(yè)務(wù)大規(guī)模應(yīng)用后開(kāi)源的圖深度學(xué)習(xí)框架。此次開(kāi)源,Euler 內(nèi)置了大量的算法供用戶(hù)直接使用,相關(guān)代碼已經(jīng)可在 GitHub 上進(jìn)行下載。

  圖學(xué)習(xí)和深度學(xué)習(xí)都是人工智能的一個(gè)分支,作為阿里巴巴旗下的大數(shù)據(jù)營(yíng)銷(xiāo)平臺(tái),阿里媽媽創(chuàng)新性地將圖學(xué)習(xí)與深度學(xué)習(xí)進(jìn)行結(jié)合,推出了 Euler,可幫助大幅度提升營(yíng)銷(xiāo)效率。Euler 已在阿里媽媽核心業(yè)務(wù)場(chǎng)景進(jìn)行了錘煉和驗(yàn)證,同時(shí),在金融、電信、醫(yī)療等涉及到復(fù)雜網(wǎng)絡(luò)分析的場(chǎng)景中也具有很高的應(yīng)用價(jià)值。例如,用戶(hù)可以利用 Euler 對(duì)基于用戶(hù)交易等金融數(shù)據(jù)構(gòu)建的復(fù)雜異構(gòu)圖進(jìn)行學(xué)習(xí)與推理,進(jìn)而應(yīng)用于金融反欺詐等場(chǎng)景。

  下面讓我們一起走進(jìn) Euler 的世界。

  Euler 開(kāi)源地址 

  https://github.com/alibaba/euler

  1.    概述

  過(guò)去幾年隨著數(shù)據(jù)規(guī)模和硬件計(jì)算力的迅速增長(zhǎng),深度學(xué)習(xí)技術(shù)在工業(yè)界被廣泛應(yīng)用并產(chǎn)生了巨大的技術(shù)紅利。當(dāng)前應(yīng)用已經(jīng)相對(duì)成熟,下一步的技術(shù)紅利在哪里還在積極探索之中。圖神經(jīng)網(wǎng)絡(luò)將端到端學(xué)習(xí)與歸納推理相結(jié)合,有望解決深度學(xué)習(xí)無(wú)法處理的關(guān)系推理、可解釋性等一系列問(wèn)題。對(duì)結(jié)構(gòu)知識(shí)的表達(dá)、計(jì)算和組合泛化是實(shí)現(xiàn)具備 human-like AI 的關(guān)鍵,圖神經(jīng)網(wǎng)絡(luò)有希望在這些方面形成突破,使得機(jī)器能力進(jìn)一步提升,因此對(duì)圖神經(jīng)網(wǎng)絡(luò)的深入應(yīng)用有希望形成下一波技術(shù)紅利。

  圖作為表達(dá)能力很強(qiáng)的通用的數(shù)據(jù)結(jié)構(gòu),可以用來(lái)刻畫(huà)現(xiàn)實(shí)世界中的很多問(wèn)題,例如社交場(chǎng)景的用戶(hù)網(wǎng)絡(luò)、電商場(chǎng)景的用戶(hù)和商品網(wǎng)絡(luò)、電信場(chǎng)景的通信網(wǎng)絡(luò)、金融場(chǎng)景的交易網(wǎng)絡(luò)和醫(yī)療場(chǎng)景的藥物分子網(wǎng)絡(luò)等等。相比文本、語(yǔ)音和圖像領(lǐng)域的數(shù)據(jù)比較容易處理成歐式空間的 Grid-like 類(lèi)型,適合現(xiàn)有的深度學(xué)習(xí)模型處理,圖是一種非歐空間下的數(shù)據(jù),并不能直接應(yīng)用現(xiàn)有方法,需要專(zhuān)門(mén)設(shè)計(jì)的圖神經(jīng)網(wǎng)絡(luò)系統(tǒng)。

  1. 1Euler 的核心能力

  1)大規(guī)模圖的分布式學(xué)習(xí)

  工業(yè)界的圖往往具有數(shù)十億節(jié)點(diǎn)和數(shù)百億邊,有些場(chǎng)景甚至可以到數(shù)百億節(jié)點(diǎn)和數(shù)千億邊,在這樣規(guī)模的圖上單機(jī)訓(xùn)練是不可行的。Euler 支持圖分割和高效穩(wěn)定的分布式訓(xùn)練,可以輕松支撐數(shù)十億點(diǎn)、數(shù)百億邊的計(jì)算規(guī)模。

  2)支持復(fù)雜異構(gòu)圖的表征

  工業(yè)界的圖關(guān)系大都錯(cuò)綜復(fù)雜,體現(xiàn)在節(jié)點(diǎn)異構(gòu)、邊關(guān)系異構(gòu),另外節(jié)點(diǎn)和邊上可能有非常豐富的屬性,這使得一些常見(jiàn)的圖神經(jīng)網(wǎng)絡(luò)很難學(xué)到有效的表達(dá)。Euler 在圖結(jié)構(gòu)存儲(chǔ)和圖計(jì)算的抽象上均良好的支持異構(gòu)點(diǎn)、異構(gòu)邊類(lèi)型的操作,并支持豐富的異構(gòu)屬性,可以很容易的在圖學(xué)習(xí)算法中進(jìn)行異構(gòu)圖的表征學(xué)習(xí)。

  3)圖學(xué)習(xí)與深度學(xué)習(xí)的結(jié)合

  工業(yè)界有很多經(jīng)典場(chǎng)景,例如搜索/推薦/廣告場(chǎng)景,傳統(tǒng)的深度學(xué)習(xí)方法有不錯(cuò)效果,如何把圖學(xué)習(xí)和傳統(tǒng)方法結(jié)合起來(lái),進(jìn)一步提升模型能力是很值得探索的。Euler 支持基于深度學(xué)習(xí)樣本的 mini-batch 訓(xùn)練,把圖表征直接輸入到深度學(xué)習(xí)網(wǎng)絡(luò)中聯(lián)合訓(xùn)練。

  4)分層抽象與靈活擴(kuò)展

  Euler 系統(tǒng)抽象為圖引擎層、圖操作算子層、算法實(shí)現(xiàn)層三個(gè)層次,可以快速地在高層擴(kuò)展一個(gè)圖學(xué)習(xí)算法。實(shí)際上,Euler 也內(nèi)置了大量的算法實(shí)現(xiàn)供大家直接使用。

  1. 2 Euler 內(nèi)置的算法實(shí)現(xiàn)

  考慮到框架的易用性,我們內(nèi)置了多種知名算法以及幾種我們內(nèi)部的創(chuàng)新算法。所有實(shí)現(xiàn),我們仔細(xì)進(jìn)行了測(cè)試,保證了算法運(yùn)行效率,且算法效果與原論文對(duì)齊。用戶(hù)無(wú)需進(jìn)行開(kāi)發(fā),注入數(shù)據(jù)到平臺(tái)后,可以直接使用。我們內(nèi)置的算法列表見(jiàn)下表。有關(guān)我們內(nèi)部算法的詳細(xì)信息請(qǐng)見(jiàn) 2.3 節(jié)。

 

  算法類(lèi)型

  是否自研

  特點(diǎn)

  DeepWalk

  隨機(jī)游走

  否

  經(jīng)典無(wú)偏的隨機(jī)游走無(wú)監(jiān)督算法。

  Node2Vec

  隨機(jī)游走

  否

  利用可配置參數(shù)在游走時(shí)可傾向 BFS 或 DFS

  LINE

  其它

  否

  靈活利用 1 階,2 階鄰居信息的無(wú)監(jiān)督算法

  GCN

  鄰居匯聚

  否

  CNN 操作類(lèi)似推廣到非歐空間的算法

  GraphSAGE

  鄰居匯聚

  否

  GCN 改進(jìn),提出鄰居采樣,多種匯聚函數(shù)等

  GAT

  鄰居匯聚

  否

  將 Attention 技術(shù)用于鄰居匯聚

  Scalable-GCN

  鄰居匯聚

  是

  加速 GCN 訓(xùn)練的一種方法

  LsHNE

  隨機(jī)游走

  是

  異構(gòu)圖中隨機(jī)游走,利用深度網(wǎng)絡(luò)編碼

  LasGNN

  鄰居匯聚

  是

  半監(jiān)督大規(guī)模異構(gòu)圖卷積網(wǎng)絡(luò)學(xué)習(xí)方法

  2.   系統(tǒng)設(shè)計(jì)

  Euler 系統(tǒng)整體可以分為三層:最底層的分布式圖引擎,中間層圖語(yǔ)義的算子,高層的圖表示學(xué)習(xí)算法。

  下邊我們分開(kāi)描述各個(gè)層次的核心功能。

Figure1 Euler 架構(gòu) Overview

  2. 1 分布式圖引擎

  為了支持我們的業(yè)務(wù),我們不僅面臨超大規(guī)模圖存儲(chǔ)與計(jì)算的挑戰(zhàn),還需要處理由多種不同類(lèi)型的點(diǎn),邊及其屬性構(gòu)成異構(gòu)圖的復(fù)雜性。我們的分布式圖引擎針對(duì)海量圖存儲(chǔ),分布式并行圖計(jì)算及異構(gòu)圖進(jìn)行了優(yōu)化設(shè)計(jì),確保了工業(yè)場(chǎng)景下的有效應(yīng)用。

  • 首先為了存儲(chǔ)超大規(guī)模圖(數(shù)十億點(diǎn),數(shù)百億邊),Euler 必須突破單機(jī)的限制,從而采用了分布式的存儲(chǔ)架構(gòu)。在圖加載時(shí),整張圖在引擎內(nèi)部被切分為多個(gè)子圖,每個(gè)計(jì)算節(jié)點(diǎn)被分配 1 個(gè)或幾個(gè)子圖進(jìn)行加載。

  • 為了充分利用各個(gè)計(jì)算節(jié)點(diǎn)的能力,在進(jìn)行圖的操作時(shí),頂層操作被分解為多個(gè)對(duì)子圖的操作由各個(gè)節(jié)點(diǎn)并行執(zhí)行。這樣隨著更多節(jié)點(diǎn)的加入,我們可以得到更好的服務(wù)能力。其次,我們引入了多 replica 的支持。從而用戶(hù)可以靈活平衡 shard 與 replica 的數(shù)量,取得更佳的服務(wù)能力。最后,我們針對(duì)圖表示學(xué)習(xí)優(yōu)化了底層的圖存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)與操作算法,單機(jī)的圖操作性能獲得了數(shù)倍的提升。

  • 多種不同類(lèi)型的邊,點(diǎn)與屬性所組成的異構(gòu)圖,對(duì)很多復(fù)雜的業(yè)務(wù)場(chǎng)景必不可少。為了支持異構(gòu)圖計(jì)算能力,底層存儲(chǔ)按照不同的節(jié)點(diǎn)與邊的類(lèi)型分別組織。這樣我們可以高效支持異構(gòu)的圖操作。

  2. 2 中間圖操作算子

  由于圖學(xué)習(xí)算法的多樣性以及業(yè)務(wù)的復(fù)雜性,固定的某幾種甚至幾十種算法實(shí)現(xiàn)無(wú)法滿(mǎn)足客戶(hù)的所有需求。所以在 Euler 設(shè)計(jì)中,我們圍繞底層系統(tǒng)的核心能力著重設(shè)計(jì)了靈活強(qiáng)大的圖操作算子,且所有算子均支持異構(gòu)圖操作語(yǔ)義。用戶(hù)可以利用它來(lái)快速搭建自己的算法變體,滿(mǎn)足獨(dú)特的業(yè)務(wù)需求。

  首先,Euler 分布式圖引擎提供了 C++ 的 API 來(lái)提供所有圖操作?;谶@個(gè) API,我們可以方便的基于某個(gè)深度學(xué)習(xí)框架添加圖操作的算子,從而利用 Euler C++ 接口訪(fǎng)問(wèn)底層圖引擎的能力。我們支持廣泛使用的深度學(xué)習(xí)框架,比如阿里巴巴的X-DeepLearning 與流行的 TensorFlow。后繼我們也會(huì)考慮支持其它的深度學(xué)習(xí)框架,比如 PyTorch。

  利用靈活的圖操作算子,機(jī)器學(xué)習(xí)框架可以在每個(gè) mini-batch 與 Euler 交互,動(dòng)態(tài)擴(kuò)充與組織訓(xùn)練樣本。這樣,Euler 不僅支持傳統(tǒng)的以圖為中心的學(xué)習(xí)模式,且可以把圖學(xué)習(xí)的能力注入傳統(tǒng)的學(xué)習(xí)任務(wù),實(shí)現(xiàn)端到端訓(xùn)練。

  按照功能分類(lèi),我們的核心系統(tǒng)提供的 API 可以分類(lèi)如下:

  • 全局帶權(quán)采樣點(diǎn)和邊的能力。主要用于 mini-batch 樣本的隨機(jī)生成以及 Negative Sampling。

  • 基于給定節(jié)點(diǎn)的鄰居操作。這個(gè)是圖計(jì)算的核心能力包括鄰居帶權(quán)采樣,取 Top 權(quán)重的鄰居等。

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

  2. 3 高層算法實(shí)現(xiàn)

  如 1.2 節(jié)所述,除了 LINE 算法以外,我們實(shí)現(xiàn)的算法可以分為隨機(jī)游走與鄰居匯聚兩大類(lèi)算法。有關(guān)外部算法的詳細(xì)信息,請(qǐng)參見(jiàn) 1.2 節(jié)提供的論文鏈接。下面我們?cè)敿?xì)介紹內(nèi)部的三個(gè)創(chuàng)新算法,相關(guān)論文的鏈接我們會(huì)在 github 上給出。

  • Scalable-GCN

  它是一種高效的 GCN 訓(xùn)練算法。GCN 以及更一般的 Graph Neural Network (GNN)類(lèi)的方法由于能有效的提取圖結(jié)構(gòu)信息,在許多任務(wù)上均取得了超過(guò)以往方法的效果。但是 GCN 的模型會(huì)引入巨大的計(jì)算量,導(dǎo)致模型的訓(xùn)練時(shí)間不可接受。Scalable-GCN 在保證優(yōu)秀效果的前提下,把 mini-batch GCN 的計(jì)算復(fù)雜度從層數(shù)的指數(shù)函數(shù)壓到線(xiàn)性。這使得在阿里媽媽的海量數(shù)據(jù)下應(yīng)用三層 GCN 成為可能,廣告匹配的效果獲得了顯著提升。

  • LsHNE

  LsHNE 是我們結(jié)合阿里媽媽搜索廣告場(chǎng)景創(chuàng)新地提出一種無(wú)監(jiān)督的大規(guī)模異構(gòu)網(wǎng)絡(luò) embedding 學(xué)習(xí)方法。區(qū)別于 DeepWalk 類(lèi)算法,LsHNE 的特點(diǎn)包括:a) 采用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)表達(dá),可以有效融合 Attribute 信息;b)考慮 embedding 表示的距離敏感需求,提出兩個(gè)負(fù)采樣原則:分布一致性原則和弱相關(guān)性原則;c)支持異構(gòu)網(wǎng)絡(luò)。

  • LasGNN

  LasGNN 是一種半監(jiān)督的大規(guī)模異構(gòu)圖卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法, 它有效融合了圖結(jié)構(gòu)知識(shí)信息和海量用戶(hù)行為信息,大幅提升了模型精度,是工業(yè)界廣告場(chǎng)景下首次應(yīng)用半監(jiān)督圖方法。該方法有多處創(chuàng)新,例如將 metapath 的思想應(yīng)用于圖卷積網(wǎng)絡(luò)中,并提出了 metapathGCN 模型,有效解決了異構(gòu)網(wǎng)絡(luò)的卷積問(wèn)題;提出了 metapathSAGE 模型,在模型中我們?cè)O(shè)計(jì)高效的鄰居采樣的方法,使得大規(guī)模的多層鄰居卷積成為可能。

  3.   應(yīng)用實(shí)例

  Euler 平臺(tái)已經(jīng)在阿里媽媽搜索廣告的多個(gè)場(chǎng)景下廣泛實(shí)用,并取得了出色的業(yè)務(wù)效果,例如檢索匹配場(chǎng)景、CTR 預(yù)估場(chǎng)景、營(yíng)銷(xiāo)工具場(chǎng)景和反作弊場(chǎng)景等。我們以匹配場(chǎng)景的為例來(lái)看下 Euler 的應(yīng)用。

  廣告匹配的任務(wù)是給定用戶(hù)搜索請(qǐng)求,匹配模塊通過(guò)理解用戶(hù)意圖,快速準(zhǔn)確地從海量廣告中找到高質(zhì)量的小規(guī)模候選廣告集,輸送給下游的排序模塊進(jìn)行排序。

  我們首先使用一些傳統(tǒng)的挖掘算法,從用戶(hù)行為日志、內(nèi)容屬性等維度挖掘出 Query (查詢(xún)?cè)~), Item (商品)和 Ad (廣告)的多種關(guān)系,然后利用 Euler 平臺(tái)的 LsHNE 方法學(xué)習(xí)圖中節(jié)點(diǎn)的 embedding,這里節(jié)點(diǎn) embedding 后的空間距離刻畫(huà)了原來(lái)圖中的關(guān)系,對(duì)于在線(xiàn)過(guò)來(lái)的請(qǐng)求通過(guò)計(jì)算用戶(hù)查詢(xún)?cè)~向量、前置行為中節(jié)點(diǎn)向量和廣告節(jié)點(diǎn)向量之間的距離進(jìn)行高效的向量化最近鄰檢索,可以快速匹配到符合用戶(hù)意圖的廣告。圖 2 展示了 LsHNE 方法的離線(xiàn)和在線(xiàn)流程。具體圖 3 展示了樣本構(gòu)造和網(wǎng)絡(luò)結(jié)構(gòu)示意。

Figure2 DeepMatch 召回框架

Figure 3 離線(xiàn)訓(xùn)練流程

責(zé)任編輯:張燕妮 來(lái)源: 阿里技術(shù)
相關(guān)推薦

2020-03-20 14:33:29

人工智能深度學(xué)習(xí)技術(shù)

2020-05-06 16:07:05

百度飛槳

2020-10-22 13:10:56

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2017-06-19 17:52:36

深度學(xué)習(xí)人工智能

2015-11-17 09:35:26

開(kāi)源學(xué)習(xí)框架

2019-11-15 09:28:34

開(kāi)源技術(shù) 軟件

2010-11-08 11:49:54

2017-03-01 09:05:27

PyTorchPython框架

2018-06-29 09:01:51

開(kāi)源技術(shù) 深度學(xué)習(xí)

2019-03-06 09:55:54

Python 開(kāi)發(fā)編程語(yǔ)言

2017-06-22 00:03:00

深度學(xué)習(xí)DeepXplore機(jī)器學(xué)習(xí)

2022-05-06 12:13:55

模型AI

2021-09-10 09:37:05

AI 數(shù)據(jù)人工智能

2025-02-24 08:50:00

YOLO模型數(shù)據(jù)

2023-09-07 20:31:48

外灘大會(huì)螞蟻集團(tuán)圖學(xué)習(xí)系統(tǒng)

2022-05-09 09:30:06

框架開(kāi)源模型

2023-06-08 11:30:45

2023-05-19 11:00:19

數(shù)據(jù)集開(kāi)源

2023-06-27 16:42:18

Tinygrad深度學(xué)習(xí)工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)