您的位置:首頁>科技>正文

TuX²:面向機器學習的分散式圖計算系統

當下, 機器學習的技術成果已經深入到了我們生活中的各個方面。 從網頁檢索系統, 到電影書籍推薦系統、廣告展示系統……這些看似隱形卻又存在感十足的技術無一不得到了機器學習的支撐。

可以這麼說:沒有電腦技術的發展, 就不會有這些智慧服務的高效便捷。

從理論到應用並非一步之遙

在人們計算體驗改善的過程中, 演算法的進步自然功不可沒。 例如, 話題模型(topic-modeling)、點擊率預測(click-through prediction)等一系列演算法的出現與不斷優化, 使得例如推薦系統等資訊服務的品質逐步提高。 但是, 在海量的資料規模上, 要應用這些演算法以解決問題, 僅有理論是遠遠不夠的。 我們顯然不能指望單台電腦運行串列程式來維持當今互聯網級別的計算和服務。 而隨著資料內容的增長和使用者量的劇增, 更多的資訊也使得我們面臨的挑戰愈加嚴峻。 因此為了不斷應對新時期資訊處理規模的需要,

從科學研究到工程實踐, 分散式運算的相關理論都得到了長足的發展, 多個分散式系統先後湧現。 它們將規模龐大的電腦聯合起來, 從而有效地解決大規模的計算問題。 其中, 圖計算系統就是其中一隻重要的分支, 從Pregel到GraphLab再到PowerGraph, 她們解決的問題範圍逐步增大, 性能也不斷提升。

從圖的視角看問題

而介紹圖計算系統, 首先我們會問:什麼是圖呢?圖(Graph), 將資訊中的實體, 以及實體之間的關係, 分別抽象表達成為頂點以及頂點間的邊這樣的結構資料。 圖計算系統就是主要針對圖結構資料處理的系統, 並在這樣的資料上進行針對性優化的高效計算。

我們處理機器學習的問題時, 為什麼會考慮到用圖計算系統呢?

首先, 從其本質上來講, 我們機器學習中需要處理的很多資訊是由實體和關係構成的。 例如:使用者和電影就是實體, 他們之間的喜好構成了實體間的關係;搜索查詢和商品也是實體, 他們之間的點擊率構成了實體間的關係……

下圖表示了如何將邏輯回歸(LR: Logistic Regression)計算抽象成圖計算。 其中的綠色和黃色頂點分別表示樣本(sample)和特徵(feature), 而聯結它們的藍色邊則是 “樣本具有特徵” 關係。 樣本點上具有標籤y, 特徵上具有權重w, 而LR的目的就是希望通過回歸計算不斷更新各個w, 從而得到適合該模型的權重w, 以便通過此模型為只具有特徵關係的樣本預測標籤。

將邏輯回歸抽象成圖計算

其次, 這樣的抽象會使我們有機會更有效地處理。 圖計算系統已經在處理這樣的圖資料的長期實踐中積累了大量的經驗。 圖計算系統可以利用圖結構的特性, 有效地進行資料存儲和調度執行。 譬如, 我們可以通過基於圖的劃分方法將資料更平均的分發給多台機器, 讓他們並存執行,

保證各機器的負載均衡, 並且可以根據圖的結構資訊來更好的安排資料的存放以改進計算時的資料局部性, 從而帶來更高的性能。

TuX2

諸如PageRank這樣的應用, 傳統的圖計算系統已經可以很高效地處理了。 使用者可以利用系統提供的程式設計模型介面實現相應演算法的邏輯, 然後將資料灌入系統運行即可。 然而, 許多常用的機器學習應用並不能直接採用傳統的例如PowerGraph這樣的系統。 這是因為, 與傳統的圖計算應用相比, 許多機器學習應用處理資料有著不同于傳統圖演算法的模式。 例如小分批(mini-batch)和延時同步並行(SSP: Stale Synchronous Parallel)。 前者需要按照指定的批量為單位處理資料, 而後者是一種區別于傳統的圖計算中純同步/純非同步當中的一種同步方式。 這都需要對傳統圖計算系統進行重新設計,從而支援相應的功能。而這些重新設計的挑戰在某種意義上也是機會——我們可以利用這些機器學習應用共同的內在屬性,從而提高演算法的執行效率。

因此,基於分散式圖計算系統的經驗和機器學習應用的理解,我們提出了分散式機器學習系統——圖學習TuX2(Tu Xue Xi)。TuX2作為一個全新的分散式圖引擎,致力於融合圖計算和分散式機器學習系統。TuX2繼承了傳統圖計算系統中的優勢:簡潔的計算模型,高效的資料排布,均衡的負載分配以及超過10億條邊的規模處理能力;並對於分散式機器學習進行了大幅擴展和優化,以支持異質性、延時同步並行(Stale Synchronous Parallel),並提出了一種新的程式設計模型——MEGA(Mini-batch, Exchange, GlobalSync, Apply)。

性能

我們在TuX2上實現了一系列具有代表性的分散式機器學習演算法,涵蓋了監督學習和非監督學習。通過與機器學習系統的對比,我們發現實現相同的演算法,TuX2只需要約25%的代碼量,因為我們的圖計算模型從開發者手中接管了很多瑣碎的處理細節,包括資料排布、資料劃分和並行。在640億條邊的大規模資料上的多個實驗結果充分表明,相比于目前最先進的圖計算系統PowerGraph和PowerLyra,TuX2具有一個量級上的性能優勢,並且與參測的兩個目前最先進的分散式機器學習系統相比,實現了至少48%的性能提升。

相關論文

本文所介紹的工作發表於會議14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2017): TuX2: Distributed Graph Computation for Machine Learning》Wencong Xiao, Jilong Xue, Youshan Miao, Cheng Chen, and Ming Wu, Wei Li, Lidong Zhou。(請點擊閱讀原文或將網址複製至流覽器中打開即可查看:https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/xiao)

關於微軟亞洲研究院系統組

微軟亞洲研究院系統組從事電腦系統領域重大課題的基礎性研究,在分散式系統、存儲系統、雲計算、網路、及電腦語言等方面均有理論與實踐經驗豐富的專家。自成立以來,系統組一直致力於設計、開發、分析、優化大規模分散式系統,其中一些系統已經在微軟產品中應用,支援各種線上服務。系統組成員在此過程中收穫了寶貴的第一手實踐經驗,而這些經驗更進一步激發了一系列新的研究專案,並在電腦系統及相關領域的頂級會議上收穫豐富成果。微軟亞洲研究院系統組多項工作發表於OSDI、SOSP、NSDI、EuroSys、SoCC、USENIX ATC等一系列高水準學術會議上。

你也許還想看:

讓搜尋引擎更智慧需要經歷什麼?企業大資料採擷:為員工構建職場知識圖譜【開源】分散式機器學習工具包運用機器學習教電腦“看懂”視頻2017年最值得關注的科學概念之“遷移學習”感謝你關注“微軟研究院AI頭條”,我們期待你的留言和投稿,共建交流平臺。來稿請寄:msraai@microsoft.com。微軟小冰 這都需要對傳統圖計算系統進行重新設計,從而支援相應的功能。而這些重新設計的挑戰在某種意義上也是機會——我們可以利用這些機器學習應用共同的內在屬性,從而提高演算法的執行效率。

因此,基於分散式圖計算系統的經驗和機器學習應用的理解,我們提出了分散式機器學習系統——圖學習TuX2(Tu Xue Xi)。TuX2作為一個全新的分散式圖引擎,致力於融合圖計算和分散式機器學習系統。TuX2繼承了傳統圖計算系統中的優勢:簡潔的計算模型,高效的資料排布,均衡的負載分配以及超過10億條邊的規模處理能力;並對於分散式機器學習進行了大幅擴展和優化,以支持異質性、延時同步並行(Stale Synchronous Parallel),並提出了一種新的程式設計模型——MEGA(Mini-batch, Exchange, GlobalSync, Apply)。

性能

我們在TuX2上實現了一系列具有代表性的分散式機器學習演算法,涵蓋了監督學習和非監督學習。通過與機器學習系統的對比,我們發現實現相同的演算法,TuX2只需要約25%的代碼量,因為我們的圖計算模型從開發者手中接管了很多瑣碎的處理細節,包括資料排布、資料劃分和並行。在640億條邊的大規模資料上的多個實驗結果充分表明,相比于目前最先進的圖計算系統PowerGraph和PowerLyra,TuX2具有一個量級上的性能優勢,並且與參測的兩個目前最先進的分散式機器學習系統相比,實現了至少48%的性能提升。

相關論文

本文所介紹的工作發表於會議14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2017): TuX2: Distributed Graph Computation for Machine Learning》Wencong Xiao, Jilong Xue, Youshan Miao, Cheng Chen, and Ming Wu, Wei Li, Lidong Zhou。(請點擊閱讀原文或將網址複製至流覽器中打開即可查看:https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/xiao)

關於微軟亞洲研究院系統組

微軟亞洲研究院系統組從事電腦系統領域重大課題的基礎性研究,在分散式系統、存儲系統、雲計算、網路、及電腦語言等方面均有理論與實踐經驗豐富的專家。自成立以來,系統組一直致力於設計、開發、分析、優化大規模分散式系統,其中一些系統已經在微軟產品中應用,支援各種線上服務。系統組成員在此過程中收穫了寶貴的第一手實踐經驗,而這些經驗更進一步激發了一系列新的研究專案,並在電腦系統及相關領域的頂級會議上收穫豐富成果。微軟亞洲研究院系統組多項工作發表於OSDI、SOSP、NSDI、EuroSys、SoCC、USENIX ATC等一系列高水準學術會議上。

你也許還想看:

讓搜尋引擎更智慧需要經歷什麼?企業大資料採擷:為員工構建職場知識圖譜【開源】分散式機器學習工具包運用機器學習教電腦“看懂”視頻2017年最值得關注的科學概念之“遷移學習”感謝你關注“微軟研究院AI頭條”,我們期待你的留言和投稿,共建交流平臺。來稿請寄:msraai@microsoft.com。微軟小冰
Next Article
喜欢就按个赞吧!!!
点击关闭提示