機器之心報道
機器之心編輯部
近年來,隨著深度學習技術的發(fā)展,越來越多的科技巨頭開發(fā)自己的機器學習平臺。昨日,華為宣布將與明年第一季度開源自家的 AI 框架 MindSpore,引起極大關注。
除了華為,國內的科技巨頭騰訊也于近日正式發(fā)布開源平臺 Angel 3.0,試圖打造全棧機器學習平臺,功能特性涵蓋機器學習的各個階段:特征工程,模型訓練,超參數(shù)調節(jié)和模型服務。
Angel 平臺是騰訊數(shù)據(jù)平臺部于 2016 年底推出的面向機器學習的「第三代高性能計算平臺」,并于 2017 年開放了其源代碼。
項目鏈接:https://GitHub.com/Angel-ML
Angel 3.0 新特性
據(jù)騰訊介紹,Angel 是基于參數(shù)服務器架構的分布式計算平臺,致力于解決稀疏數(shù)據(jù)大模型訓練以及大規(guī)模圖數(shù)據(jù)分析問題。
Angel 3.0 的整體系統(tǒng)架構如下圖所示:
Angel 自研的高性能數(shù)學庫是整個系統(tǒng)的基礎,Angel 的 PS 功能和內置的算法內核均是在這個數(shù)學庫基礎之上實現(xiàn)的。
Angel PS 提供了高效,穩(wěn)定和靈活的參數(shù)存儲和交換服務。在 3.0 版本中,騰訊對 Angel PS 功能進行了擴展,使得它可以存儲任意類型的對象,例如在圖算法的實現(xiàn)過程中,用戶可以使用 Angel PS 來存儲了大量復雜的對象。
上圖中 MLcore 是 Angel 自研的一套算法內核,它支持自動求導,可以使用 JSON 配置文件定義和運行算法。
除此之外,在 3.0 版本中,Angel 還集成了 PyTorch 作為計算引擎。在計算引擎層之上是計算框架,它們可以看作計算引擎的容器,目前支持 3 種計算框架:原生的 Angel,Spark On Angel(SONA)和 PyTorch On Angel(PyTONA),這些計算框架可以使得 Spark 和 PyTorch 用戶可以無縫切換到 Angel 平臺。
其中,Spark On Angel 使用的是 Angel 內置的算法核心,主要負責常見推薦領域的機器學習算法和基礎圖算法。PyToch On Angel 使用 PyTorch 作為計算核心,主要負責推薦領域深度學習算法和圖深度學習算法。
最上層是兩個公共組件:AutoML 和模型服務。
據(jù)騰訊介紹,Angel 3.0 的發(fā)布意在打造一個全棧的機器學習平臺,它的功能特性涵蓋了機器學習的各個階段:特征工程,模型訓練,超參數(shù)調節(jié)和模型服務。下圖總結了 Angel 3.0 的新特性,紅色的表示新增特性,白色的表示已有的但在持續(xù)改進的特性。
Angel 的特征工程模塊基于 Spark 開發(fā),增強了 Spark 的特征選擇功能,同時使用特征交叉和重索引實現(xiàn)了自動特征生成,這些組件可以無縫地整合進 Spark 的流水線。
為了讓整個系統(tǒng)更加的智能,Angel 3.0 新增了超參數(shù)調節(jié)的功能,目前支持 3 種算法:隨機搜索、網格搜索和貝葉斯優(yōu)化。
在模型服務方面,Angel 3.0 提供了一個跨平臺的組件 Angel Serving,Angel Serving 不僅可以滿足 Angel 自身的需求,還可以為其他平臺提供模型服務。
對比 TensorFlow、PyTorch
當前,TensorFlow、PyTorch 已經成為機器學習社區(qū)最主流的框架。騰訊表示,相比于 TensorFlow, PyTorch、Spark 等業(yè)界同類平臺,它有如下特點:
- Angel 是一個基于 Parameter Server(PS)理念開發(fā)的高性能分布式機器學習平臺,它具有靈活的可定制函數(shù) PS Function(PSF),可以將部分計算下推至 PS 端。PS 架構良好的橫向擴展能力讓 Angel 能高效處理千億級別的模型。
- Angel 具有專門為處理高維稀疏特征特別優(yōu)化的數(shù)學庫,性能可達 breeze 數(shù)學庫的 10 倍以上。Angel 的 PS 和內置的算法內核均構建在該數(shù)學庫之上。
- Angel 擅長推薦模型和圖網絡模型相關領域(如社交網絡分析)。下圖是 Angel 和幾個業(yè)界主流平臺在稀疏數(shù)據(jù)、模型維度、性能表現(xiàn)、深度模型和生態(tài)建設幾個維度的對比。Tensorflow 和 PyTouch 在深度學習領域和生態(tài)建設方面優(yōu)勢明顯,但在稀疏數(shù)據(jù)和高維模型方面的處理能力相對不足,而 Angel 正好與它們形成互補,3.0 版本推出的 PyTorch On Angel 嘗試將 PyTorch 和 Angel 的優(yōu)勢結合在一起。
自 2016 年年初在騰訊內部上線以來,Angel 已應用于微信支付、QQ、騰訊視頻、騰訊社交廣告及用戶畫像挖掘等業(yè)務。2017 年 6 月,Angel 在 Github 上正式開源。2018 年 9 月,Angel 2.0 版本發(fā)布,支持千億級模型維度訓練,同時算法庫也更加豐富,首次引入了深度學習算法和圖算法。截至目前,Angel 在 GitHub 上 Star 數(shù)已超過 4200,F(xiàn)ork 數(shù)超過 1000,代碼量也超過了 50 萬行。
版權聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。