[發(fā)明專利]一種減少分布式機(jī)器學(xué)習(xí)通信開銷的方法有效
| 申請?zhí)枺?/td> | 201910583390.2 | 申請日: | 2019-07-01 |
| 公開(公告)號: | CN110287031B | 公開(公告)日: | 2023-05-09 |
| 發(fā)明(設(shè)計(jì))人: | 李武軍;解銀朋;趙申宜;高昊 | 申請(專利權(quán))人: | 南京大學(xué) |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06N20/00 |
| 代理公司: | 南京樂羽知行專利代理事務(wù)所(普通合伙) 32326 | 代理人: | 李玉平 |
| 地址: | 210046 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 減少 分布式 機(jī)器 學(xué)習(xí) 通信 開銷 方法 | ||
本發(fā)明公開了一種減少分布式機(jī)器學(xué)習(xí)通信開銷的方法,基于參數(shù)服務(wù)器架構(gòu),既適用于數(shù)據(jù)中心的多機(jī)集群分布式機(jī)器學(xué)習(xí),也適用于服務(wù)器作為云端、手機(jī)或嵌入式設(shè)備作為終端的端云協(xié)同分布式機(jī)器學(xué)習(xí)。包括以下步驟:首先所有工作節(jié)點(diǎn)計(jì)算梯度,并結(jié)合兩輪參數(shù)差求出全局動量,將全局動量與上一輪記憶梯度求和得到新一輪記憶梯度,對其取部分發(fā)給服務(wù)器節(jié)點(diǎn),剩下部分進(jìn)行累積;隨后服務(wù)器節(jié)點(diǎn)累積所有稀疏的記憶梯度和,以此更新參數(shù)并將兩輪的參數(shù)差廣播給所有工作節(jié)點(diǎn);最后工作節(jié)點(diǎn)接收兩輪參數(shù)差,并更新參數(shù)。本發(fā)明的方法基于全局梯度壓縮,工作節(jié)點(diǎn)與服務(wù)器節(jié)點(diǎn)間通信時(shí)只傳遞全局動量的一部分,從而減小了分布式機(jī)器學(xué)習(xí)中的通信開銷。
技術(shù)領(lǐng)域
本發(fā)明提供了一種減少分布式機(jī)器學(xué)習(xí)通信開銷的方法,可以有效地減少分布式機(jī)器學(xué)習(xí)中的通信開銷。
背景技術(shù)
大部分機(jī)器學(xué)習(xí)模型可以被形式化為以下優(yōu)化問題:
其中w代表了模型的參數(shù),n代表了訓(xùn)練樣本的總數(shù),ξi代表了第i個(gè)樣本,f(w;ξi)則表示第i個(gè)樣本所對應(yīng)的損失函數(shù),d表示模型大小。為了求解上述優(yōu)化問題,隨機(jī)梯度下降法(SGD)以及它的變體是目前應(yīng)用最為廣泛的方法。變種中的動量梯度下降法(MSGD)對梯度使用指數(shù)加權(quán)平均,使得本次梯度影響減少,波動情況減小,在接近最小值時(shí)收斂更加穩(wěn)定。
參數(shù)服務(wù)器架構(gòu)(Parameter?Server)是分布式機(jī)器學(xué)習(xí)中常用的一種架構(gòu),該架構(gòu)具有良好的可擴(kuò)展性和容錯(cuò)性,同時(shí)也支持靈活的一致性模型。參數(shù)服務(wù)器架構(gòu)中包含一個(gè)服務(wù)器節(jié)點(diǎn)集群和多個(gè)工作節(jié)點(diǎn)集群,服務(wù)器節(jié)點(diǎn)集群包含多個(gè)服務(wù)器節(jié)點(diǎn),一個(gè)服務(wù)器節(jié)點(diǎn)維護(hù)全局共享參數(shù)的一部分,服務(wù)器節(jié)點(diǎn)彼此通信來復(fù)制和/或遷移參數(shù)以用于可靠性和縮放。一個(gè)工作節(jié)點(diǎn)集群通常本地存儲一部分訓(xùn)練數(shù)據(jù),運(yùn)行一個(gè)應(yīng)用程序來計(jì)算一些局部數(shù)據(jù),比如梯度。工作節(jié)點(diǎn)互相之間不通信,只與服務(wù)器節(jié)點(diǎn)通信來更新和檢索共享參數(shù)。
隨著訓(xùn)練數(shù)據(jù)量的增大,很多機(jī)器學(xué)習(xí)問題的訓(xùn)練過程需要花費(fèi)大量的時(shí)間,分布式算法將訓(xùn)練數(shù)據(jù)分散到多個(gè)節(jié)點(diǎn)上并行地進(jìn)行訓(xùn)練,以此來加速機(jī)器學(xué)習(xí)的訓(xùn)練過程。在實(shí)現(xiàn)數(shù)據(jù)并行的隨機(jī)梯度下降法時(shí),工作節(jié)點(diǎn)使用不同的數(shù)據(jù)子集和本地模型副本并行地計(jì)算出梯度,并發(fā)送給服務(wù)器節(jié)點(diǎn)。中心化的參數(shù)服務(wù)器收集所有梯度,并對他們求平均用來更新參數(shù),然后把更新后的參數(shù)發(fā)給所有的工作節(jié)點(diǎn)。在算法拓展性較好的時(shí)候,數(shù)據(jù)并行使得增加訓(xùn)練節(jié)點(diǎn)的數(shù)可以顯著減少模型訓(xùn)練時(shí)間。然而,隨著分布式集群的規(guī)模越來越大,梯度的傳遞和參數(shù)的同步延長了通信時(shí)間,成為了進(jìn)一步提高效率的瓶頸。
發(fā)明內(nèi)容
發(fā)明目的:目前的分布式隨機(jī)梯度下降法在參數(shù)更新時(shí),服務(wù)器節(jié)點(diǎn)需要從每一個(gè)工作節(jié)點(diǎn)接受一個(gè)高維向量。隨著機(jī)器學(xué)習(xí)模型的增大和工作節(jié)點(diǎn)數(shù)增多,這樣的方法中所消耗的通信時(shí)間也會越來越長,最終導(dǎo)致通信堵塞,算法收斂速度減慢。針對上述問題與不足,提供一種減少分布式機(jī)器學(xué)習(xí)通信開銷的方法,基于全局動量壓縮,工作節(jié)點(diǎn)計(jì)算出本地的梯度,加到全局動量上,再加上上一輪的記憶梯度,然后根據(jù)某種方法取和的一部分到參數(shù)服務(wù)器,在參數(shù)服務(wù)器中匯總更新參數(shù)后廣播到所有工作節(jié)點(diǎn)。可以看出,本發(fā)明的方法中,在工作節(jié)點(diǎn)與服務(wù)器節(jié)點(diǎn)之間通信時(shí),只發(fā)送參數(shù)差和記憶梯度的一部分,所以能有效地減少分布式機(jī)器學(xué)習(xí)中的通信開銷,達(dá)到加速分布式機(jī)器學(xué)習(xí)訓(xùn)練過程的目的。
技術(shù)方案:一種減少分布式機(jī)器學(xué)習(xí)通信開銷的方法,其在服務(wù)器節(jié)點(diǎn)上訓(xùn)練流程的具體步驟為:
步驟100,輸入機(jī)器學(xué)習(xí)模型w以及總共的迭代輪數(shù)T、工作節(jié)點(diǎn)數(shù)目p、樣本總數(shù)n、學(xué)習(xí)率ηt;
步驟101,隨機(jī)初始化模型參數(shù)w=w0;
步驟102,累計(jì)所有工作節(jié)點(diǎn)發(fā)送過來的稀疏記憶梯度mt,k⊙(ut,k+gt,k)為第k個(gè)工作節(jié)點(diǎn)發(fā)過來的稀疏向量;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910583390.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 根據(jù)用戶學(xué)習(xí)效果動態(tài)變化下載學(xué)習(xí)數(shù)據(jù)的系統(tǒng)及方法
- 用于智能個(gè)人化學(xué)習(xí)服務(wù)的方法
- 漸進(jìn)式學(xué)習(xí)管理方法及漸進(jìn)式學(xué)習(xí)系統(tǒng)
- 輔助學(xué)習(xí)的方法及裝置
- 基于人工智能的課程推薦方法、裝置、設(shè)備及存儲介質(zhì)
- 基于強(qiáng)化學(xué)習(xí)的自適應(yīng)移動學(xué)習(xí)路徑生成方法
- 一種線上視頻學(xué)習(xí)系統(tǒng)
- 一種基于校園大數(shù)據(jù)的自適應(yīng)學(xué)習(xí)方法、裝置及設(shè)備
- 一種學(xué)習(xí)方案推薦方法、裝置、設(shè)備和存儲介質(zhì)
- 游戲?qū)W習(xí)效果評測方法及系統(tǒng)





