超越 TensorFlow!未來我們需要基于圖的全新計算模式

圖神經網絡是當前 AI 領域最為火爆的研究熱點之一,學術界與工業界各大公司紛紛投入大量資源研究。它在因果推理上擁有巨大潛力,有望解決深度學習無法處理的關系推理、可解釋性等一系列問題,而這些問題被業界認為是能夠推動 AI 出現實質性進展的關鍵。目前圖神經網絡尚處于發展早期,雖然研究成果和論文頻出,但真正在業界落地并對外分享的案例仍然偏少。為了更好地了解圖神經網絡在實際業務落地中可能遇到的挑戰和解決方案,InfoQ 采訪了極驗 Geetest 的算法負責人劉忠雨,對 GCN 的落地場景和實際效果、圖計算框架和模型的選型經驗、算法落地部署的難點等話題進行逐一探討。

“圖數據本身非常復雜,深度學習數據樣本之間可以隨意切割,但圖數據不行,因為節點之間存在關聯。深度學習時代,我們通常基于 TensorFlow 框架,將數據 Tensor 放到一個計算圖里在顯卡中做計算。未來,我們的計算模式可能是完全基于一張圖,通過節點之間的信息傳遞與聚合這樣一個視角去組織新的計算模式。那可能就稱之為 GraphFlow,而不是 TensorFlow 了。”

GCN 天然適合關聯模式識別

極驗 Geetest 深耕交互安全領域,業務方向包括行為驗證、身份認證、風控等。這些業務場景無一不需要收集大量用戶行為數據或異常數據,從中挖掘出異常行為的模式,進而提供實時攔截、標記和風險控制。而這正是圖神經網絡擅長處理的:挖掘海量數據之間的關聯模式。

極驗在 2014 左右開始使用機器學習和深度學習解決行為驗證過程中的人機判別問題,主要是利用 CNN 對用戶行為軌跡數據進行自動學習和建模。在這個過程中,研發團隊逐漸發現了隱藏其中的數據風險關聯模式。黑產在進行攻擊的時候,往往是調用某些打碼平臺的 API 接口或者不斷復用自己構建的一套破解代碼,這都導致黑產的數據之間存在一些或明或暗的關聯模式,風險的傳遞性很強。最初,研發團隊只能通過手工規則來定義這些關聯模式,但這種規則定義方式過于簡單,很容易被黑產繞過。

后來極驗開始使用圖聚類的方法挖掘異常,比如最早的社群檢測,再到后來的高密子圖等算法。這些算法是無監督算法,優點是不需要人工添加標簽,但靈活性比較差。如果數據有了更多信息,或有更好的標簽質量,這些信息很難融合到原來的算法模型中。如此一來,信息融合和關系建模成為了突破的關鍵。

2017 年,圖神經網絡研究開始在業界嶄露頭角,也進入了極驗研發團隊的視線。圖蘊含了大量多元化信息,能夠建立起更全的數據維度,進而比較全面地識別黑產數據。極驗從 2018 年開始引入 GCN(圖卷積神經網絡),利用 GCN 技術實現防御模型升級,進而提升數據挖掘與安全分析的能力。

對于極驗來說,GCN 是一套行之有效且擁有巨大潛力的建模方法,只要場景中存在數據和標簽,就可以嘗試用 GCN 學習其中的模式。以極驗深知這款產品為例,GCN 主要用來提升其人機判別能力。極驗擁有大量的行為數據戶,包括用戶操作行為的序列數據、IP 及設備的關聯數據等,這些數據涵蓋了幾乎所有行業的用戶,數據之間存在或明或暗的關聯性。借助 GCN,研發團隊可以對這些海量數據進行集成建模,達到更好的模式識別效果。從模型的 AOC 指標和穩定性指標這兩個考察維度來看,相比原來的模型,引入 GCN 之后的算法模型在這兩個維度上分別有 1.2-1.5 倍的提升,不論從最終效果還是模型魯棒性來說都十分有益。據介紹,即使將網絡中的節點屬性特征全部抹去,只提取節點之間的關聯特征,當前的模型依然能夠得到非常好的效果。這些都離不開 GCN 模型強大的關系建模能力和極驗海量數據的支持。

GCN 落地實踐經驗

GCN 落地應用難在哪?

從考慮引入 GCN 到真正落地,極驗用了一年多的時間,到現在為止,相關計算模型已經經過了兩次大版本的迭代。對于 GCN 落地實際業務過程中遇到的問題,劉忠雨總結為三個方面:

  1. 如何解決大規模圖的訓練問題。比如 GraphSage 通過圖采樣操作把大圖切分成很多小圖再進行訓練,并且這個操作一定是要有 online 的效率保障,這樣才能使 GPU 的計算資源不會被 CPU 上的數據采樣操作所拖累,因此如何保證圖采樣操作的高效性是至關重要的。而現在的圖數據庫對這類圖采樣算子并沒有原生的支持。

  2. GCN 模型怎么做實時預測。我們的業務場景不同于推薦營銷,數據的表征可以定時更新,然后把數據推到業務線去做實時的推薦;在風控領域,一般我們需要不斷地去判斷每一次新的業務事件是否帶有風險,這需要我們把模型推到業務線上去做實時的預測。圖神經網絡是一個協同式的訓練與預測過程,需要把數據累計到一定量之后再進行預測,這是 GCN 的優勢所在,但同時也大大提升了模型實時預測的難度。如何在線上預測輸出接下來的數據的表現,需要對算法模型本身做一些改造工作,并且配套大量工程化的工作。

  3. 圖數據建模 Pipleline 的各個環節設計。其中最為核心的是圖數據的預處理和圖模式(Schema)的設計。圖模式反映的是對于業務問題的理解,需要基于數據本身的路徑和上層業務建模的特性來設計圖的模式。劉忠雨認為,圖數據預處理和圖模式設計比后面的算法模型更重要,做好前兩項對于算法模型的效果提升大有裨益。

因此,從算法落地層面考慮,極驗花費了很大精力解決包括圖采樣效率、實時數據預測、圖數據建模流水線、圖數據預處理等問題。

針對大規模圖的分布式訓練問題,極驗重點完成了圖采樣操作所需要的存儲層重構工作,數據庫選用了非常成熟的 HBase 將數據組織管理起來,同時在索引上做了大量的開發,盡量保證圖上相近的數據在一個數據分片上,同時優化了數據的遍歷性能。這一套配合下來,基本滿足了團隊對大規模圖數據的分布式訓練要求。

同時團隊也在穩步推進基于 Graph Partitioning 的數據存儲方案,這樣不僅能更進一步地提高模型的訓練效率,同時也能將分布式訓練拓展到超大規模(如百億邊量級以上)的圖數據上。這一套方案的開源也在計劃中,等方案打磨得更加穩定成熟后,極驗希望提供給工業界一套扎實可用的圖數據分布式訓練方案。

另外,極驗針對數據建模的整體流程,如數據導入、數據預處理、圖模式設計、模型配置與訓練、模型評估等環節,開發了一套 Web 平臺來輔助高效便捷的建模工作。磨刀不誤砍柴工,事實證明,這是一本萬利的工程性投資,加快了模型調研的同時,也大大降低了模型的后期維護成本。

圖計算框架選擇

圖神經網絡當前已經有不少專門的框架,比如亞馬遜的 DGL、阿里的 Euler、基于 PyTorch 的 PyG,同時主流的深度學習框架也會支持圖神經網絡和圖計算。但在 2017 年極驗開始調研圖神經網絡的時候,還沒有這么多開源框架可供選擇,為了解決前面提到的三個落地問題,極驗自己開發了一個內部的圖計算引擎,做了一些圖數據存儲底層組件的定制化開發和優化工作,上層再與 TensorFlow 做整合。

在劉忠雨看來, 圖神經網絡計算框架是未來深度學習計算框架一個新的主流, 因此今年以來各類框架層出不窮。對于目前市面上主流的幾個圖神經網絡計算框架,劉忠雨認為各個框架都有自己的鮮明的特點。比如,基于 PyTorch 的 PyG 非常適合用于學術研究,其內部已經匯聚了很多任務模型的實現。如果圖數據規模比較小,用戶希望做一些學術研究或開發新算法,DGL 也非常合適,它提供了一個非常通用的圖神經網絡的編程模式,并且最新的 0.3 版本也對性能做了比較大的優化。劉忠雨認為 DGL 未來的開發方向會朝著學術和工業兩條線并行發展。阿里開源的 Euler 定位更加精準,就是如何在一個工業級別的大圖上高效地訓練算法。

算法模型選擇

當前圖神經網絡已經有非常多的算法模型,包括大量變體,比較出名的有 GraphSage、Graph Attention Network、RGCNN,在這之上還有一個比較通用的 GNN 編程模式叫做 message passing 機制,稍微改造一下就可以適配屬性圖的學習,而屬性圖可以代表最廣泛的圖數據格式。這些功能基本上已經能夠覆蓋極驗實際業務中非常多的場景。因此,對于模型選擇,劉忠雨認為一個 Message Passing 方法就夠了,其他變體算法其實沒有什么本質上的區別。真正在實際業務落地中,重心應該放在數據本身和業務特點上,根據特定的業務數據和相關任務進行落地模型的考量。變體雖多,但在實際業務中使用的可能性或者性價比比較低,比如 Graph Attention Network 對于顯卡計算負載過大,相比較而言,給業務帶來的收益卻并不明顯。

模型更新問題

圖蘊含的數據量往往特別大,全量更新的成本比較高,但是新產生的數據(如用戶行為數據)時效性更強,價值也更大,那么如何做好 GNN 模型更新的工作?劉忠雨認為可以分三個層面來做。

首先可以直接用 GNN 模型去預測,現在的圖模型大多是支持 inductive learning 的,基本可以直接對新數據進行預測,這本身就是在衡量模型算法的泛化能力。其次,如果數據變化比較快或者新出現的數據比較多,模型需要快速跟進并適配這些數據,就可以采用一些小技巧。比如將變化比較大的節點以及部分采樣出來的就數據結合到一起,對這部分數據進行模型的 FineTune,從而做到模型的快速更新。第三步,還是需要選擇一個適應業務指標需求建模的窗口數據來進行模型的訓練,從而得到更好的校正效果。總體來說,極驗的思路就是上述三個步驟的循環,優先保證模型本身的泛化性,再通過對新數據的微調來補充模型的快速響應能力。

GCN 未來展望

圖神經網絡在工業界尚未成為現象級技術

劉忠雨告訴 InfoQ,目前圖神經網絡在工業界并沒有成為現象級的技術,但在大公司已有嘗試,比如阿里將圖神經網絡用在了搜索排序和欺詐用戶檢測,國外的圖片社交網站 Pinterest 發布了第一篇大規模圖神經網絡落地應用的 論文 等。雖然整體來看圖神經網絡的落地應用尚處于早期,還沒有大范圍推廣開,但劉忠雨非常看好圖神經網絡的落地前景。圖神經網絡天然適用于大規模業務數據挖掘的需求,而前一波深度學習浪潮積累下來的軟硬件設施也為圖神經網絡的落地打下了基礎。

首先,很多公司的業務數據本身就存在大量的關系模式,關系建模可以幫助解決很多業務問題,典型場景比如反欺詐、營銷推薦等,這給 GNN 的發展奠定了很好的數據與業務的基礎。其次,很多企業已經在這波 AI 浪潮中搭建了自己的建模團隊和機器集群,GNN 和 CNN、RNN 是一脈相承的,都是深度學習在新領域的推進,這又給 GNN 的發展奠定了很好的技術基礎。基于這兩點,劉忠雨認為 GNN 后續的研發和應用都會十分迅速, 2 年之內應該就能真正落地

圖神經網絡的典型應用場景主要包括以下 5 類:

  1. 反欺詐。通過 GNN 對數據進行更深層的挖掘,識別惡意用戶的模式,從而進行風險控制。

  2. 營銷推薦。原來我們可能只是關注用戶與商品之間的交互矩陣,但其實用戶可能與商品還有更多層次的交互,比如用戶與商家、商品跟商品之間的交互,而且用戶與商品本身也有很多屬性信息。這些信息以及前面提到的交互性的關聯信息怎么做端到端的學習?圖神經網絡就提供了對應的解決方案,這可能是未來推薦系統非常普適的一個方向。

  3. 推理。推理現在可以說是學術界研究 GNN 非常火的一個方向,它指的是把信息或概念融合之后得到推斷。很多信息和概念之間是存在一定關聯的,因此可以協同考慮,這一過程與 GNN 的計算模式不謀而合。常見的應用包括視覺問答、視覺推理、語義圖等。

  4. 3D 視覺。前幾年業界主要使用 CNN 來解決 2D 圖形的分割檢測等問題,而現在 CVPR 接收論文有相當大的一部分都在做 3D 視覺,比如 3D 點云識別分割等,其中有大量工作都是基于圖神經網絡的思想。

  5. 學術場景,如生物的蛋白質活性檢測、RNA 分類、物理領域的研究等。

圖神經網絡落地的瓶頸

劉忠雨告訴 InfoQ,圖神經網絡本身是一個產學研結合非常緊密的方向,但當前還存在幾大瓶頸問題待解決。

首先是算法的可擴展性。雖然以采樣操作為核心的 GraphSage 算法可以適應數十億邊規模的圖,但它不是最優的解決方案。未來業界還需要考慮更高效的針對圖建模的通用優化算法,這對于 GCN 在工業界全面落地能夠提供非常大的幫助。目前來看,學術界已經逐漸有一些關注圖學習優化的論文出來,這在未來會成為一個比較重要的學術研究方向。

另一個瓶頸是 GCN 的過平滑問題。目前圖神經網絡不能設計成特別深的層,否則節點的表達就趨于一致了,導致這個問題的一個主要原因就是過平滑,這個問題現在也已經有了一些解決方向。(注:參考論文 https://arxiv.org/abs/1806.03536https://arxiv.org/abs/1810.05997

未來極驗在 GCN 的工作重點會繼續放在圖建模流水線的優化上,以加快業務產出的效率;另外也會把部分精力放在更高效的圖的優化方法上,包括如何更快速地進行圖算法模型的迭代等。

采訪嘉賓介紹

劉忠雨,畢業于華中科技大學,極驗算法負責人。負責極驗各項目的算法研究以及技術路線制定,在圖神經網絡方面有比較深入的研究。

我來評幾句
登錄后評論

已發表評論數()

相關站點

+訂閱
熱門文章
贵州11选5走势图软件