两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種分布式集群訓(xùn)練方法和裝置與流程

文檔序號(hào):11176944閱讀:349來(lái)源:國(guó)知局
一種分布式集群訓(xùn)練方法和裝置與流程

本申請(qǐng)涉及機(jī)器學(xué)習(xí)技術(shù)領(lǐng)域,特別是涉及一種分布式集群訓(xùn)練方法和一種分布式集群訓(xùn)練裝置。



背景技術(shù):

隨著大數(shù)據(jù)的應(yīng)用,很多基于大數(shù)據(jù)的目標(biāo)模型,比如預(yù)測(cè)用戶對(duì)商品的喜好的目標(biāo)模型,都需要利用相應(yīng)的樣本數(shù)據(jù)對(duì)目標(biāo)模型中的權(quán)重進(jìn)行訓(xùn)練。該權(quán)重可以理解為目標(biāo)模型的參數(shù),比如以一個(gè)簡(jiǎn)單的模型y=ax1+bx2+cx3,其中的a、b、c為權(quán)重,x1、x2、x3為輸入量,y為輸出量。而上述目標(biāo)模型都需要利用機(jī)器學(xué)習(xí)訓(xùn)練。

機(jī)器學(xué)習(xí)訓(xùn)練一般包括單機(jī)訓(xùn)練和集群訓(xùn)練,單機(jī)訓(xùn)練就是利用所有樣本,計(jì)算f(x)(f為損失函數(shù),x為權(quán)重)的梯度:▽f(xt-1),然后更新權(quán)重:xt=xt-1-α▽f(xt-1),一直這樣迭代,直到收斂;而集群訓(xùn)練,就是先按照一定規(guī)則,將訓(xùn)練樣本分到各個(gè)機(jī)器上(各機(jī)器上數(shù)據(jù)都不一樣),每個(gè)機(jī)器計(jì)算出梯度,然后利用reduce技術(shù),將梯度匯總,并進(jìn)行權(quán)重更新。重復(fù)上述過(guò)程,直到收斂。事實(shí)上,由于現(xiàn)在數(shù)據(jù)量巨大,集群訓(xùn)練已經(jīng)成為工業(yè)界標(biāo)配。

而單機(jī)上進(jìn)行訓(xùn)練,當(dāng)樣本數(shù)據(jù)的數(shù)據(jù)量很大時(shí),會(huì)出現(xiàn)因?yàn)閿?shù)據(jù)量太大導(dǎo)致內(nèi)存加載不下,導(dǎo)致無(wú)法進(jìn)行訓(xùn)練。在單機(jī)上訓(xùn)練,沒(méi)有通信(網(wǎng)絡(luò))代價(jià),但無(wú)法支撐大數(shù)據(jù)(比如所有用戶在最近2周內(nèi)的瀏覽日志數(shù)據(jù))。

基于單機(jī)訓(xùn)練的上述問(wèn)題,在先技術(shù)中采用了在分布式集群中執(zhí)行機(jī)器學(xué)習(xí)任務(wù)。現(xiàn)有集群訓(xùn)練方案:(1)將數(shù)據(jù)集t,按照一定規(guī)則,切分成n份,得到t={t1,t2,…,tn};(2)每個(gè)訓(xùn)練服務(wù)器得到一份數(shù)據(jù),設(shè)為tx;(3)每個(gè)訓(xùn)練服務(wù)器利用得到的數(shù)據(jù),計(jì)算對(duì)應(yīng)的梯度▽ftx;(4)進(jìn)行梯度匯總得到總梯度:totalgradient=∑1nfi;(5)根據(jù)規(guī)則更新權(quán)重(類似單機(jī)訓(xùn)練的更新權(quán)重方法),并將新權(quán)重發(fā)給所有機(jī)器;(6)判定是否訓(xùn)練結(jié)束,如果沒(méi)有結(jié)束,返回第三步。

在集群上訓(xùn)練,能利用更多的訓(xùn)練數(shù)據(jù),取得更好的預(yù)測(cè)效果。由于每輪計(jì)算梯度后,都需要將梯度匯總,通信量巨大且頻繁,可能導(dǎo)致集群中網(wǎng)絡(luò)流量爆滿,而影響交換機(jī),甚至整個(gè)集群的使用。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問(wèn)題,提出了本申請(qǐng)實(shí)施例以便提供一種克服上述問(wèn)題或者至 少部分地解決上述問(wèn)題的一種分布式集群訓(xùn)練方法和相應(yīng)的一種分布式集群訓(xùn)練裝置。

為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種分布式集群訓(xùn)練方法,包括:

讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);

在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出;其中,如果在接收到匯集指令之前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器;所述匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重;

接收匯集服務(wù)器發(fā)送的第二權(quán)重以更新當(dāng)前權(quán)重。

本申請(qǐng)還公開(kāi)了一種分布式集群訓(xùn)練裝置,包括:

樣本讀取模塊,用于讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);

迭代訓(xùn)練模塊,用于在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出;其中,如果在接收到匯集指令之前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

結(jié)果發(fā)送模塊,用于如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器;所述匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重;

更新模塊,用于接收匯集服務(wù)器發(fā)送的第二權(quán)重以更新當(dāng)前權(quán)重。

本申請(qǐng)實(shí)施例包括以下優(yōu)點(diǎn):

本申請(qǐng)實(shí)施例,訓(xùn)練服務(wù)器可以利用其讀取的樣本集,在接收到匯集指令之前,利用該樣本集中的樣本數(shù)據(jù)和當(dāng)前權(quán)重,不斷迭代訓(xùn)練第一梯度;同時(shí),調(diào)度服務(wù)器可以監(jiān)控集群系統(tǒng)環(huán)境是否符合閾值條件,當(dāng)系統(tǒng)監(jiān)控到集群系統(tǒng)環(huán)境符合閾值條件時(shí),則可以發(fā)送匯集指令給各個(gè)訓(xùn)練服務(wù)器,各 個(gè)訓(xùn)練服務(wù)器則將訓(xùn)練得到的第一梯度發(fā)送到匯集服務(wù)器;該匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重,在各個(gè)訓(xùn)練服務(wù)器還未對(duì)其樣本數(shù)據(jù)訓(xùn)練結(jié)束前,將該第二權(quán)重發(fā)送到各個(gè)訓(xùn)練服務(wù)器,更新期當(dāng)前權(quán)重。如此,由于系統(tǒng)監(jiān)控何時(shí)系統(tǒng)環(huán)境,控制何時(shí)發(fā)出匯集指令,相應(yīng)的,訓(xùn)練服務(wù)器則在收到匯集指令后才將第一梯度發(fā)送到匯集服務(wù)器。不會(huì)在整個(gè)過(guò)程中每輪訓(xùn)練結(jié)束都將訓(xùn)練結(jié)果發(fā)送至服務(wù)器,降低了網(wǎng)絡(luò)通信量,降低對(duì)交換機(jī)的影響,避免影響整個(gè)集群的使用。

附圖說(shuō)明

圖1是本申請(qǐng)的一種分布式集群訓(xùn)練方法實(shí)施例的步驟流程圖;

圖2是本申請(qǐng)的另一種分布式集群訓(xùn)練方法實(shí)施例的步驟流程圖;

圖3是本申請(qǐng)的另一種分布式集群訓(xùn)練方法實(shí)施例的步驟流程圖;

圖4是本申請(qǐng)的另一種分布式集群訓(xùn)練方法實(shí)施例的步驟流程圖;

圖5是本申請(qǐng)的一種分布式集群訓(xùn)練裝置實(shí)施例的結(jié)構(gòu)框圖;

圖6是本申請(qǐng)的一種分布式集群訓(xùn)練系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。

具體實(shí)施方式

為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。

本申請(qǐng)實(shí)施例的核心構(gòu)思之一在于,由于在先技術(shù)中在集群中訓(xùn)練目標(biāo)模型時(shí),每輪訓(xùn)練完畢之后,都直接將集群中各訓(xùn)練服務(wù)器訓(xùn)練得到的梯度進(jìn)行匯總,導(dǎo)致通信量巨大而且頻繁,可能導(dǎo)致集群中網(wǎng)絡(luò)流量爆滿,從而影響交換機(jī)甚至整個(gè)集群的使用。本申請(qǐng)實(shí)施例中,訓(xùn)練服務(wù)器可以利用其讀取的樣本集,在接收到匯集指令之前,利用該樣本集中的樣本數(shù)據(jù)和當(dāng)前權(quán)重,不斷迭代訓(xùn)練第一梯度;同時(shí),系統(tǒng)可以監(jiān)控集群系統(tǒng)環(huán)境是否符合閾值條件,該閾值條件可以避免集群系統(tǒng)環(huán)境出現(xiàn)網(wǎng)絡(luò)流量爆滿,當(dāng)系統(tǒng)監(jiān) 控到集群系統(tǒng)環(huán)境符合閾值條件時(shí),則可以發(fā)送匯集指令給各個(gè)訓(xùn)練服務(wù)器,各個(gè)訓(xùn)練服務(wù)器則將訓(xùn)練得到的第一梯度發(fā)送到匯集服務(wù)器;該匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重,在各個(gè)訓(xùn)練服務(wù)器還未對(duì)其樣本數(shù)據(jù)訓(xùn)練結(jié)束前,將該第二權(quán)重發(fā)送到各個(gè)訓(xùn)練服務(wù)器,更新其當(dāng)前權(quán)重。如此,由于系統(tǒng)監(jiān)控何時(shí)系統(tǒng)環(huán)境,控制何時(shí)發(fā)出匯集指令,相應(yīng)的,訓(xùn)練服務(wù)器則在收到匯集指令后才將第一梯度發(fā)送到匯集服務(wù)器。不會(huì)在整個(gè)過(guò)程中每輪訓(xùn)練結(jié)束都將訓(xùn)練結(jié)果發(fā)送至服務(wù)器,降低了網(wǎng)絡(luò)通信量,降低對(duì)交換機(jī)的影響,避免影響整個(gè)集群的使用。

實(shí)施例一

參照?qǐng)D1,示出了本申請(qǐng)的一種分布式集群方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:

步驟110,讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);

在本申請(qǐng)實(shí)施例中,整個(gè)集群可以包括多臺(tái)訓(xùn)練服務(wù)器、至少一臺(tái)調(diào)度服務(wù)器、至少一臺(tái)匯集服務(wù)器。該訓(xùn)練服務(wù)器可以獲取其負(fù)責(zé)的樣本集進(jìn)行迭代訓(xùn)練,以得到第一梯度,調(diào)度服務(wù)器可以監(jiān)控整個(gè)系統(tǒng)的集群系統(tǒng)環(huán)境情況,并根據(jù)集群系統(tǒng)環(huán)境決定是否發(fā)出匯集指令到訓(xùn)練服務(wù)器。匯集服務(wù)器可以接收各個(gè)訓(xùn)練服務(wù)器發(fā)送的第一梯度并計(jì)算第二權(quán)重。

在本申請(qǐng)實(shí)施例中,訓(xùn)練服務(wù)器、調(diào)度服務(wù)器、匯集服務(wù)器之間的通信數(shù)據(jù)都通過(guò)集群中的交換機(jī)傳輸。

可以理解,本申請(qǐng)實(shí)施例的調(diào)度服務(wù)器可以將各訓(xùn)練服務(wù)器需要獲取的樣本集的獲取參數(shù)發(fā)送給各個(gè)訓(xùn)練服務(wù)器。那么,對(duì)于一臺(tái)訓(xùn)練服務(wù)器來(lái)說(shuō),其收到獲取參數(shù)后,可以根據(jù)該獲取參數(shù),從指定位置讀取其需要的樣本集。比如從交易日志服務(wù)器獲取該參數(shù)規(guī)定的一批交易日志數(shù)據(jù)作為樣本集。當(dāng)然,本申請(qǐng)實(shí)施例還可以從其他服務(wù)器獲取相應(yīng)樣本集,可以按照需求設(shè)定,本申請(qǐng)實(shí)施例不對(duì)其加以限制。

步驟120,在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出;其中,如果在接收到匯集指令之 前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

對(duì)于一個(gè)訓(xùn)練服務(wù)器a而言,其讀取到樣本集后,在初始情況下,目標(biāo)模型的各個(gè)當(dāng)前權(quán)重是根據(jù)經(jīng)驗(yàn)預(yù)設(shè)的第二權(quán)重x0。此時(shí)可以從樣本集中按序逐個(gè)提取樣本數(shù)據(jù),輸入目標(biāo)模型進(jìn)行訓(xùn)練,訓(xùn)練屬于該訓(xùn)練服務(wù)器a的第一梯度。

該訓(xùn)練服務(wù)器a,在未接收到匯集指令之前,可以一直讀取樣本數(shù)據(jù)進(jìn)行迭代訓(xùn)練。當(dāng)然在實(shí)際應(yīng)用中,各個(gè)訓(xùn)練服務(wù)器可以將其訓(xùn)練的樣本全部讀到本地,然后進(jìn)行訓(xùn)練。比如第一輪利用樣本數(shù)據(jù)m1和當(dāng)前權(quán)重x0,代入目標(biāo)模型訓(xùn)練函數(shù),訓(xùn)練第一梯度▽f(x0),然后利用▽f(x0)計(jì)算權(quán)重x1該x1以作為第二輪訓(xùn)練的當(dāng)前權(quán)重;然后利用樣本數(shù)據(jù)m2和當(dāng)前權(quán)重x1,代入目標(biāo)模型訓(xùn)練函數(shù),訓(xùn)練第一梯度▽f(x1);以此類推,直到接收到匯集指令。其中xi(i=1、2、3……)是一個(gè)多維向量,其中每個(gè)維度對(duì)應(yīng)目標(biāo)模型中的一個(gè)參數(shù)。其中所述目標(biāo)模型訓(xùn)練函數(shù)可以為前述的損失函數(shù)f(x)

在實(shí)際應(yīng)用中,以上述過(guò)程為例,在第一輪中,將第一個(gè)樣本數(shù)據(jù)代入損失函數(shù)f(x),其中,x為當(dāng)前權(quán)重,然后計(jì)算f(x)的梯度▽f(x0),然后根據(jù)公式xt=xt-1-α▽f(xt-1)更新得到第一梯度▽f(x1)。其中,損失函數(shù)f(x)可以根據(jù)實(shí)際情況設(shè)定,在先技術(shù)對(duì)此有詳細(xì)過(guò)程,在此不在贅敘。對(duì)于第二輪類似。假設(shè)訓(xùn)練服務(wù)器訓(xùn)練到第三輪,得到第一梯度▽f(x2),此時(shí),接收到調(diào)度服務(wù)器發(fā)送的匯集指令,則可以直接將第一梯度▽f(x2)通過(guò)交換機(jī)發(fā)送至匯集服務(wù)器中。

在本申請(qǐng)實(shí)施例中,訓(xùn)練服務(wù)器在上一次匯集之后,會(huì)記錄第一梯度的訓(xùn)練輪次。調(diào)度服務(wù)器發(fā)送匯集指令時(shí),則會(huì)控制訓(xùn)練服務(wù)器發(fā)送哪一輪的第一梯度。調(diào)度服務(wù)器可以在發(fā)送匯集指令之前控制各訓(xùn)練服務(wù)器執(zhí)行n輪訓(xùn)練,n為大于0的整數(shù)。比如通知訓(xùn)練服務(wù)器在接收匯集指令之前,只進(jìn)行三輪訓(xùn)練,如果三輪訓(xùn)練結(jié)束,則等待調(diào)度服務(wù)器的指令。當(dāng)然,實(shí)際應(yīng)用中,可以對(duì)n做限制,也可根據(jù)實(shí)際需求的訓(xùn)練精度誤差設(shè)置n的值。該 實(shí)際需求的訓(xùn)練精度誤差可以根據(jù)歷史訓(xùn)練結(jié)果的經(jīng)驗(yàn)設(shè)定。

在本申請(qǐng)實(shí)施例中,調(diào)度服務(wù)器向各訓(xùn)練服務(wù)器發(fā)送的匯集指令中,包含了指定輪次。則各訓(xùn)練服務(wù)器將相應(yīng)輪次訓(xùn)練得到的第一梯度發(fā)送到匯集服務(wù)器中。

在本申請(qǐng)實(shí)施例中,在各個(gè)訓(xùn)練服務(wù)器進(jìn)行迭代訓(xùn)練的過(guò)程中,調(diào)度服務(wù)器會(huì)監(jiān)控集群系統(tǒng)環(huán)境,當(dāng)集群系統(tǒng)環(huán)境符合閾值條件時(shí),調(diào)度服務(wù)器向各個(gè)訓(xùn)練服務(wù)器發(fā)出匯集指令。該閾值條件可以限定訓(xùn)練服務(wù)器發(fā)送的頻率不太快,導(dǎo)致網(wǎng)絡(luò)擁堵,如網(wǎng)絡(luò)利用率低于30%等閾值條件。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出,包括:

所述匯集指令由調(diào)度服務(wù)器在整個(gè)集群的集群網(wǎng)絡(luò)利用率符合第一閾值條件時(shí)發(fā)出。

在本申請(qǐng)實(shí)施例中,調(diào)度服務(wù)器可以監(jiān)控整個(gè)集群的集群網(wǎng)絡(luò)利用率,比如獲取每個(gè)服務(wù)器的網(wǎng)卡的發(fā)包量和收包量,而網(wǎng)卡本身有一個(gè)最大流量限制,比如100m,那么統(tǒng)計(jì)各個(gè)網(wǎng)卡的發(fā)包量和收包量,再除以所有網(wǎng)卡的總流量限制,則可以得到集群網(wǎng)絡(luò)利用率。當(dāng)然,也可以計(jì)算每個(gè)服務(wù)器的網(wǎng)卡的利用率,然后把各個(gè)網(wǎng)卡的利用率進(jìn)行加權(quán)平均得到集群網(wǎng)絡(luò)利用率。在該種情況下,所述第一閾值條件包括:集群網(wǎng)絡(luò)利用率低于第一閾值;比如第一閾值設(shè)置為30%,那么當(dāng)調(diào)度服務(wù)器監(jiān)控得到的集群網(wǎng)絡(luò)利用率低于30%,則可以向各個(gè)訓(xùn)練服務(wù)器發(fā)送匯集指令。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出,包括:

所述匯集指令由調(diào)度服務(wù)器在整個(gè)集群的集群故障率符合第二閾值條件時(shí)發(fā)出。

在本申請(qǐng)實(shí)施例中,整個(gè)集群中的各個(gè)服務(wù)器可能出現(xiàn)故障,那么本申請(qǐng)實(shí)施例可以監(jiān)控各個(gè)服務(wù)器的故障,然后根據(jù)出現(xiàn)故障的服務(wù)器個(gè)數(shù)除以整個(gè)集群的服務(wù)器的個(gè)數(shù)得到集群故障率。當(dāng)然,在本申請(qǐng)實(shí)施例中,可以只監(jiān)控訓(xùn)練服務(wù)器出現(xiàn)故障的第一個(gè)數(shù),然后將該第一個(gè)數(shù)除以整個(gè)集群的 個(gè)數(shù)得到集群故障率;當(dāng)然,該第一個(gè)數(shù)也可以除以所有訓(xùn)練服務(wù)器的個(gè)數(shù)得到集群故障率。該種情況下,所述第二閾值條件包括:集群故障率低于第二閾值。比如第二閾值設(shè)置為5%,那么集群故障率低于5%時(shí),調(diào)度服務(wù)器可以向各個(gè)訓(xùn)練服務(wù)器發(fā)出匯集指令。

需要說(shuō)明的是,前述服務(wù)器的故障,包括服務(wù)器本身崩潰沒(méi)響應(yīng)、服務(wù)器響應(yīng)延遲超過(guò)一定時(shí)間。本申請(qǐng)實(shí)施例中,調(diào)度服務(wù)器可以定期向各個(gè)服務(wù)器發(fā)送測(cè)試命令,如果服務(wù)器未在規(guī)定時(shí)間內(nèi)響應(yīng),則可認(rèn)為該服務(wù)器出現(xiàn)故障。

當(dāng)然,本申請(qǐng)實(shí)施例中,調(diào)度服務(wù)器發(fā)出匯集指令之前,還可以監(jiān)控各訓(xùn)練服務(wù)器的訓(xùn)練情況,比如監(jiān)控到距離上次發(fā)送匯集指令之后,各個(gè)訓(xùn)練服務(wù)器完成了至少一輪訓(xùn)練才會(huì)在符合前述閾值條件下,發(fā)出匯集指令。

步驟130,如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器;

步驟140,所述匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重;

在本申請(qǐng)實(shí)施例中,對(duì)于一個(gè)訓(xùn)練服務(wù)器,如果接收到匯集指令,則可以將最新更新的第一梯度發(fā)送至匯集服務(wù)器。

由于匯集指令中有訓(xùn)練輪次,各個(gè)訓(xùn)練服務(wù)器則將相同輪次的第一梯度發(fā)送至匯集服務(wù)器。

在本申請(qǐng)實(shí)施例中,如果有多臺(tái)匯集服務(wù)器,則各訓(xùn)練服務(wù)器可以根據(jù)預(yù)先設(shè)定的與匯集服務(wù)器的對(duì)應(yīng)關(guān)系,將其第一梯度發(fā)送至相應(yīng)的匯集服務(wù)器中。各個(gè)匯集服務(wù)器對(duì)接收到的部分第一梯度進(jìn)行匯總,然后各個(gè)匯集服務(wù)器再將匯總后的第一梯度再匯總至一個(gè)匯集服務(wù)器中,然后該匯集服務(wù)器進(jìn)行最后的匯總,然后基于最后匯總的第一梯度計(jì)算第二權(quán)重。

而對(duì)于匯集服務(wù)器,在接收到所有訓(xùn)練服務(wù)器的第一梯度后,則可以對(duì)第一梯度進(jìn)行匯總,然后根據(jù)匯總的結(jié)果計(jì)算第二權(quán)重。

此時(shí),匯集服務(wù)器可以判斷各個(gè)訓(xùn)練服務(wù)器是否訓(xùn)練完畢,如果未訓(xùn)練完畢,則將第二權(quán)重發(fā)送到各個(gè)訓(xùn)練服務(wù)器。

可以理解,在實(shí)際應(yīng)用中,各個(gè)訓(xùn)練服務(wù)器在發(fā)送其第一梯度時(shí),可以發(fā)送是否對(duì)樣本集的所有樣本數(shù)據(jù)訓(xùn)練完畢的第一標(biāo)識(shí),如第一標(biāo)識(shí)為no 表示未訓(xùn)練完,第一標(biāo)識(shí)為yes表示訓(xùn)練完。匯集服務(wù)器則可以根據(jù)該標(biāo)識(shí)判斷訓(xùn)練服務(wù)器是否訓(xùn)練完該樣本集的所有樣本數(shù)據(jù)。當(dāng)然,實(shí)際應(yīng)用中,匯集服務(wù)器還可以通過(guò)其他方式去確定各個(gè)訓(xùn)練服務(wù)器是否訓(xùn)練完其樣本集的所有樣本數(shù)據(jù),本申請(qǐng)實(shí)施例不對(duì)其加以限制。

步驟150,接收匯集服務(wù)器發(fā)送的第二權(quán)重以更新當(dāng)前權(quán)重。

對(duì)于訓(xùn)練服務(wù)器而言,其在對(duì)所述樣本數(shù)據(jù)訓(xùn)練結(jié)束前,可以接收到匯集服務(wù)器發(fā)送的第二權(quán)重。那么訓(xùn)練服務(wù)器則可以將該第二權(quán)重更新當(dāng)前權(quán)重,然后讀取后續(xù)的樣本數(shù)據(jù)進(jìn)行下一輪訓(xùn)練。當(dāng)然,如果樣本數(shù)據(jù)已經(jīng)讀取到了本地,則可以從本地讀取下一輪的樣本數(shù)據(jù)進(jìn)行下一輪訓(xùn)練。

本申請(qǐng)實(shí)施例中,訓(xùn)練服務(wù)器可以利用其讀取的樣本集,在接收到匯集指令之前,利用該樣本集中的樣本數(shù)據(jù)和當(dāng)前權(quán)重,不斷迭代訓(xùn)練第一梯度;同時(shí),系統(tǒng)可以監(jiān)控集群系統(tǒng)環(huán)境是否符合閾值條件,該閾值條件可以避免集群系統(tǒng)環(huán)境出現(xiàn)網(wǎng)絡(luò)流量爆滿,當(dāng)系統(tǒng)監(jiān)控到集群系統(tǒng)環(huán)境符合閾值條件時(shí),則可以發(fā)送匯集指令給各個(gè)訓(xùn)練服務(wù)器,各個(gè)訓(xùn)練服務(wù)器則將訓(xùn)練得到的第一梯度發(fā)送到匯集服務(wù)器;該匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重,在各個(gè)訓(xùn)練服務(wù)器還未對(duì)其樣本數(shù)據(jù)訓(xùn)練結(jié)束前,將該第二權(quán)重發(fā)送到各個(gè)訓(xùn)練服務(wù)器,更新期當(dāng)前權(quán)重。如此,由于系統(tǒng)監(jiān)控何時(shí)系統(tǒng)環(huán)境,控制何時(shí)發(fā)出匯集指令,相應(yīng)的,訓(xùn)練服務(wù)器則在收到匯集指令后才將第一梯度發(fā)送到匯集服務(wù)器。不會(huì)在整個(gè)過(guò)程中每輪訓(xùn)練結(jié)束都將訓(xùn)練結(jié)果發(fā)送至服務(wù)器,降低了網(wǎng)絡(luò)通信量,降低對(duì)交換機(jī)的影響,避免影響整個(gè)集群的使用。

實(shí)施例二

參照?qǐng)D2,示出了本申請(qǐng)的另一種分布式集群方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:

步驟210,讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);所述樣本數(shù)據(jù)包括時(shí)間信息;

在本申請(qǐng)實(shí)施例中,在樣本數(shù)據(jù)中除了傳統(tǒng)的數(shù)據(jù),比如用戶id、用戶交易行為、收藏行為數(shù)據(jù)、瀏覽行為數(shù)據(jù)等數(shù)據(jù),還額外增加了一列數(shù)據(jù), 該列數(shù)據(jù)記錄了該條樣本數(shù)據(jù)產(chǎn)生的時(shí)間。比如最近一天的交易記錄數(shù)據(jù)、最近兩天的交易數(shù)據(jù)。

步驟220,利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算所述樣本數(shù)據(jù)的第三權(quán)重;

在本申請(qǐng)實(shí)施例中,距離當(dāng)前越近的樣本數(shù)據(jù),越能反應(yīng)用戶真實(shí)的興趣與意圖,采用該樣本數(shù)據(jù)訓(xùn)練出來(lái)的模型更精準(zhǔn)。而本申請(qǐng)可以利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算所述樣本數(shù)據(jù)的第三權(quán)重。該第三權(quán)重表示該樣本數(shù)據(jù)的時(shí)間信息距離當(dāng)前時(shí)間越近其權(quán)重越高,反之,其權(quán)重越低。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算所述樣本數(shù)據(jù)的第三權(quán)重的步驟包括:

子步驟221,將每條樣本數(shù)據(jù)的時(shí)間信息,代入指數(shù)函數(shù)的負(fù)的指數(shù)參數(shù),計(jì)算第三權(quán)重。

在本申請(qǐng)實(shí)施例中,可以將時(shí)間信息距離當(dāng)前時(shí)間轉(zhuǎn)換為數(shù)字信息,比如樣本數(shù)據(jù)n1的時(shí)間信息為1,表示樣本數(shù)據(jù)n1距離當(dāng)前時(shí)間的距離為1天,樣本數(shù)據(jù)n2的時(shí)間信息為3,表示樣本數(shù)據(jù)n2距離當(dāng)前時(shí)間的距離為3天。當(dāng)然,將時(shí)間信息轉(zhuǎn)換為數(shù)字信息,也可以采用其他方式,本申請(qǐng)實(shí)施例不對(duì)其加以限制。

在本申請(qǐng)實(shí)施例中,指數(shù)函數(shù)的底數(shù)可以設(shè)置為自然數(shù)e,也可以設(shè)置為其他大于1的數(shù)。優(yōu)選的采用自然數(shù)e。那么本申請(qǐng)可以利用e-x計(jì)算第三權(quán)重,其中x為時(shí)間信息,比如對(duì)于n1,其第三權(quán)重為e-1,其他情況以此類推。當(dāng)然該指數(shù)函數(shù)的底數(shù)可以為其他底數(shù),比如2,那么指數(shù)函數(shù)變?yōu)?-x

步驟230,當(dāng)所述第三權(quán)重小于第三閾值,則丟棄相應(yīng)的樣本數(shù)據(jù)。

比如設(shè)置第三閾值為0.001,那么當(dāng)?shù)谌龣?quán)重小于該第三閾值,則說(shuō)明該樣本數(shù)據(jù)離當(dāng)前時(shí)間太遠(yuǎn),該樣本數(shù)據(jù)對(duì)用戶的興趣和意圖影響不大,可以將其丟棄。從而可以降低計(jì)算量,從而節(jié)省系統(tǒng)資源。

步驟240,在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;所述匯集指令由調(diào)度服 務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出;其中,如果在接收到匯集指令之前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

步驟250,如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器,以及將各個(gè)樣本數(shù)據(jù)的第三權(quán)重進(jìn)行匯總得到的第一系數(shù)發(fā)送至匯集服務(wù)器;

在本申請(qǐng)實(shí)施例中,訓(xùn)練服務(wù)器在對(duì)樣本集的數(shù)據(jù)進(jìn)行訓(xùn)練之前,可以計(jì)算各條樣本數(shù)據(jù)的第三權(quán)重,然后可以對(duì)各個(gè)保留下來(lái)的樣本數(shù)據(jù)第三權(quán)重進(jìn)行匯總,得到第一系數(shù)。

步驟260,所述匯集服務(wù)器根據(jù)各第一梯度及與各第一梯度相應(yīng)的第一系數(shù),進(jìn)行加權(quán)計(jì)算得到第二梯度;

步驟270,所述匯集服務(wù)器根據(jù)第二梯度計(jì)算第二權(quán)重。

比如訓(xùn)練服務(wù)器a發(fā)送第一梯度▽f(x1)a,其第一系數(shù)為0.8;訓(xùn)練服務(wù)器b發(fā)送第一梯度▽f(x1)b,其第一系數(shù)為0.7;訓(xùn)練服務(wù)器c發(fā)送第一梯度▽f(x1)c,其第一系數(shù)為0.5。那么第二梯度為

(0.8▽f(x1)a+0.7▽f(x1)b+0.5▽f(x1)c)

然后再根據(jù)第二梯度計(jì)算第二權(quán)重。

然后可以按照實(shí)施例一中的描述,將第二權(quán)重發(fā)送至各個(gè)未訓(xùn)練完畢的訓(xùn)練服務(wù)器。

步驟280,接收匯集服務(wù)器發(fā)送的第二權(quán)重以更新當(dāng)前權(quán)重。

本申請(qǐng)實(shí)施例中,訓(xùn)練服務(wù)器可以利用其讀取的樣本集,在接收到匯集指令之前,利用該樣本集中的樣本數(shù)據(jù)和當(dāng)前權(quán)重,不斷迭代訓(xùn)練第一梯度;同時(shí),系統(tǒng)可以監(jiān)控集群系統(tǒng)環(huán)境是否符合閾值條件,該閾值條件可以避免集群系統(tǒng)環(huán)境出現(xiàn)網(wǎng)絡(luò)流量爆滿,當(dāng)系統(tǒng)監(jiān)控到集群系統(tǒng)環(huán)境符合閾值條件時(shí),則可以發(fā)送匯集指令給各個(gè)訓(xùn)練服務(wù)器,各個(gè)訓(xùn)練服務(wù)器則將訓(xùn)練得到的第一梯度發(fā)送到匯集服務(wù)器;該匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重,在各個(gè)訓(xùn)練服務(wù)器還未對(duì)其樣本數(shù)據(jù)訓(xùn)練結(jié)束前,將該第二權(quán)重發(fā)送到 各個(gè)訓(xùn)練服務(wù)器,更新期當(dāng)前權(quán)重。如此,由于系統(tǒng)監(jiān)控何時(shí)系統(tǒng)環(huán)境,控制何時(shí)發(fā)出匯集指令,相應(yīng)的,訓(xùn)練服務(wù)器則在收到匯集指令后才將第一梯度發(fā)送到匯集服務(wù)器。不會(huì)在整個(gè)過(guò)程中每輪訓(xùn)練結(jié)束都將訓(xùn)練結(jié)果發(fā)送至服務(wù)器,降低了網(wǎng)絡(luò)通信量,降低對(duì)交換機(jī)的影響,避免影響整個(gè)集群的使用。

另外,本申請(qǐng)實(shí)施例可以根據(jù)數(shù)據(jù)的時(shí)效性,自動(dòng)對(duì)新的數(shù)據(jù)加大權(quán)重,對(duì)老數(shù)據(jù)降權(quán),并丟棄部分舊數(shù)據(jù),從而使目標(biāo)模型更契合用戶當(dāng)前的行為習(xí)慣,并且可以降低計(jì)算量。

實(shí)施例三

參照?qǐng)D3,示出了本申請(qǐng)的另一種分布式集群方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:

步驟310,讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);所述樣本數(shù)據(jù)包括時(shí)間信息;

步驟312,對(duì)樣本集中的各樣本數(shù)據(jù)進(jìn)行歸并;

步驟314,對(duì)歸并后的樣本數(shù)據(jù),記錄所述樣本數(shù)據(jù)的歸并數(shù)量。

在本申請(qǐng)實(shí)施例中,對(duì)于相同內(nèi)容的樣本數(shù)據(jù),可以按照相同時(shí)間段進(jìn)行歸并。比如對(duì)于用戶a,其在2015-12-31的上午10點(diǎn),買了商品a,在在2015-12-31的下午3點(diǎn),買了商品a。那么這兩條樣本數(shù)據(jù)則可以歸并,得到用戶a在2015-12-31購(gòu)買了商品a,歸并數(shù)量為2。

在實(shí)際中,對(duì)于樣本數(shù)據(jù),還可以在其中添加一列歸并數(shù)量列,把歸并數(shù)量填入該列。

步驟316,利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算降權(quán)系數(shù);

在本申請(qǐng)實(shí)施例中,可以利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算降權(quán)系數(shù),距離當(dāng)前時(shí)間越近其降權(quán)系數(shù)越高,反之,其降權(quán)系數(shù)越低。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算降權(quán)系數(shù)的步驟包括:

子步驟c11,將每條樣本數(shù)據(jù)的時(shí)間信息,代入指數(shù)函數(shù)的負(fù)的指數(shù)參數(shù),計(jì)算降權(quán)系數(shù)。

在本申請(qǐng)實(shí)施例中,可以將時(shí)間信息距離當(dāng)前時(shí)間轉(zhuǎn)換為數(shù)字信息,比如樣本數(shù)據(jù)n1的時(shí)間信息為1,表示樣本數(shù)據(jù)n1距離當(dāng)前時(shí)間的距離為1天,樣本數(shù)據(jù)n2的時(shí)間信息為3,表示樣本數(shù)據(jù)n2距離當(dāng)前時(shí)間的距離為3天。當(dāng)然,將時(shí)間信息轉(zhuǎn)換為數(shù)字信息,也可以采用其他方式,本申請(qǐng)實(shí)施例不對(duì)其加以限制。

那么本申請(qǐng)可以利用e-x計(jì)算降權(quán)系數(shù),其中x為時(shí)間信息,比如對(duì)于n1,其降權(quán)系數(shù)為e-1,其他情況以此類推。當(dāng)然該指數(shù)函數(shù)的底數(shù)可以為其他底數(shù),比如2,那么指數(shù)函數(shù)變?yōu)?-x。

步驟318,計(jì)算所述降權(quán)系數(shù)與歸并數(shù)量之積,得到第三權(quán)重。

由于本申請(qǐng)實(shí)施例中,對(duì)于樣本數(shù)據(jù)進(jìn)行了歸并,那么樣本集中的樣本數(shù)據(jù)則為歸并后的樣本數(shù)據(jù),那么可以將該樣本數(shù)據(jù)的歸并數(shù)據(jù)乘以其降權(quán)系數(shù),得到第三權(quán)重。

可以理解,步驟316-318可以為實(shí)施例二中步驟220優(yōu)選的步驟。

步驟320,當(dāng)所述第三權(quán)重小于第三閾值,則丟棄相應(yīng)的樣本數(shù)據(jù)。

步驟322,在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出;其中,如果在接收到匯集指令之前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

步驟324,如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器,以及將各個(gè)樣本數(shù)據(jù)的第三權(quán)重進(jìn)行匯總得到的第一系數(shù)發(fā)送至匯集服務(wù)器;

步驟326,所述匯集服務(wù)器根據(jù)各第一梯度及與各第一梯度相應(yīng)的第一系數(shù),進(jìn)行加權(quán)計(jì)算得到第二梯度;

步驟328,接收匯集服務(wù)器發(fā)送的第二權(quán)重以更新當(dāng)前權(quán)重。

本申請(qǐng)實(shí)施例由于調(diào)度服務(wù)器監(jiān)控系統(tǒng)環(huán)境,控制何時(shí)發(fā)出匯集指令,相應(yīng)的,訓(xùn)練服務(wù)器則在收到匯集指令后才將第一梯度發(fā)送到匯集服務(wù)器。不會(huì)在整個(gè)過(guò)程中每輪訓(xùn)練結(jié)束都將訓(xùn)練結(jié)果發(fā)送至服務(wù)器,降低了網(wǎng)絡(luò)通 信量,降低對(duì)交換機(jī)的影響,避免影響整個(gè)集群的使用。

另外,本申請(qǐng)實(shí)施例對(duì)樣本數(shù)據(jù)進(jìn)行了歸并,減少了訓(xùn)練的樣本數(shù)量,能夠提高訓(xùn)練速度。

再者,本申請(qǐng)實(shí)施例可以根據(jù)數(shù)據(jù)的時(shí)效性,自動(dòng)對(duì)新的數(shù)據(jù)加大權(quán)重,對(duì)老數(shù)據(jù)降權(quán),并丟棄部分舊數(shù)據(jù),從而使目標(biāo)模型更契合用戶當(dāng)前的行為習(xí)慣,并且可以降低計(jì)算量。

實(shí)施例四

參照?qǐng)D4,示出了本申請(qǐng)的另一種分布式集群方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:

步驟410,訓(xùn)練服務(wù)器讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);所述樣本數(shù)據(jù)包括時(shí)間信息;

步驟412,訓(xùn)練服務(wù)器對(duì)樣本集中的各樣本數(shù)據(jù)進(jìn)行歸并;

步驟414,訓(xùn)練服務(wù)器對(duì)歸并后的樣本數(shù)據(jù),記錄所述樣本數(shù)據(jù)的歸并數(shù)量。

步驟416,訓(xùn)練服務(wù)器利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算降權(quán)系數(shù);

步驟418,訓(xùn)練服務(wù)器計(jì)算所述降權(quán)系數(shù)與歸并數(shù)量之積,得到第三權(quán)重。

可以理解,步驟416-418可以為實(shí)施例二中步驟220優(yōu)選的步驟。

步驟420,訓(xùn)練服務(wù)器當(dāng)所述第三權(quán)重小于第三閾值,則丟棄相應(yīng)的樣本數(shù)據(jù)。

步驟422,訓(xùn)練服務(wù)器在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;其中,如果在接收到匯集指令之前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

步驟424,調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出匯集指令;

調(diào)度服務(wù)器將匯集指令發(fā)送給各個(gè)訓(xùn)練服務(wù)器。

步驟426,訓(xùn)練服務(wù)器如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器,以及將各個(gè)樣本數(shù)據(jù)的第三權(quán)重進(jìn)行匯總得到的第一系數(shù)發(fā)送 至匯集服務(wù)器;

步驟428,匯集服務(wù)器根據(jù)各第一梯度及與各第一梯度相應(yīng)的第一系數(shù),進(jìn)行加權(quán)計(jì)算得到第二梯度;

步驟430,匯集服務(wù)器根據(jù)第二梯度計(jì)算第二權(quán)重;

步驟432,匯集服務(wù)器將新得到的第二權(quán)重進(jìn)行備份,并將新的第二權(quán)重發(fā)送至各訓(xùn)練服務(wù)器。

在本申請(qǐng)實(shí)施例中,匯集服務(wù)器在得到新的第二權(quán)重之后,可以將該第二權(quán)重進(jìn)行備份。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集服務(wù)器將新得到的第二權(quán)重進(jìn)行備份包括:

步驟d11,所述匯集服務(wù)器判斷新得到的第二權(quán)重與至少前一次備份的第二權(quán)重之間的變化量是否超過(guò)變化閾值;

步驟d12,如果超過(guò)變化閾值,則對(duì)所述新得到的第二權(quán)重進(jìn)行備份。

在本申請(qǐng)實(shí)施例中,匯集服務(wù)器得到新的第二權(quán)重,則會(huì)與之前的備份的至少一次的第二權(quán)重進(jìn)行變化量的計(jì)算。比如與之前備份的最近一次的第二權(quán)重之間的變化量是否小于變化閾值,如5%,如果小于5%,則拋棄新的第二權(quán)重,如果大于等于,則備份該第二權(quán)重,如此可以減少備份量。使步驟c13中,可以不用更新給外部的業(yè)務(wù)服務(wù)器的目標(biāo)模型,避免無(wú)謂的影響業(yè)務(wù)服務(wù)器對(duì)該目標(biāo)模型的使用,比如測(cè)試。

可以理解,因?yàn)檫M(jìn)行了權(quán)重備份,如果某個(gè)時(shí)刻整個(gè)訓(xùn)練失敗,則在重新訓(xùn)練時(shí),調(diào)度服務(wù)器可以通知匯集服務(wù)器,將備份的最新的第二權(quán)重發(fā)送給訓(xùn)練服務(wù)器,使訓(xùn)練服務(wù)器可以將該最新的第二權(quán)重作為初始的當(dāng)前權(quán)重,結(jié)合之前的樣本繼續(xù)進(jìn)行訓(xùn)練。提高訓(xùn)練的效率。

當(dāng)然,本申請(qǐng)實(shí)施例中,訓(xùn)練失敗之后,也可以從第一個(gè)樣本開(kāi)始進(jìn)行訓(xùn)練,但是其當(dāng)前權(quán)重為備份的最新的第二權(quán)重。

匯集服務(wù)器將最新的第二權(quán)重發(fā)送至各訓(xùn)練服務(wù)器。

步驟434,訓(xùn)練服務(wù)器接收匯集服務(wù)器發(fā)送的第二權(quán)重以更新當(dāng)前權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集服務(wù)器將新得到的第二權(quán)重進(jìn) 行備份之后,還包括:

子步驟c13,匯集服務(wù)器將所述第二權(quán)重代入目標(biāo)模型,并輸出至業(yè)務(wù)服務(wù)器。

在本申請(qǐng)實(shí)施例中,對(duì)于備份的第二權(quán)重,可以直接將其代入目標(biāo)模型,輸出給業(yè)務(wù)服務(wù)器,使業(yè)務(wù)方可以直接利用該目標(biāo)模型進(jìn)行使用。

本申請(qǐng)具備如下幾個(gè)方面的優(yōu)點(diǎn):

(1)懶惰通信機(jī)制:根據(jù)集群環(huán)境以及迭代情況,自動(dòng)判斷是否需要所有機(jī)器進(jìn)行權(quán)重匯總動(dòng)作,從而避免每輪訓(xùn)練都匯集一次,導(dǎo)致可能出現(xiàn)網(wǎng)絡(luò)占滿的情況。

(2)權(quán)重備份機(jī)制:根據(jù)規(guī)則,自動(dòng)備份權(quán)重,一旦某些機(jī)制出現(xiàn)問(wèn)題,可以從備份拉回以前的權(quán)重,繼續(xù)進(jìn)行訓(xùn)練,從而不用從頭再此訓(xùn)練,提高訓(xùn)練效率。

(3)數(shù)據(jù)切分裝置:根據(jù)數(shù)據(jù)的時(shí)效性,自動(dòng)對(duì)新的數(shù)據(jù)加大權(quán)重,對(duì)老數(shù)據(jù)降權(quán),并丟棄部分舊數(shù)據(jù)。

需要說(shuō)明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng)實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本申請(qǐng)實(shí)施例所必須的。

實(shí)施例五

參照?qǐng)D5,示出了本申請(qǐng)的一種分布式集群訓(xùn)練裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:

樣本讀取模塊510,用于讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);

迭代訓(xùn)練模塊520,用于在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出;其中,如果在接收 到匯集指令之前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

結(jié)果發(fā)送模塊530,用于如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器;所述匯集服務(wù)器匯總各第一梯度并計(jì)算第二權(quán)重;

更新模塊540,用于接收匯集服務(wù)器發(fā)送的第二權(quán)重以更新當(dāng)前權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集指令由調(diào)度服務(wù)器在集群系統(tǒng)環(huán)境符合閾值條件時(shí)發(fā)出,包括:

所述匯集指令由調(diào)度服務(wù)器在整個(gè)集群的集群網(wǎng)絡(luò)利用率符合第一閾值條件時(shí)發(fā)出,和/或由調(diào)度服務(wù)器在整個(gè)集群的集群故障率符合第二閾值條件時(shí)發(fā)出。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述第一閾值條件包括:集群網(wǎng)絡(luò)利用率低于第一閾值;

所述第二閾值條件包括:集群故障率低于第二閾值。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述樣本讀取模塊之后,還包括:

第三權(quán)重計(jì)算模塊,用于利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算所述樣本數(shù)據(jù)的第三權(quán)重;

樣本丟棄模塊,用于當(dāng)所述第三權(quán)重小于第三閾值,則丟棄相應(yīng)的樣本數(shù)據(jù)。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述第三權(quán)重計(jì)算模塊包括:

指數(shù)計(jì)算模塊,用于將每條樣本數(shù)據(jù)的時(shí)間信息,代入指數(shù)函數(shù)的負(fù)的指數(shù)參數(shù),計(jì)算第三權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,在第三權(quán)重計(jì)算模塊之前,還包括:

歸并模塊,用于對(duì)樣本集中的各樣本數(shù)據(jù)進(jìn)行歸并;

歸并記錄模塊,用于對(duì)歸并后的樣本數(shù)據(jù),記錄所述樣本數(shù)據(jù)的歸并數(shù)量。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述第三權(quán)重計(jì)算模塊,包括:

降權(quán)系數(shù)計(jì)算模塊,用于利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算降權(quán)系數(shù);

第一計(jì)算模塊,用于計(jì)算所述降權(quán)系數(shù)與歸并數(shù)量之積,得到第三權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述結(jié)果發(fā)送模塊還用于,如果接收到匯集指令,將各個(gè)樣本數(shù)據(jù)的第三權(quán)重進(jìn)行匯總得到的第一系數(shù)發(fā)送至匯集服務(wù)器;

則,所述匯集服務(wù)器包括:第一加權(quán)匯總模塊,用于根據(jù)各第一梯度及與各第一梯度相應(yīng)的第一系數(shù),進(jìn)行加權(quán)計(jì)算得到第二梯度;

第二權(quán)重計(jì)算模塊,用于根據(jù)第二梯度計(jì)算第二權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集服務(wù)器還包括:

備份模塊,用于將新得到的第二權(quán)重進(jìn)行備份。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述備份模塊包括:

變化計(jì)算模塊,用于所述匯集服務(wù)器判斷新得到的第二權(quán)重與至少前一次備份的第二權(quán)重之間的變化量是否超過(guò)變化閾值;

第一備份模塊,用于如果超過(guò)變化閾值,則對(duì)所述新得到的第二權(quán)重進(jìn)行備份。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述備份模塊之后,還包括:

輸出模塊,用于將所述第二權(quán)重代入目標(biāo)模型,并輸出至業(yè)務(wù)服務(wù)器。

本申請(qǐng)具備如下幾個(gè)方面的優(yōu)點(diǎn):

(1)懶惰通信機(jī)制:根據(jù)集群環(huán)境以及迭代情況,自動(dòng)判斷是否需要所有機(jī)器進(jìn)行權(quán)重匯總動(dòng)作,從而避免每輪訓(xùn)練都匯集一次,導(dǎo)致可能出現(xiàn)網(wǎng)絡(luò)占滿的情況。

(2)權(quán)重備份機(jī)制:根據(jù)規(guī)則,自動(dòng)備份權(quán)重,一旦某些機(jī)制出現(xiàn)問(wèn)題,可以從備份拉回以前的權(quán)重,繼續(xù)進(jìn)行訓(xùn)練,從而不用從頭再此訓(xùn)練,提高訓(xùn)練效率。

(3)數(shù)據(jù)切分裝置:根據(jù)數(shù)據(jù)的時(shí)效性,自動(dòng)對(duì)新的數(shù)據(jù)加大權(quán)重,對(duì)老數(shù)據(jù)降權(quán),并丟棄部分舊數(shù)據(jù)。

對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。

實(shí)施例五

參照?qǐng)D6,示出了本申請(qǐng)的一種分布式集群訓(xùn)練裝置實(shí)施例的結(jié)構(gòu)框圖, 具體可以包括如下模塊:

包括調(diào)度服務(wù)器610、匯集服務(wù)器620、多臺(tái)訓(xùn)練服務(wù)器630。

所述調(diào)度服務(wù)器610包括:

集群監(jiān)控模塊611,用于監(jiān)控集群系統(tǒng)環(huán)境是否符合閾值條件,如果符合,則向各訓(xùn)練服務(wù)器630發(fā)出匯集指令。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,集群監(jiān)控模塊611具體用于在整個(gè)集群的集群網(wǎng)絡(luò)利用率符合第一閾值條件時(shí)發(fā)出匯集指令,和/或在整個(gè)集群的集群故障率符合第二閾值條件時(shí)發(fā)出匯集指令。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述第一閾值條件包括:集群網(wǎng)絡(luò)利用率低于第一閾值;

所述第二閾值條件包括:集群故障率低于第二閾值。

所述訓(xùn)練服務(wù)器630包括:

樣本讀取模塊631,用于讀取樣本集;所示樣本集包括至少一條樣本數(shù)據(jù);

迭代訓(xùn)練模塊632,用于在接收到匯集指令之前,利用所述樣本數(shù)據(jù)和當(dāng)前權(quán)重,代入目標(biāo)模型訓(xùn)練函數(shù)進(jìn)行迭代訓(xùn)練,得到第一梯度;其中,如果在接收到匯集指令之前,有多輪迭代訓(xùn)練,則基于前一次訓(xùn)練得到的第一梯度生成第一權(quán)重作為后一輪迭代訓(xùn)練的當(dāng)前權(quán)重;

結(jié)果發(fā)送模塊633,用于如果接收到匯集指令,則將所述第一梯度發(fā)送至匯集服務(wù)器;

更新模塊634,用于接收第二權(quán)重以更新當(dāng)前權(quán)重;

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述樣本讀取模塊631之后,還包括:

第三權(quán)重計(jì)算模塊,用于利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算所述樣本數(shù)據(jù)的第三權(quán)重;

樣本丟棄模塊,用于當(dāng)所述第三權(quán)重小于第三閾值,則丟棄相應(yīng)的樣本數(shù)據(jù)。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述第三權(quán)重計(jì)算模塊包括:

指數(shù)計(jì)算模塊,用于將每條樣本數(shù)據(jù)的時(shí)間信息,代入指數(shù)函數(shù)的負(fù)的 指數(shù)參數(shù),計(jì)算第三權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,在第三權(quán)重計(jì)算模塊之前,還包括:

歸并模塊,用于對(duì)樣本集中的各樣本數(shù)據(jù)進(jìn)行歸并;

歸并記錄模塊,用于對(duì)歸并后的樣本數(shù)據(jù),記錄所述樣本數(shù)據(jù)的歸并數(shù)量。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述第三權(quán)重計(jì)算模塊,包括:

降權(quán)系數(shù)計(jì)算模塊,用于利用每條樣本數(shù)據(jù)的時(shí)間信息,計(jì)算降權(quán)系數(shù);

第一計(jì)算模塊,用于計(jì)算所述降權(quán)系數(shù)與歸并數(shù)量之積,得到第三權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述結(jié)果發(fā)送模塊633還用于,如果接收到匯集指令,將各個(gè)樣本數(shù)據(jù)的第三權(quán)重進(jìn)行匯總得到的第一系數(shù)發(fā)送至匯集服務(wù)器。

所述匯集服務(wù)器620包括:

匯集計(jì)算模塊621,用于匯總各第一梯度并計(jì)算第二權(quán)重;

第二權(quán)重發(fā)送模塊622,用于向各訓(xùn)練服務(wù)器發(fā)送最新的第二權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集服務(wù)器包括:

第一加權(quán)匯總模塊,用于根據(jù)各第一梯度及與各第一梯度相應(yīng)的第一系數(shù),進(jìn)行加權(quán)計(jì)算得到第二梯度;

第二權(quán)重計(jì)算模塊,用于根據(jù)第二梯度計(jì)算第二權(quán)重。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述匯集服務(wù)器還包括:

備份模塊,用于將新得到的第二權(quán)重進(jìn)行備份。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述備份模塊包括:

變化計(jì)算模塊,用于所述匯集服務(wù)器判斷新得到的第二權(quán)重與至少前一次備份的第二權(quán)重之間的變化量是否超過(guò)變化閾值;

第一備份模塊,用于如果超過(guò)變化閾值,則對(duì)所述新得到的第二權(quán)重進(jìn)行備份。

在本申請(qǐng)另一優(yōu)選的實(shí)施例中,所述備份模塊之后,還包括:

輸出模塊,用于將所述第二權(quán)重代入目標(biāo)模型,并輸出至業(yè)務(wù)服務(wù)器。

本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

在一個(gè)典型的配置中,所述計(jì)算機(jī)設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。

本申請(qǐng)實(shí)施例是參照根據(jù)本申請(qǐng)實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框 圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)實(shí)施例范圍的所有變更和修改。

最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者終端設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者終端設(shè)備中還存在另外的相同要素。

以上對(duì)本申請(qǐng)所提供的一種分布式集群訓(xùn)練方法和一種分布式集群訓(xùn)練裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
丰顺县| 乌鲁木齐市| 商南县| 阿克苏市| 宜都市| 西充县| 甘德县| 上饶市| 琼中| 阿拉善盟| 崇信县| 永登县| 洪江市| 吉水县| 葫芦岛市| 夏河县| 井研县| 且末县| 兰溪市| 陇西县| 沙雅县| 金乡县| 铜川市| 白城市| 高台县| 曲阳县| 富源县| 库尔勒市| 拉孜县| 苏尼特左旗| 莒南县| 威海市| 高尔夫| 定结县| 晋州市| 徐水县| 耿马| 龙里县| 扎囊县| 灵台县| 博野县|