十億節點大規模圖計算降至「分鐘」級,騰訊開源圖計算框架柏拉圖
11 月 14 日,騰訊正式宣佈開源高效能圖計算框架 Plato,據介紹,Plato 可滿足十億級節點的超大規模圖計算需求,將演算法計算時間從「天」級縮短到「分鐘」級,效能全面領先於其它主流分散式圖計算框架,並且打破了原本動輒需要數百臺伺服器的資源瓶頸。
Plato 開源地址:https://github.com/tencent/plato
伴隨著人工智慧領域技術的發展,「圖計算」的應用場景也越來越廣泛。熟悉的人都知道,圖計算的「圖」並不是指普通的影像和照片,而是用於表示物件之間關聯關係的一種抽象資料結構。圖計算可以將不同來源、不同型別的資料融合到同一個圖裡進行分析,得到原本獨立分析難以發現的結果,因此成為社交網路、推薦系統、網路安全、文字檢索和生物醫療等領域至關重要的資料分析和挖掘工具。
最強效能的圖計算框架 Plato
Plato 是騰訊內部圖計算 TGraph 團隊整合內部資源自主研發的一款高效能圖計算框架,取名 Plato 是為了致敬偉大的數學家柏拉圖。目前騰訊雲大資料團隊正在封裝 Plato,即將對所有開發者開放使用。
相對於目前全球範圍內其它的圖計算框架,Plato 可滿足十億級節點的超大規模圖計算需求,將演算法計算時間從天級縮短到分鐘級,效能全面領先於其它主流分散式圖計算框架,並且打破了原本動輒需要數百臺伺服器的資源瓶頸。現在,最少只需要十臺伺服器即可完成計算。
綜合來說,Plato 在計算效能方面極其強悍,主要有以下貢獻:
- Plato 能高效地支撐騰訊超大規模社交網路圖資料的各類計算,且效能達到了學術界和工業界的頂尖水平,比 Spark GraphX 高出 1-2 個數量級,使得許多按天計算的演算法可在小時甚至分鐘級別完成,也意味著騰訊圖計算全面進入了分鐘級時代;
- Plato 的記憶體消耗比 Spark GraphX 減少了 1-2 個數量級,意味著只需中小規模的叢集(10 臺伺服器左右)即可完成騰訊資料量級的超大規模圖計算,打破了動輒需要上百臺伺服器的資源瓶頸,同時也極大地節約了計算成本;
- Plato 隸屬騰訊圖計算 TGraph,起源於超大規模社交網路圖資料,但可以完美適配其他型別的圖資料,同時,Plato 作為高效能、可擴充套件、易插拔的工業級圖計算框架,推動了業界超大規模圖計算框架的技術進步。
兩大核心能力
目前,Plato 主要提供兩大核心能力:騰訊資料量級下的離線圖計算和騰訊資料量級下的圖表示學習。同時,Plato 可執行在通用的 X86 叢集,如 Kubernetes 叢集、Yarn 叢集等。在檔案系統層面,Plato 提供了多種介面支援主流的檔案系統,如 HDFS、Ceph 等。
騰訊 Plato 整體架構圖
在架構設計上,Plato 框架的核心是自適應圖計算引擎,它能夠根據不同型別的圖演算法,提供多種計算模式供開發者靈活選擇,包括自適應計算模式、共享記憶體計算模式和流水線計算模式等。另外,還設計了良好的介面支援接入新的計算通訊模式。
在計算引擎之上,Plato 為演算法設計者或具體的業務提供多層次介面:從底層的 API,到圖演算法庫,再到為具體業務量身打造的「解決方案」——圖工具集。通過這些應用層的介面和工具,Plato 還可以把離線計算結果與其他機器學習演算法相結合,共同支撐頂層的不同業務。
值得一提的是,目前 Plato 的演算法庫中的圖特徵、節點中心性指標、連通圖和社團識別等多種演算法都已經開源,未來還將進一步開源更多的演算法。
目前已經開源的演算法包括:
- 圖特徵
- 樹深度/寬度
- 圖特徵打包計算:節點數/邊數/密度/節點度分佈
- N-階度
- HyperANF
- 節點中心性指標
- KCore
- Pagerank
- Closeness
- Betweenness
- 連通圖 & 社團識別
- Connected-Component
- LPA
- HANP
- 圖表示學習
- Node2Vec-Randomwalk
- Metapath-Randomwalk
- 聚類/分圈演算法
- LDA
- FastUnfolding
- 其他圖相關演算法
- BFS
- 共同類計算
即將開源的演算法:
- Network Embedding
- LINE
- Word2Vec
- GraphVite
- GNN
- GCN
- GraphSage
效能對比
下圖選取了 Plato 與 Spark GraphX 在 PageRank 和 LPA 這兩個 benchmark 演算法中的效能對比(受限於篇幅原因,其他 benchmark 演算法效能對比不再贅述,效能對比和上述兩個演算法類似)。從下圖可以看到,Plato 的效能比 Spark GraphX 高出 1-2 個數量級。
除了計算效能不足,記憶體佔用過大也是限制大規模圖計算的主要因素。Plato 的另一個巨大優勢則是它的記憶體開銷遠小於主流圖計算框架。從下圖可以看出,Plato 的記憶體消耗比 Spark GraphX 減少了 1-2 個數量級,為超大規模圖計算創造了更大的想象空間。
Plato 不僅在 benchmark 演算法中獨樹一幟,在真實的業務演算法中也同樣成效卓著。在騰訊資料量級下,Plato 的計算效能也非常優秀。下圖給出了 Plato 在騰訊資料量級下的共同類計算、Node2Vec、LINE、GraphSage 等典型業務演算法的效能(受限於篇幅原因,其他演算法效能不再贅述,效能和上述演算法類似)。
騰訊開源藍圖
Plato 高效能、可擴充套件、易插拔的特性在社交網路、推薦系統、生物醫療等領域應用前景廣闊,例如定期對網頁進行影響力排序以提升使用者的搜尋體驗、分析龐大的社交網路結構以便精準地為使用者推薦服務、通過子圖匹配等方式瞭解蛋白質間的相互作用從而研製更有效的臨床醫藥等。
在上週的 Techo 開發者大會上,騰訊也正式宣佈 TubeMQ、Tencent Kona JDK、TBase、TKEStack 四大重點專案的開源。統計下來,騰訊已經在 GitHub 上開源了 86 個專案,位列 Github 全球公司貢獻榜的 Top 10。據瞭解,在騰訊內部推開源協同的戰略推動下,目前尚未開源的 SuperSQL 等也將會陸續開源。
https://www.toutiao.com/i6759372914950144515/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2664453/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 圖計算 on nLive:Nebula 的圖計算實踐
- MaxCompute 圖計算開發指南
- 0502-計算圖
- 圖計算:一張圖秒級洞察千億級複雜關係
- js計算圖片內點個數JS
- 1分鐘訓練百萬級別節點嵌入,Mila開源圖嵌入訓練系統GraphViteMILAVite
- 圖計算引擎分析--GridGraph
- 博圖SCL均值計算
- 圖計算引擎分析——Gemini
- 大規模文字相似度計算
- 雲端計算學習路線圖素材課件:雲端計算常用的開源工具開源工具
- 未來計算圖鑑:十年後的計算長什麼模樣?
- 北大、微軟亞洲研究院:高效的大規模圖神經網路計算微軟神經網路
- 圖解計算機結構與體系分類!!圖解計算機
- 位元組跳動自研萬億級圖資料庫 & 圖計算實踐資料庫
- 大規模圖嵌入 | 論文快訊
- 極光超級計算機將繪製人類大腦圖譜計算機
- 計算地圖中兩點之間的距離地圖
- 圖靈機與計算理論圖靈
- 圖解計算機中的數值範圍和浮點運算圖解計算機
- 紀念DedeCMS創始人IT柏拉圖先生
- 柏圖斯
- 螞蟻集團宣佈雲原生大規模叢集化機密計算框架 KubeTEE 開源框架
- 計算機小白大資料學習線路圖計算機大資料
- 異構計算助力客戶春節webp圖片編碼Web
- GraphX 圖計算實踐之模式匹配抽取特定子圖模式
- 雲端計算規模大嗎?可靠嗎?
- 1分鐘訓練百萬級別節點嵌入,加拿大Mila研究所開源圖嵌入訓練系統GraphViteMILAVite
- 如何使用圖片的exif資訊計算相機焦距
- [開源]CSharpFlink(NET 5.0開發)分散式實時計算框架,PC機10萬資料點秒級計算測試說明CSharp分散式框架
- GraphX 在圖資料庫 Nebula Graph 的圖計算實踐資料庫
- 騰訊優圖實驗室升級為騰訊計算機視覺研發中心,與《科學》期刊達成戰略合作計算機視覺
- 【騰訊地圖】騰訊地圖定位解析地圖
- 百億節點、毫秒級延遲,攜程金融基於 NebulaGraph 的大規模圖應用實踐
- ?????iOS圖表框架AAChartKit—強大、精美、易用的開源iOS圖表iOS框架
- 萬字詳解:騰訊如何自研大規模知識圖譜 Topbase
- Github Python計算器開源專案 二次開發--增加函式圖形GithubPython函式
- 雲端計算影片教程:2020年雲端計算學習路線圖