[發明專利]一種插件式分布式機器學習計算框架及其數據處理方法有效
| 申請號: | 201810004566.X | 申請日: | 2018-01-03 |
| 公開(公告)號: | CN108280522B | 公開(公告)日: | 2021-08-20 |
| 發明(設計)人: | 鄭培凱;馬超;倪焱;肖臻 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06N20/00 | 分類號: | G06N20/00;G06F8/20;H04L29/08 |
| 代理公司: | 北京君尚知識產權代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100871 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 插件 分布式 機器 學習 計算 框架 及其 數據處理 方法 | ||
本發明公開了一種插件式分布式機器學習計算框架及其數據處理方法。本發明包括一個主控制節點、多個服務器節點和多個工作節點;每個服務器節點存儲機器學習模型的一部分參數,各服務器節點存儲的參數組成該機器學習模型的全部待訓練的參數;每一工作節點存儲一部分訓練數據,工作節點根據存儲的訓練數據從對應服務器獲取相關的參數,然后計算參數的更新量后將參數更新量回傳給對應服務器;每一工作節點中設置一核心實例進程和一參數代理進程;核心實例進程通過參數代理進程與服務器節點進行通信,核心實例進程和參數代理進程之間通過一個與編程語言無關的通道進行數據傳輸和同步。本發明易于將任意語言編寫的單機機器學習程序擴展成分布式程序。
技術領域
本發明涉及一種機器學習計算框架及其數據處理方法,尤其涉及一種插件式分布式跨編程語言機器學習計算框架及其數據處理方法。
背景技術
機器學習已經成為了處理大數據的有效工具。機器學習過程中經常通過增加模型的參數提高模型的精度。然而由于單機的計算能力和內存的限制,分布式系統成為解決超大數據量機器學習問題的手段。
Hadoop和Spark這些數據流框架已經極大的簡化了大規模數據處理?;谶@些框架的分布式機器學習庫在工業界和學術界廣泛使用,但是大多數框架都采用迭代式MapReduce流程,使用任務同步和比較粗粒度的計算和通信。在面對大規模稀疏邏輯回歸問題,大規模主題模型以及深度學習問題的時候,這些衍生框架是低效而且不準確的。目前參數服務器模式已經成為高效解決機器學習超大模型的方法。參數服務器模式中,工作節點用來分擔計算任務,服務器節點維護全局的模型參數。相對于迭代的MapReduce模型,參數服務器可以異步地細粒度地進行計算和通信,可以最大化CPU的使用率,減少通信。
實驗證明前面所述的這些框架能夠有效的解決分布式機器學習的應用。但是幾乎所有的框架都要求使用該框架重寫原有的代碼。例如:一方面很多的開發者已經熟悉了原有的工具比如Matlab,R,Numpy等,對于這些人來說學習一個新的框架需要花費很長的周期。另一方面,很多專業的機器學習開發者更喜歡用效率高的C++和GPGPU,對于這些開發者來說Spark等工具都不合適。
發明內容
針對現有技術中存在的技術問題,本發明的目的在于提供一種插件式分布式跨編程語言機器學習計算框架及其數據處理方法。本發明開發了一個新的框架Brook,這個框架通過服務器節點技術讓用戶容易地將單機的代碼轉化成分布式的,并且創新性地提出了參數代理模塊使得該框架兼容所有編程語言。本發明的目標是讓用戶能夠很容易的把單機機器學習程序擴展成分布式程序,并且兼容所有的編程語言以及GPGPU,同時保證容錯機制,還能比現有的框架高效。
本發明的技術方案為:
一種插件式分布式機器學習計算框架,其特征在于,包括一個主控制節點、多個服務器節點和多個工作節點;其中,每一工作節點分別與主控制節點、各服務器節點通信連接,各服務器節點分別與主控制節點通信連接;每個服務器節點存儲機器學習模型的一部分參數,各服務器節點存儲的參數組成該機器學習模型的全部待訓練的參數;每一工作節點存儲一部分訓練數據,工作節點根據本地存儲的訓練數據從對應服務器獲取相關的參數,然后計算所獲取參數的更新量后將參數更新量回傳給對應服務器;主控制節點記錄服務器節點和工作節點的節點信息;每一所述工作節點中設置一核心實例進程和一參數代理進程;所述核心實例進程通過所述參數代理進程與所述服務器節點進行通信,所述核心實例進程和所述參數代理進程之間通過一個與編程語言無關的通道進行數據傳輸和同步。
進一步的,所述核心實例進程通過所述通道向所述參數代理進程請求參數,所述參數代理進程查詢緩存中是否有所請求的參數,如果有,則將對應的緩存數據通過所述通道返回給所述核心實例進程,如果沒有緩存則向對應服務器節點請求相關參數返回給所述核心實例進程,然后所述核心實例進程根據返回的數據訓練更新參數并將更新參數結果和下一輪需計算參數的參數請求發送給所述參數代理進程,所述參數代理進程檢查該參數請求是否滿足一致性的要求,如果滿足返回該參數請求對應的參數,否則參數代理進程向服務器節點請求參數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810004566.X/2.html,轉載請聲明來源鉆瓜專利網。





