北京時間8月27日,全球數據庫三大頂級會議之一——VLDB(Very Large Data Bases Conferences)在巴西里約熱內盧召開。騰訊AI開源項目Angel受邀參會,以workshop和展區的形式,向全球頂尖數據專家展現騰訊在大數據挖掘和數據庫管理的研究成果。git
同時,Angel正式宣佈加入LF深度學習基金會,並將發佈達萬億級維度特性計算的Angel 2.0。結合基金會成熟的運營,全面升級的Angel 2.0將與國際開源社區繼續深刻互動,致力於讓機器學習技術更易於上手研究及應用落地的目標。github
來自TEG數據平臺部的Angel首席開發工程師肖品提到:「Angel做爲一個分佈式機器學習平臺,可以在萬億級的特徵維度條件下運行多種機器學習算法,這是開源系統在面對高維度的模型訓練時性能表現不佳現狀的一個的重大的突破,很高興Angel能以其在推薦領域的成熟表現,得到Linux深度學習基金會的青睞。」算法
Angel(https://github.com/Angel-ML/a...,由TEG數據平臺部自主研發,正式開源於2017年6月。它是一個基於參數服務器(ParameterServer)理念的高性能分佈式機器學習平臺,在騰訊內部普遍應用於騰訊視頻推薦、微信內容推薦、廣點通點擊率預估等業務場景。它採起將高維度大模型合理切分到多個參數服務器節點的核心設計,結合高效的模型更新接口、運算函數及靈活的同步協議,輕鬆實現機器學習算法的效率提高。Angel具備普遍的適用性和穩定性,模型維度越高時,平臺便有越明顯的優點。進入Angel2.0,憑藉參數服務器的支持,Angel能夠輕鬆擴展到千億級維度特性。同時,經過全面優化的算法,Angel 2.0將pulling/pushing子模型引入高維模型,在支持以高維度模型爲表明的高性能數學庫上,展示出優異的性能。數據庫
在兼容方面,Angel基於 Java 和 Scala開發,經過Yarn進行調度運行,提供了豐富的優化方法和機器學習算法實現。配套PS Service,Angel支持Spark 或其它圖計算、深度學習框架。而Angel 2.0在深度學習的支持上也作出重要優化,如對DeepFM,PNN,Wide&Deep,NFM等常見深度學習框架的全面兼容,以及支持用戶經過Json定義的網絡。服務器
目前Angel在GitHub上擁有3500的Star數,超過900的Fork數及1000多Commits,在國內外開源社區一直處於活躍水平。來自小米、華爲、新浪微博的工程師都曾參與Angel的開發,貢獻了高質量的代碼,還有海外人士志願參與Angel英文文檔建設,助力項目走向國際化。微信
加入LF深度學習基金會後,Angel將更加註重貢獻者的成長和社區的建設,在最新發布的Angel的技術憲章(Technical Charter)中,對項目的社區化管理做了明確的說明,將來該項目將由項目指導委員會 (TSC)規劃技術方向,並經過投票作出特性發布、工做流程、貢獻者晉升等重要決策。目前TSC成員由項目原始開發人員組成,參與重大優化或特性開發的貢獻者也有望成爲項目的TSC成員。網絡
對於這次Angel正式加入LF深度學習基金會,Linux深度學習基金TAC委員、騰訊開源辦公室表明朱曉龍表示:「Angel和Linux深度學習基金會的目標是一致的:讓機器學習及深度學習變得更易於實施和使用。加入Linux深度學習基金會運做後以後,Angel會更加註重社區互動,不斷積累用戶案例、擴充使用場景、積極探索與其它公司的合做,提供更爲一致性、連續性的操做體驗,下降進入深度學習應用程序部署和發展的門檻。」架構
Angel是騰訊AI技術與國際AI研究的鏈接器。經過Angel,騰訊將建設一個能讓用戶快速、輕鬆創建有大規模計算能力的機器學習平臺,賦予國際AI社區更大的活力,助力中國,乃至世界AI技術的迭代與發展。框架
Angel 2.0 特性介紹機器學習
a)基於參數服務器,Angel能夠輕鬆擴展到萬億級維度的模型
b)針對稀疏大模型的場景, Angel對底層數數學庫進行了作了優化
c)Angel上的算法經過pulling/pushing子模型, 輕鬆訓練萬億級維度的模型
2.高性能數學庫
a)無泛型設計, 採用Java基礎數據類型來加速計算 b)使用快速哈希方法,加速稀疏向量/矩陣運算 c)Long-Key索引和Compoent量向量/矩陣的引入, 使Angel支持超大模型 d)Execotor-Expression架構使其基礎運算高效且易於擴展
3.計算圖支持
a)基於層的輕量計算圖 b)自動計算梯度 c)易於添加層以擴展系統 d)開箱即用的特徵交叉層,有利於推薦系統算法開發 e)Angel和Spark on Angel共享統一的計算圖
4.深度學習支持
a)推薦系統中常見的深度學習算法,如Deep And Wide, DeepFM,PNN,PNN,NFM都已支持 b)用戶能夠經過Json定義的網絡