分布式ctr預(yù)測模型訓(xùn)練的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及大數(shù)據(jù)機器學(xué)習(xí)領(lǐng)域,公開了一種分布式CTR預(yù)測模型訓(xùn)練方法和系統(tǒng),在分布式并行框架下進(jìn)行邏輯回歸計算,將參數(shù)和數(shù)據(jù)分配到多個一級集群中進(jìn)行處理;將一級集群進(jìn)一步細(xì)分為多個二級集群,每個一級集群內(nèi)部的二級集群采用MapReduce架構(gòu),Map計算梯度,Reduce計算迭代方向和步長;在二級集群內(nèi)部采用任務(wù)備份機制。通過本發(fā)明的方法和系統(tǒng),能夠提高邏輯回歸計算中可以處理的樣本數(shù)和特征參數(shù),同時提高系統(tǒng)的整體運行效率,縮短計算和處理時間,還能有效防止節(jié)點出現(xiàn)大的故障而使整個計算中斷的情況發(fā)生。
【專利說明】分布式CTR預(yù)測模型訓(xùn)練的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大數(shù)據(jù)機器學(xué)習(xí)領(lǐng)域,特別涉及一種分布式CTR預(yù)測模型訓(xùn)練的方法和系統(tǒng)。
【背景技術(shù)】
[0002]邏輯回歸被普遍認(rèn)為是很好的進(jìn)行分類的機器學(xué)習(xí)方法,尤其是在對象點擊率預(yù)測方面,如精準(zhǔn)內(nèi)容(如廣告投放/媒體推薦等)的點擊率(CTR)預(yù)測中有較好的應(yīng)用效果。經(jīng)研究表明,增加訓(xùn)練樣本,增加特征數(shù)量或者是模型參數(shù)都會提高分類/點擊率預(yù)測的精度,但也同時對處理完成的速度有了更嚴(yán)格的要求。
[0003]現(xiàn)有技術(shù)中,為了達(dá)到在精度和速度上的目標(biāo),目前主要有兩種辦法,一種辦法是采用GPU,另一種辦法就是采用并行和分布式處理。
[0004]采用GPU可以提高處理速度,但其缺點在于:在訓(xùn)練需要很大內(nèi)存的情況下,處理速度基本不會有明顯提高;而當(dāng)為了提高速度,來減少訓(xùn)練樣本或參數(shù)的個數(shù)時,又會造成預(yù)測準(zhǔn)確率的下降。
[0005]采用并行和分布式處理可以處理大量的參數(shù)和訓(xùn)練樣本,但其缺點在于:目前的處理方式主要集中在線性的凸模型上,首先要做分布式的梯度計算,但由于各個節(jié)點的處理速度不一致,所以不得不放寬同步的要求,梯度更新就會不及時,這就嚴(yán)重影響了處理完成的速度。
【發(fā)明內(nèi)容】
[0006](一)本發(fā)明解決的技術(shù)問題:
[0007]針對現(xiàn)有技術(shù)的缺陷,本發(fā)明提出了一種分布式CTR預(yù)測模型訓(xùn)練的方法和系統(tǒng),能夠快速處理非常大的樣本集合,樣本集合的數(shù)量可達(dá)十萬級,而且不局限在凸模型或計算稀疏梯度上。
[0008](二)技術(shù)方案
[0009]為實現(xiàn)上述目的,本發(fā)明提出了一種新的解決方案,采用分布式集群進(jìn)行大數(shù)據(jù)訓(xùn)練,以便增加處理的訓(xùn)練樣本和特征參數(shù),并且提高處理速度。
[0010]一方面,本發(fā)明提供一種分布式CTR預(yù)測模型訓(xùn)練方法,其特征在于,所述方法包括步驟:
[0011](I)將全部參數(shù)集合分塊,形成多個訓(xùn)練樣本塊。
[0012](2)每個一級集群執(zhí)行一個回歸模型的副本,處理全部參數(shù)集合的一個訓(xùn)練樣本塊,計算該訓(xùn)練樣本塊中參數(shù)的梯度。
[0013](3)每個一級集群計算完一個訓(xùn)練樣本塊中參數(shù)的梯度后,將訓(xùn)練完的參數(shù)傳到參數(shù)服務(wù)器上進(jìn)行更新。
[0014](4)參數(shù)服務(wù)器對參數(shù)進(jìn)行統(tǒng)一更新,然后再將更新后的參數(shù)分別下發(fā)到每個一級集群。[0015]優(yōu)選地,步驟(I)中將全部參數(shù)集合分塊,形成多個訓(xùn)練樣本塊中訓(xùn)練樣本塊的數(shù)
量多于或等于全部一級集群數(shù)量。
[0016]優(yōu)選地,訓(xùn)練樣本塊的數(shù)量遠(yuǎn)大于全部一級集群數(shù)量。
[0017]優(yōu)選地,一級集群內(nèi)部可進(jìn)一步劃分成多個二級集群,該多個二級集群可采用分布式的分布方式。
[0018]優(yōu)選地,步驟(2 )中每個一級集群執(zhí)行一個回歸模型的副本,處理整個參數(shù)集合的一個訓(xùn)練樣本塊,計算該訓(xùn)練樣本塊中參數(shù)的梯度具體為:將一級集群的計算該訓(xùn)練樣本塊中參數(shù)的梯度的任務(wù)下發(fā)到二級集群來完成,一級集群中的二級集群采用MapReduce結(jié)構(gòu),Map階段計算梯度,Reduce階段計算迭代的方向和步長。
[0019]優(yōu)選地,在二級集群內(nèi)部監(jiān)控所有工作的服務(wù)器,當(dāng)發(fā)現(xiàn)某臺服務(wù)器計算速度慢時,若在集群內(nèi)部存在已完成處理任務(wù)的其他處于空閑階段的服務(wù)器,則在該處于空閑階段的服務(wù)器上重新啟動在該處理速度慢的服務(wù)器中正在處理的相同任務(wù)。
[0020]優(yōu)選地,若該重啟任務(wù)的服務(wù)器在處理速度慢的服務(wù)器之前完成任務(wù),則采用該重啟任務(wù)的服務(wù)器上的處理結(jié)果,同時停止處理速度慢的服務(wù)器上的處理任務(wù);若處理速度慢的服務(wù)器在該重啟任務(wù)的處理器之前完成處理任務(wù),則采用該處理速度慢的服務(wù)器中的處理結(jié)果,同時停止該重啟任務(wù)的服務(wù)器上的處理任務(wù)。
[0021]另一方面,本發(fā)明還提供一種分布式CTR預(yù)測模型訓(xùn)練系統(tǒng),其特征在于:系統(tǒng)包括一個參數(shù)服務(wù)器,多個一級集群,每個一級集群至少包含一個或多個服務(wù)器,每個一級集群分別與參數(shù)服務(wù)器相連接。
[0022]優(yōu)選地,每個一級集群中的多個服務(wù)器被細(xì)分為多個二級集群。
[0023]優(yōu)選地,二級集群呈分布式分布。
[0024](三)技術(shù)效果
[0025]本發(fā)明提出了在分布式并行框架下進(jìn)行邏輯回歸計算,大大提高了可以處理的樣本數(shù)和特征參數(shù),并同時縮短了計算和處理時間;
[0026]本發(fā)明將參數(shù)和數(shù)據(jù)分配到每個一級集群處理,有效縮短了計算時間;
[0027]本發(fā)明在每個一級集群內(nèi)部采用MapReduce架構(gòu),Map計算梯度,Reduce計算迭代方向和步長,能夠有效利用服務(wù)器資源,并節(jié)省時間;
[0028]本發(fā)明在二級集群內(nèi)部采用任務(wù)備份機制,防止了節(jié)點出現(xiàn)大的故障而使整個計算中斷的情況發(fā)生。
【專利附圖】
【附圖說明】
[0029]圖1是本發(fā)明中分布式CTR預(yù)測模型訓(xùn)練的系統(tǒng)結(jié)構(gòu)示意圖
[0030]圖2是本發(fā)明中分布式CTR預(yù)測模型訓(xùn)練的方法流程示意圖
[0031]圖3是本發(fā)明中分布式CTR預(yù)測模型訓(xùn)練的方法數(shù)據(jù)流向示意圖
[0032]圖4是本發(fā)明中二級集群的MapReduce結(jié)構(gòu)示意圖
【具體實施方式】
[0033]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0034]本發(fā)明提出了一種新的解決方案GEO-DIST (GEO DISTRIBUTION PROCESS,集奧-分布式處理),采用分布式集群,以便增加處理的訓(xùn)練樣本和特征參數(shù),并且提高處理速度。
[0035]如附圖1中所示,系統(tǒng)中包含多個服務(wù)器,其中包含一個參數(shù)服務(wù)器,并將除參數(shù)服務(wù)器之外的其他所有的服務(wù)器分為若干個一級集群,每個一級集群中至少包含一個或多個服務(wù)器,一個一級集群中的服務(wù)器可再次被細(xì)分為多個二級集群。
[0036]一級集群之間沒有直接通信,而是分別與參數(shù)服務(wù)器相連接,也就是說,一級集群呈集中式分布。每個一級集群中的二級集群呈分布式分布。
[0037]圖2是本發(fā)明的分布式CTR預(yù)測模型訓(xùn)練方法步驟流程圖,以下是步驟的詳細(xì)說明:
[0038](I)將全部參數(shù)數(shù)據(jù)集合分塊,形成多個訓(xùn)練樣本塊。為了充分利用系統(tǒng)的運算能力,可將全部參數(shù)數(shù)據(jù)集合以多于或等于全部一級集群數(shù)量的數(shù)量進(jìn)行分塊,形成多于或等于全部一級集群數(shù)量的訓(xùn)練樣本塊。
[0039](2)系統(tǒng)中每個一級集群執(zhí)行一個回歸模型的副本,處理全部參數(shù)集合的一個訓(xùn)練樣本塊,計算該訓(xùn)練樣本塊中參數(shù)的梯度。當(dāng)一個一級集群處理完一個訓(xùn)練樣本塊中的參數(shù)計算任務(wù)后,可在剩余未處理的訓(xùn)練樣本塊中選擇一個訓(xùn)練樣本塊再分配給該一級集群。這樣,運算能力強、計算速度快的一級集群的能力可以被充分利用,能有效提高整個系統(tǒng)的計算速度,降低處理時間。
[0040](3) —級集群之間不進(jìn)行直接通信,每個一級集群計算完一個訓(xùn)練樣本塊中參數(shù)的梯度后,將訓(xùn)練完的參數(shù)傳到參數(shù)服務(wù)器上進(jìn)行更新。
[0041](4)參數(shù)服務(wù)器對參數(shù)進(jìn)行統(tǒng)一更新,然后再將更新后的參數(shù)分別下發(fā)到每個一級集群。
[0042]圖3是本發(fā)明中分布式CTR預(yù)測模型訓(xùn)練的方法數(shù)據(jù)流向示意圖。
[0043]其中參數(shù)服務(wù)器先將各個訓(xùn)練樣本塊中的參數(shù)w下發(fā)給各個一級集群。每個一級集群接受參數(shù)w后對其執(zhí)行訓(xùn)練任務(wù),訓(xùn)練結(jié)束后,得到更新后的參數(shù)△ W,一級集群將該更新后的參數(shù)△ W上傳給參數(shù)服務(wù)器。參數(shù)服務(wù)器接收到該更新后的參數(shù)后,用其更新在參數(shù)服務(wù)器中存儲的參數(shù)集合,更新后的參數(shù)集合△?,其中α表示更新后的參數(shù)Aw的個數(shù)。當(dāng)α等于訓(xùn)練樣本塊的數(shù)量時,即表示每個訓(xùn)練樣本塊均已經(jīng)被一級集群訓(xùn)練過,參數(shù)得到更新后,整個數(shù)據(jù)集合的訓(xùn)練計算完成,等到最終的更新后的參數(shù)集合。
[0044]傳統(tǒng)的并行計算是將數(shù)據(jù)分布到每個集群,然后每個集群計算完梯度后回傳給參數(shù)服務(wù)器,這樣就需要等到最慢的集群計算完畢才能下發(fā)參數(shù)和計算任務(wù),大大影響了整個處理速度。本發(fā)明的分布式CTR預(yù)測模型訓(xùn)練的方法中可將全部的參數(shù)數(shù)據(jù)集合分解為遠(yuǎn)遠(yuǎn)大于一級集群數(shù)量的份數(shù)的訓(xùn)練樣本塊,給計算速度較快的集群分配數(shù)量較多的訓(xùn)練樣本塊,給計算速度較慢的集群分配數(shù)量較少的訓(xùn)練樣本塊,這樣就能充分利用每個集群的處理能力,從而提高系統(tǒng)整體的處理速度。
[0045]為了進(jìn)一步提高計算速度,一級集群內(nèi)部可進(jìn)一步劃分成二級集群,該二級集群可采用分布式的分布方式。每個一級集群的二級集群之間采用MapReduce結(jié)構(gòu),Map階段計算梯度,Reduce階段計算迭代的方向和步長,不同的二級集群之間分工協(xié)作,能夠有效利用服務(wù)器資源,并節(jié)省時間。圖4是本發(fā)明中二級集群的MapReduce結(jié)構(gòu)示意圖。
[0046]為了提高處理速度,同時也為了防止了節(jié)點出現(xiàn)大的故障而使整個計算中斷的情況發(fā)生,在二級集群內(nèi)部采用“任務(wù)備份”的機制。監(jiān)控所有工作的服務(wù)器,當(dāng)發(fā)現(xiàn)某臺服務(wù)器計算速度慢時,若在集群內(nèi)部存在已完成處理任務(wù)的其他服務(wù)器,則在該處于空閑階段的服務(wù)器上重新啟動在該處理速度慢的服務(wù)器中正在處理的相同任務(wù)。若該重啟任務(wù)的服務(wù)器比處理速度慢的服務(wù)器還要優(yōu)先完成任務(wù),則采用該重啟任務(wù)的服務(wù)器上的處理結(jié)果,同時停止處理速度慢的服務(wù)器上的處理任務(wù);若處理速度慢的服務(wù)器在該重啟任務(wù)的處理器之前完成處理任務(wù),則采用該處理速度慢的服務(wù)器中的處理結(jié)果,同時停止該重啟任務(wù)的服務(wù)器上的相應(yīng)的任務(wù)的處理過程。
[0047]利用本發(fā)明提出的GEO-DIST方案,能獲得有益的技術(shù)效果。以精準(zhǔn)廣告投放CTR預(yù)測的邏輯回歸訓(xùn)練進(jìn)行實際的實驗驗證,節(jié)點數(shù)為900,訓(xùn)練樣本數(shù)為8千萬,特征參數(shù)為5萬,分別利用本發(fā)明提出的分布式CTR預(yù)測模型訓(xùn)練的方法和傳統(tǒng)的BFGS算法進(jìn)行求解,本發(fā)明的解決方案取得了很好的效果,相較于傳統(tǒng)的BFGS算法的1/10的時間就得到了理想的模型參數(shù)。
[0048]上述說明示出并描述了本發(fā)明的若干優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動。而本領(lǐng)域人員所進(jìn)行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種分布式CTR預(yù)測模型訓(xùn)練方法,其特征在于,所述方法包括步驟: (1)將全部參數(shù)數(shù)據(jù)集合分塊,形成多個訓(xùn)練樣本塊; (2)每個一級集群執(zhí)行一個回歸模型的副本,處理全部參數(shù)數(shù)據(jù)集合的一個訓(xùn)練樣本塊; (3)每個一級集群處理完一個訓(xùn)練樣本塊后,將訓(xùn)練完的參數(shù)數(shù)據(jù)傳到參數(shù)服務(wù)器上進(jìn)行更新; (4)參數(shù)服務(wù)器對參數(shù)數(shù)據(jù)進(jìn)行統(tǒng)一更新,然后再將更新后的參數(shù)數(shù)據(jù)分別下發(fā)到每個一級集群。
2.如權(quán)利要求1所述的方法,其特征在于:步驟(I)中將全部參數(shù)集合分塊,形成多個訓(xùn)練樣本塊中訓(xùn)練樣本塊的數(shù)量多于或等于全部一級集群數(shù)量。
3.如權(quán)利要求2所述的方法,其特征在于:訓(xùn)練樣本塊的數(shù)量遠(yuǎn)大于全部一級集群數(shù)量。
4.如權(quán)利要求1所述的方法,其特征在于:一級集群內(nèi)部可進(jìn)一步劃分成多個二級集群,該多個二級集群可采用分布式的分布方式。
5.如權(quán)利要求4所述的方法,其特征在于:步驟(2)中每個一級集群執(zhí)行一個回歸模型的副本,處理整個參數(shù)集合的一個訓(xùn)練樣本塊,計算該訓(xùn)練樣本塊中參數(shù)的梯度具體為:將一級集群的計算該訓(xùn)練樣本塊中參數(shù)的梯度的任務(wù)下發(fā)到二級集群來完成,每個一級集群中的二級集群采用MapReduce結(jié)構(gòu),Map階段計算梯度,Reduce階段計算迭代的方向和步長。
6.如權(quán)利要求4所述的方法,其特征在于:在二級集群內(nèi)部監(jiān)控所有工作的服務(wù)器,當(dāng)發(fā)現(xiàn)某臺服務(wù)器計算速度慢時,若在集群內(nèi)部存在已完成處理任務(wù)的其他處于空閑階段的服務(wù)器,則在該處于空閑階段的服務(wù)器上重新啟動在該處理速度慢的服務(wù)器中正在處理的相同任務(wù)。
7.如權(quán)利要求6所述的方法,其特征在于:若該重啟任務(wù)的服務(wù)器在處理速度慢的服務(wù)器之前完成任務(wù),則采用該重啟任務(wù)的服務(wù)器上的處理結(jié)果,同時停止處理速度慢的服務(wù)器上的處理任務(wù);若處理速度慢的服務(wù)器在該重啟任務(wù)的處理器之前完成處理任務(wù),則采用該處理速度慢的服務(wù)器中的處理結(jié)果,同時停止該重啟任務(wù)的服務(wù)器上的處理任務(wù)。
8.一種分布式CTR預(yù)測模型訓(xùn)練系統(tǒng)運行如權(quán)利要求1所述的方法,其特征在于:系統(tǒng)包括一個參數(shù)服務(wù)器,多個一級集群,每個一級集群至少包含一個或多個服務(wù)器,每個一級集群分別與參數(shù)服務(wù)器相連接。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于:每個一級集群中的多個服務(wù)器被細(xì)分為多個二級集群。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于:二級集群呈分布式分布。
【文檔編號】G06K9/62GK103745225SQ201310741493
【公開日】2014年4月23日 申請日期:2013年12月27日 優(yōu)先權(quán)日:2013年12月27日
【發(fā)明者】崔晶晶, 林佳婕, 劉立娜, 李春華, 馬占國 申請人:北京集奧聚合網(wǎng)絡(luò)技術(shù)有限公司