微軟開源分散式機器學習工具包

發表於2015-11-14

為了滿足研究人員和開發者日益增長的各種需求,微軟亞洲研究院於日前將分散式機器學習工具包(DMTK)透過Github開源。DMTK由一個服務於分散式機器學習的框架和一組分散式機器學習演算法構成,是一個將機器學習演算法應用在大資料上的強大工具包。

無論是學術界的研究人員還是工業界的開發者,DMTK可以幫助他們在超大規模資料上靈活穩定地訓練大規模機器學習模型。當前版本的工具包包含以下幾個部分:

1. DMTK分散式機器學習框架:它由引數伺服器和客戶端軟體開發包(SDK)兩部分構成。引數伺服器在原有基礎上從效能和功能上都得到了進一步提升——支援儲存混合資料結構模型、接受並聚合工作節點伺服器的資料模型更新、控制模型同步邏輯等。客戶端軟體開發包(SDK)支援維護節點模型快取(與全域性模型伺服器同步)、節點模型訓練和模型通訊的流水線控制、以及片狀排程大模型訓練等。

2. LightLDA:LightLDA是一種全新的用於訓練主題模型,計算複雜度與主題數目無關的高效演算法。在其分散式實現中,我們做了大量的系統最佳化使得LightLDA能夠在一個普通計算機叢集上處理超大規模的資料和模型。例如,在一個由8臺計算機組成的叢集上,我們可以在具有2千億訓練樣本token的資料集上訓練具有1百萬詞彙表和1百萬個話題topic的LDA模型(約1萬億個引數),這種規模的實驗以往要在數千臺計算機的叢集上才能執行。

3. 分散式詞向量:詞向量技術近來被普遍地應用於計算詞彙的語義表示,它可以用作很多自然語言處理任務的詞特徵。我們為兩種計算詞向量的演算法提供了高效的分步式實現:一種是標準的word2vec演算法,另一種是可以對多義詞計算多個詞向量的新演算法。

此外,DMTK提供了豐富且易用的API介面,能夠有效降低分散式機器學習的門檻。機器學習的研發人員只需要專注於資料、模型和模型訓練等機器學習的核心邏輯部分。

DMTK還將在未來的版本中提供更多的功能和演算法。我們希望開源分散式機器學習工具包可以促進學術界和工業界在大規模機器學習方面的創新。更多資訊,請訪問 http://www.dmtk.io/

相關文章