Hadoop教程:PayPal的Hadoop迭代式計(jì)算框架--Guagua
如何利用大數(shù)據(jù)訓(xùn)練風(fēng)險(xiǎn)控制的數(shù)學(xué)模型一直以來(lái)都是PayPal在欺詐交易檢測(cè)的挑戰(zhàn)。PayPal在風(fēng)險(xiǎn)控制模型訓(xùn)練上大致經(jīng)歷過(guò)四個(gè)階段:
- 決策樹(shù):早期PayPal使用簡(jiǎn)單的決策樹(shù)模型,主要是由于早期的模型訓(xùn)練的數(shù)據(jù)量比較小,決策樹(shù)模型的結(jié)果易于解釋。
- 邏輯回歸:當(dāng)PayPal的業(yè)務(wù)越來(lái)越復(fù)雜,分控模型也隨之越來(lái)越復(fù)雜,使用邏輯回歸可以很容易的處理更大的數(shù)據(jù)量以及更多的特征;而且PayPal的線上風(fēng)控服務(wù)可以快速實(shí)現(xiàn)這些邏輯回歸的數(shù)學(xué)模型。
- 神經(jīng)網(wǎng)絡(luò):為了彌補(bǔ)邏輯回歸特征數(shù)量的限制,PayPal使用了神經(jīng)網(wǎng)絡(luò)來(lái)訓(xùn)練特征值達(dá)到上千個(gè)的數(shù)學(xué)模型,但是由于沒(méi)有分布式的訓(xùn)練框架和產(chǎn)品,訓(xùn)練數(shù)據(jù)一直受到單機(jī)的限制。
- 分布式的神經(jīng)網(wǎng)絡(luò)和邏輯回歸:Hadoop迭代式計(jì)算框架Guagua出現(xiàn),解決了大數(shù)據(jù)的分布式訓(xùn)練問(wèn)題,這樣PayPal的所有風(fēng)控?cái)?shù)學(xué)模型不再有單機(jī)的數(shù)據(jù)限制,而且目前支持的最大模型的特征數(shù)量已經(jīng)超過(guò)了2500個(gè)。
其中,Hadoop迭代式計(jì)算框架Guagua是PayPal的一個(gè)開(kāi)源機(jī)器學(xué)習(xí)框架Shifu的子項(xiàng)目,已經(jīng)于今年四月開(kāi)源。
張彭善是 PayPal Risk Data Science部門的研發(fā)工程師,在PayPal一直致力于使用Hadoop解決風(fēng)險(xiǎn)控制數(shù)學(xué)模型的特征提取、訓(xùn)練及驗(yàn)證等工作,是Shifu和Guagua的主要開(kāi)發(fā)人員。InfoQ中文站編輯近日對(duì)張彭善進(jìn)行了采訪,了解這個(gè)框架的開(kāi)發(fā)背景和應(yīng)用狀況。
InfoQ:首先問(wèn)一下,這個(gè)框架為什么取了Guagua這個(gè)名字?
張彭善:這個(gè) 名字的得來(lái)其實(shí)很隨意。去年公司裝修期間,我在家開(kāi)發(fā)Guagua的時(shí)候,苦于沒(méi)有一個(gè)合適的名字,我隨手翻了本我兒子平時(shí)比較喜歡的一本故事書(shū),看到上 面一只小鴨子叫“呱呱”,我當(dāng)時(shí)隨手就用了這個(gè)名字。后來(lái)等到Guagua成型,一直想換一個(gè)名字,但是那時(shí)Guagua在公司內(nèi)部已經(jīng)有了很大的知名 度,而且我的同事幫我設(shè)計(jì)了一個(gè)非常漂亮的Logo,Guagua就一直沿用至今了。
InfoQ:風(fēng)險(xiǎn)控制訓(xùn)練的業(yè)務(wù)特點(diǎn)是什么?
張彭善:風(fēng)險(xiǎn)控制數(shù)學(xué)模型的主要特點(diǎn)是訓(xùn)練數(shù)據(jù)量大、模型特征多、模型通用性低等等。
InfoQ:其訓(xùn)練的算法有什么樣的特點(diǎn)?業(yè)內(nèi)都有哪些公開(kāi)的或者你了解的方法,各自有什么特點(diǎn)和不同?
張彭善:它的訓(xùn)練方法和其它的分類問(wèn)題并沒(méi)有太多不同,唯一比較大的不同是如何利用大數(shù)據(jù)來(lái)訓(xùn)練數(shù)學(xué)模型。業(yè)內(nèi)有很多相關(guān)的算法,決策樹(shù)、邏輯回歸、神經(jīng)網(wǎng)絡(luò)、SVM等等,但是主要都是單機(jī)實(shí)現(xiàn)。即便是Apache Mahout也并沒(méi)有把分類模型的分布式做好(Mahout中邏輯回歸和神經(jīng)網(wǎng)絡(luò)均為單機(jī)算法)。
InfoQ:為什么要開(kāi)發(fā)Guagua?換句話說(shuō),Guagua為什么是更適合你們業(yè)務(wù)特點(diǎn)的框架?
張彭善:在 PayPal,Guagua主要解決的是機(jī)器學(xué)習(xí)分類模型的分布式訓(xùn)練問(wèn)題,以往我們并沒(méi)有分布式模型的訓(xùn)練框架或者產(chǎn)品,我們只能通過(guò)抽樣來(lái)把我們的訓(xùn) 練數(shù)據(jù)限定在單機(jī)規(guī)模。此外,由于單機(jī)計(jì)算資源和內(nèi)存的限制,我們以前訓(xùn)練一個(gè)風(fēng)控模型需要10小時(shí)左右的時(shí)間。使用Guagua,數(shù)據(jù)和計(jì)算都在 Hadoop之上實(shí)現(xiàn)了分布式,不僅訓(xùn)練數(shù)據(jù)達(dá)到了我們之前不敢想象的TB級(jí)別,而且訓(xùn)練時(shí)間也由10小時(shí)左右減少到1小時(shí)左右,且最終的模型沒(méi)有比單機(jī) 有任何的性能損失。
InfoQ:Guagua現(xiàn)在哪些地方滿足了你的要求,哪些方面還不完善,計(jì)劃做哪些工作改進(jìn)它?
張彭 善:Guagua主要解決了模型訓(xùn)練的分布式問(wèn)題,現(xiàn)在PayPal可以利用大數(shù)據(jù)快速訓(xùn)練風(fēng)控?cái)?shù)學(xué)模型。同時(shí)Guagua并沒(méi)有將自己局限在分類模 型,Guagua是一個(gè)基于Hadoop的迭代式計(jì)算框架,幾乎任何基于迭代的算法都可以利用Guagua為其添加分布式功能。此外由于Guagua對(duì)分 布式的良好支持,我們以前許多想做又不能做的工作比如模型特征自動(dòng)選取都可以得以進(jìn)行。
Guagua目前主要支持的是同步的Master-Workers結(jié)構(gòu)的迭代式計(jì)算框架,今后我們希望能夠支持異步方式的迭代計(jì)算框架,2012年Google MapReduce之父Jeff Dean發(fā)表了一篇論文,上面提到了對(duì)神經(jīng)網(wǎng)絡(luò)深度模型的支持,文章介紹他們的DistBelief框架訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型可以支持10億級(jí)別的參數(shù)。這也是Guagua的另一個(gè)方向,支持超大規(guī)模的深度神經(jīng)網(wǎng)絡(luò)模型。
來(lái)自: InfoQ