來源:量子位
魚羊 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
微信正用著的深度學習框架,現(xiàn)在你也可以上手試一試了。
就在最近,騰訊把這個名叫deepx_core的深度學習基礎庫正式對外開源。
相比于PyTorch、TensorFlow等流行深度學習框架,這位選手不僅具有通用性,還針對高維稀疏數(shù)據(jù)場景進行了深度優(yōu)化。
也就是說,對于開發(fā)搜索、推薦、廣告這樣的深度學習應用,會更加友好易用。
具體是怎么一回事,不妨一起來了解一下~
一個張量計算/深度學習基礎庫
根據(jù)項目介紹,deepx_core是一個通用的深度學習框架,使用C++11開發(fā)?;赿eepx_core,可以快速開發(fā)張量計算/機器學習/深度學習/強化學習/圖神經網(wǎng)絡/無監(jiān)督學習等應用。
關于deepx_core的特點,不妨先從張量說起。
張量是deepx的核心數(shù)據(jù)結構,有以下幾種類型。
其中,float_t是單精度浮點數(shù),int_t是64位無符號整數(shù)。
值得一提的是,稀疏張量一直是開源框架的痛點,但像搜索、推薦等算法應用,其實都是高維稀疏數(shù)據(jù)場景。
為此,deepx_core設計并實現(xiàn)了稀疏張量和配套的operation,以原生的方式實現(xiàn)了稀疏模型。
在分布式訓練場景下,稀疏張量均勻分布在多臺參數(shù)服務器上,模型規(guī)模能隨著參數(shù)服務器數(shù)量增加而線性擴展。
deepx_core的另一個重要模塊,是計算圖。
具體而言,deepx_core提供了一個支持自動求導的靜態(tài)圖引擎,支持100+ operation,覆蓋幾乎所有網(wǎng)絡類型。
計算圖引擎通常用在各種深度學習任務中。而一個完整的深度學習應用,主要包括以下模塊的開發(fā)和使用:
樣本解析器
特征抽取
計算圖
優(yōu)化器
在deepx_core中,樣本解析器和優(yōu)化器都是單獨的模塊。在內置樣本解析器、優(yōu)化器無法滿足需求的情況下,都可以通過繼承來增加新的解析器、優(yōu)化器。
另外,因為基于C++開發(fā),deepx_core具有高性能和跨平臺的特點。
根據(jù)官方實驗數(shù)據(jù),基于deepx_core解決方案的性能普遍是開源框架的5-10倍。
安裝使用
如果你想親自試試這個新開源框架,那么需要先準備一個支持C++11的編譯器來進行編譯。
make?-j8
再跑一下單元測試。
make?-j8?test
然后安裝即可。
make?-j8?install?PREFIX=/where/you/want/to/install
已有落地應用
最后,簡單介紹一下項目背后的開發(fā)團隊。
deepx_core的開發(fā)者來自微信看一看算法平臺團隊。
據(jù)介紹,在正式開源之前,deepx系列機器學習項目已經在騰訊內部經過了3年多的迭代。
微信看一看、微信搜一搜、微信支付、微信表情、微信視頻號、微信小程序、微信讀書、QQ音樂、應用寶、騰訊新聞、騰訊課堂、騰訊黑產打擊等排序/召回場景中,都已經有deepx_core及其衍生項目的落地。
說起來,鵝廠近年來在開源方面確實沒少下功夫。
根據(jù)騰訊2020年度《騰訊研發(fā)大數(shù)據(jù)報告》,騰訊目前深度參與了數(shù)十個國際知名開源項目的貢獻,并在OpenJDK、KVM等開源社區(qū)的貢獻榜上,攀至國內第一。
辣么,你可曾用過鵝廠的開源項目?歡迎在評論區(qū)分享經驗~
傳送門
項目地址:
https://github.com/Tencent/deepx_core
(聲明:本文僅代表作者觀點,不代表新浪網(wǎng)立場。)