又是一年11.11將至,各大電商平臺(tái)在新一輪技術(shù)大考中會(huì)交出怎樣的答卷?近日,CSDN云計(jì)算采訪了京東集團(tuán)高級(jí)副總裁、研發(fā)體系負(fù)責(zé)人張晨,京東集團(tuán)京東云平臺(tái)首席架構(gòu)師、系統(tǒng)技術(shù)部負(fù)責(zé)人劉海鋒,京東集團(tuán)商城研發(fā)部交易平臺(tái)總監(jiān)王曉鐘,以及京東集團(tuán)研發(fā)部研發(fā)總監(jiān)楊光信,探秘云計(jì)算、大數(shù)據(jù)、人工智能等技術(shù)將如何支持本次京東11.11。
CSDN云計(jì)算了解到,與往年不同,京東技術(shù)研發(fā)體系在本次備戰(zhàn)中提出了三大戰(zhàn)役,包括換底計(jì)劃、多交易中心和京東大腦,即將京東的整體業(yè)務(wù)系統(tǒng)遷移至云端,按買(mǎi)家地域分流到多個(gè)交易中心,以及基于大數(shù)據(jù)、人工智能的個(gè)性化服務(wù)、精準(zhǔn)化營(yíng)銷(xiāo)。
張晨:1500+應(yīng)急方案、150場(chǎng)應(yīng)急演練保證60秒恢復(fù)能力
張晨介紹了本次備戰(zhàn)11.11的整體情況:
整個(gè)團(tuán)隊(duì)做了將近1500多個(gè)應(yīng)急方案,每一個(gè)應(yīng)用都要有一級(jí)方案,以確保任何故障都能在60秒鐘之內(nèi)恢復(fù)。
整個(gè)團(tuán)隊(duì)進(jìn)行了將近150場(chǎng)壓力測(cè)試,包括各個(gè)團(tuán)隊(duì)的演練,以及兩次各條線的聯(lián)合演練,從整體和各個(gè)局部確保流量峰值壓力之下能有良好、快速的用戶(hù)體驗(yàn)。
壓力測(cè)試的演練方式要求很真實(shí),把流量壓起來(lái)不放下去,例如一個(gè)小時(shí)的訂單不釋放給下級(jí)系統(tǒng),再在一分鐘內(nèi)釋放,這樣可以模擬秒殺面臨的壓力,看每一個(gè)系統(tǒng)能否扛得主有巨大的沖擊。實(shí)戰(zhàn)演練的目標(biāo)是要能應(yīng)付平時(shí)流量的20倍。
雖然京東做了好多次618、11.11,團(tuán)隊(duì)越來(lái)越有信心,但張晨強(qiáng)調(diào),再有信心還是要演練,因?yàn)槟軌虺袚?dān)多少流量的壓力沒(méi)有任何人可以拍腦袋決定,必須要用實(shí)際數(shù)字說(shuō)話(huà)。
確保用戶(hù)體驗(yàn)是京東11.11技術(shù)備戰(zhàn)的著眼點(diǎn),這是中國(guó)電商的特征決定的。張晨認(rèn)為,技術(shù)上可能?chē)?guó)外領(lǐng)先一步,但由于人口密度、競(jìng)爭(zhēng)激烈等因素,通過(guò)現(xiàn)有技術(shù)實(shí)現(xiàn)優(yōu)質(zhì)電商體驗(yàn),則是中國(guó)企業(yè)領(lǐng)先。譬如京東正在運(yùn)行世界上最大規(guī)模的Docker集群(6萬(wàn)個(gè)),其快速擴(kuò)容能力可以更從容應(yīng)對(duì)突發(fā)流量,尤其適合商品秒殺、商品詳情頁(yè)的需求,減輕運(yùn)維壓力。已經(jīng)投入使用的同城機(jī)房多交易中心可以增強(qiáng)災(zāi)備能力,也是確保用戶(hù)體驗(yàn)。京東大腦則是要把體驗(yàn)進(jìn)一步做到個(gè)性化。
運(yùn)維和監(jiān)控是演練的兩個(gè)重點(diǎn)。雙十一對(duì)運(yùn)維的挑戰(zhàn)非常非常大,開(kāi)辟新機(jī)房擴(kuò)建彈性云,按照諾亞方舟的計(jì)劃,就是要打建現(xiàn)代化的機(jī)房,最新的自動(dòng)化運(yùn)營(yíng)方式,并且為規(guī)避挖掘機(jī),專(zhuān)線從兩根變成四根專(zhuān)線甚至五根,這都離不開(kāi)運(yùn)維團(tuán)隊(duì)的工作。整個(gè)演練過(guò)程當(dāng)中也都是跟運(yùn)維團(tuán)隊(duì)在一起,根據(jù)壓測(cè)數(shù)據(jù),決定給每一個(gè)應(yīng)用多少資源。因?yàn)榇蠹叶枷攵嘁恍┵Y源,由運(yùn)維團(tuán)隊(duì)把關(guān),什么地方該給什么地方不該給。
要想60秒之內(nèi)完成問(wèn)題的解決,如果只有好架構(gòu),沒(méi)有很好的監(jiān)控設(shè)施來(lái)及時(shí)發(fā)現(xiàn)問(wèn)題和啟動(dòng)應(yīng)急方案,同樣是不可能做到的。京東有一個(gè)大屏的實(shí)時(shí)顯示,包括所有系統(tǒng)的一張完整的架構(gòu)監(jiān)控系統(tǒng),有一綜合的表都看到任何系統(tǒng)任何時(shí)候的狀況。此外還支持移動(dòng)端的監(jiān)控。
保證用戶(hù)體驗(yàn),技術(shù)驅(qū)動(dòng)業(yè)務(wù),張晨強(qiáng)調(diào)的核心是數(shù)據(jù),因?yàn)榫〇|有中國(guó)電商領(lǐng)域最長(zhǎng)的數(shù)據(jù)鏈,而且數(shù)據(jù)非常真實(shí),分析出來(lái),精準(zhǔn)性非常高、市場(chǎng)價(jià)值特別大。京東在2014年全年的GMV是2602億,通過(guò)數(shù)據(jù)和算法提高就算是1%,也是26億,多個(gè)1%綜合起來(lái)就更加可觀。
京東大腦就是借助大數(shù)據(jù)分析挖掘做個(gè)性化用戶(hù)體驗(yàn)、精準(zhǔn)營(yíng)銷(xiāo)和智能庫(kù)存,實(shí)現(xiàn)運(yùn)營(yíng)最高效率的一個(gè)例子。利用大數(shù)據(jù),京東大腦做了用戶(hù)畫(huà)像、商品畫(huà)像和小區(qū)畫(huà)像,如何拆分訂單,如何庫(kù)存前置,分布到新開(kāi)的區(qū)域,鋪什么貨,讓庫(kù)存最少、配送最快、成本最低、體驗(yàn)最好,都已經(jīng)借助這些畫(huà)像進(jìn)行分析和決策。
在整個(gè)京東的生態(tài)鏈上,從庫(kù)存管理到前端的用戶(hù)體驗(yàn),每一個(gè)應(yīng)用,每一個(gè)場(chǎng)景,要用大數(shù)據(jù)來(lái)提高,這是一個(gè)非常長(zhǎng)線的項(xiàng)目,京東有很多想法。雖然京東大腦剛剛起步,但張晨對(duì)幾個(gè)試驗(yàn)結(jié)果都很滿(mǎn)意。
基于云平臺(tái)和大數(shù)據(jù),京東還在探索物流和倉(cāng)儲(chǔ)作為資源開(kāi)放給第三方商家。張晨表示,將來(lái)的京東云是幫整個(gè)生態(tài)系統(tǒng)把電商做好,不僅僅局限于京東自身。
劉海鋒:全面云化,10萬(wàn)級(jí)Dokcer強(qiáng)化擴(kuò)容與運(yùn)維
劉海鋒目前負(fù)責(zé)京東公有云和私有云架構(gòu),支持京東自身業(yè)務(wù)的是私有云體系,今年年初開(kāi)始啟動(dòng),構(gòu)建初衷是集中管理和調(diào)度資源以支持業(yè)務(wù)有更好的應(yīng)用體驗(yàn),包括存儲(chǔ)、中間件和彈性計(jì)算云(狹義私有云)三部分。在今年的京東618技術(shù)開(kāi)放日上,劉海鋒分享了這三個(gè)方面的工作,本次11.11備戰(zhàn),他重點(diǎn)介紹了彈性計(jì)算云方面的新進(jìn)展:618時(shí)候只承擔(dān)部分流量的彈性計(jì)算云,在本次11.11中將承擔(dān)100%的業(yè)務(wù)和流量,容災(zāi)能力、運(yùn)維能力和緊急故障處理能力得到增強(qiáng)。
劉海鋒透露,在今年的十月份,京東的新數(shù)據(jù)中心已經(jīng)部署完成,海量的京東定制服務(wù)器,全部都能夠?yàn)樗接性品?wù),所有在線應(yīng)用在新機(jī)房都將通過(guò)Docker技術(shù)進(jìn)行發(fā)布,支持同時(shí)在線的Docker實(shí)例達(dá)到10萬(wàn)規(guī)模(618峰值為1.1萬(wàn),彼時(shí)預(yù)估到11.11翻兩番)。
完全基于Docker云,好處不僅僅是降低成本,優(yōu)化資源利用率。對(duì)于研發(fā)和產(chǎn)品部門(mén)來(lái)說(shuō),最大的收益是極大地提高了生產(chǎn)效率,因?yàn)樵械膶徟⒉渴鸾缑孢x擇、打包、機(jī)器分配等流程全部取消,生產(chǎn)上線和申請(qǐng)資源的時(shí)間都大幅縮短。通過(guò)非常簡(jiǎn)單的運(yùn)維操作,彈性計(jì)算云能夠在10秒內(nèi)快速擴(kuò)展上千個(gè)容器,這種能力對(duì)于商品秒殺、商品詳情頁(yè)、圖片展示產(chǎn)生的突發(fā)流量而言都是及時(shí)雨。而對(duì)于流量的變化是比較均勻、有規(guī)律的網(wǎng)頁(yè),彈性計(jì)算云也提供了自動(dòng)擴(kuò)容的方式。
彈性計(jì)算云也能夠?qū)I(yè)務(wù)進(jìn)行非常靈活動(dòng)態(tài)的調(diào)整。對(duì)業(yè)務(wù)不再需要嚴(yán)格的規(guī)劃和使用,可以先粗放地提供,再根據(jù)使用的情況、流量、資源占用率進(jìn)行擴(kuò)容或收縮,包括實(shí)例數(shù)量不變而核心數(shù)量收縮,使得各個(gè)業(yè)務(wù)之間的資源分配能夠更合理。
網(wǎng)絡(luò)方面,物理層包括交換機(jī)、網(wǎng)卡都是純?nèi)f兆環(huán)境,軟件層仍是618開(kāi)放日介紹的VLAN+OVS,用OpenStack而不是Docker網(wǎng)絡(luò)。盡管Docker 1.7已支持Multi-host,劉海鋒認(rèn)為,Docker網(wǎng)絡(luò)還不夠好,京東彈性計(jì)算云更看重的是Docker成熟的對(duì)資源控制的功能。上面的應(yīng)用平臺(tái)是京東自研的,做的是資源跟業(yè)務(wù)之間的橋梁,它更多的是集成很多基礎(chǔ)的工具比如說(shuō)部署、監(jiān)管、報(bào)警方方面面,另外它做彈性和手工的集群調(diào)度。劉海鋒表示,因?yàn)榫〇|更了解自己的業(yè)務(wù),自己寫(xiě)的框架才能對(duì)京東原來(lái)的流程、基礎(chǔ)設(shè)施支持更好。
談到基礎(chǔ)設(shè)施建設(shè),劉海鋒表示“水很深”,因?yàn)槎畽C(jī)房、懂?dāng)?shù)據(jù)中心建設(shè)的人才比較匱乏,風(fēng)火水電網(wǎng)絡(luò)設(shè)備等等,很多經(jīng)驗(yàn)需要自己摸索。
云化的另一個(gè)感受,是整個(gè)技術(shù)平臺(tái)不管是私有云、存儲(chǔ)還是數(shù)據(jù)庫(kù)基礎(chǔ)軟件,為了迎接更大的業(yè)務(wù)規(guī)模需要提前做很多的工作。比如消息隊(duì)列,每到一個(gè)新階段就會(huì)遇見(jiàn)新的問(wèn)題,因此基礎(chǔ)架構(gòu)項(xiàng)目都是長(zhǎng)期的,需要有一個(gè)季度的前瞻性提前把做好,才不至于被動(dòng)地在追在業(yè)務(wù)后面去配合。
第三個(gè)方面的經(jīng)驗(yàn),就是要緊扣業(yè)務(wù)的需求,跟業(yè)務(wù)合作做基礎(chǔ)架構(gòu)的改革,獲得大家的認(rèn)可形成口碑效應(yīng),而不是一成不變做一個(gè)東西,通過(guò)管理的手段去推。
由此來(lái)看,此次全面云化也并不是專(zhuān)門(mén)為11.11做準(zhǔn)備,而是京東技術(shù)平臺(tái)不斷升級(jí)的一個(gè)重要節(jié)點(diǎn),之前的機(jī)房支撐京東目前的業(yè)務(wù)已經(jīng)有困難。事實(shí)上,已經(jīng)投入生產(chǎn)環(huán)境的新數(shù)據(jù)中心,也只是一期項(xiàng)目,劉海鋒透露,未來(lái)還有二期、三期的建設(shè),會(huì)有華東、華南的新數(shù)據(jù)中心,以滿(mǎn)足2016年的業(yè)務(wù)發(fā)展需求。
另一方面,京東應(yīng)用雖然目前完全基于彈性計(jì)算云架構(gòu),底層老機(jī)房仍在服役,當(dāng)然最終是要全部遷移到新機(jī)房的(預(yù)計(jì)老機(jī)房一個(gè)多季度之后完全淡出)。劉海鋒表示,遷移到新的機(jī)房,基礎(chǔ)架構(gòu)的挑戰(zhàn)只是一方面,建成新的基礎(chǔ)架構(gòu)、新的機(jī)房、新的軟件架構(gòu),要把原來(lái)的業(yè)務(wù)系統(tǒng)都梳理一遍,要把原來(lái)好的十多年系統(tǒng)都要遷移到新的數(shù)據(jù)庫(kù)里,然后最后新老機(jī)房都可以靈活的配比,挑戰(zhàn)都比較大。
王曉鐘:多交易中心+同城熱備,目標(biāo)20倍歷史峰值
2015年10月成功通過(guò)驗(yàn)收投入使用的還有“多中心交易項(xiàng)目”(一期)。往年618和11.11的備戰(zhàn),基本上是靠某一個(gè)機(jī)房做起來(lái),現(xiàn)在的流量和數(shù)據(jù)規(guī)模是以前的好幾倍,所以今年在機(jī)房擴(kuò)建和彈性云的基礎(chǔ)上,交易平臺(tái)系統(tǒng)和上下游多個(gè)系統(tǒng)協(xié)作做了多中心交易的重大技術(shù)改造,把整個(gè)交易的流量和數(shù)據(jù)分布到多個(gè)中心進(jìn)行,以突破同城機(jī)房擴(kuò)容的技術(shù)瓶頸,實(shí)現(xiàn)交易能力隨業(yè)務(wù)的發(fā)展水平擴(kuò)展,以及交易平臺(tái)的異地容災(zāi)與備份。
在設(shè)計(jì)上,多中心交易系統(tǒng)類(lèi)似實(shí)體商超,多個(gè)交易中心按用戶(hù)分流,建在不同地區(qū),用戶(hù)訪問(wèn)本地區(qū)的交易中心。在具體架構(gòu)上,多中心交易系統(tǒng)包括數(shù)個(gè)主中心和多個(gè)分中心,主中心與分中心之間完成實(shí)時(shí)交換數(shù)據(jù)。主數(shù)據(jù)(商品數(shù)據(jù)、商家數(shù)據(jù)、用戶(hù)數(shù)據(jù)等)的流向從主中心通過(guò)數(shù)據(jù)總線實(shí)時(shí)同步到分中心,分中心只讀;交易數(shù)據(jù)(訂單數(shù)據(jù))的流向從分中心實(shí)時(shí)同步到主中心;故障時(shí),分中心轉(zhuǎn)移到主中心。
項(xiàng)目一期啟用的是廊坊數(shù)據(jù)中心,實(shí)現(xiàn)了同城熱備,按照過(guò)去一年流量峰值的20倍做系統(tǒng)的流量規(guī)劃,因?yàn)樗綌U(kuò)展也不可能做到無(wú)限擴(kuò)展。異地?zé)醾漕A(yù)計(jì)明年11.11可以完成。
王曉鐘表示,構(gòu)建多交易中心,數(shù)據(jù)是最大的難點(diǎn)。整個(gè)交易數(shù)據(jù)可以分為用戶(hù)的數(shù)據(jù)(如購(gòu)物車(chē)、訂單的數(shù)據(jù))和商家的數(shù)據(jù)(如商品、促銷(xiāo)、庫(kù)存的數(shù)據(jù))。京東目前已經(jīng)在其中的部分中心把所有的商家數(shù)據(jù)做了熱備,按照一定的比例和流量,按照運(yùn)營(yíng)商分配過(guò)去,這樣機(jī)房之間可以承載流量。這樣有兩個(gè)好處:系統(tǒng)吞吐量提升了一倍;可用性提升,如果發(fā)生單邊數(shù)據(jù)丟失或者短時(shí)間不可寫(xiě),也能通過(guò)其他機(jī)房頂起來(lái)。
用戶(hù)數(shù)據(jù)目前還是冷備的形式,用戶(hù)訪問(wèn)機(jī)房A的數(shù)據(jù),有可能流量會(huì)回到冷備機(jī)房B,主要是解決數(shù)據(jù)庫(kù)的問(wèn)題,以及線上系統(tǒng)的穩(wěn)定性。
談到為何熱備和冷備并行,王曉鐘表示,首先,現(xiàn)在線上系統(tǒng)特別復(fù)雜,包括本地緩存以及各種鏈接的管理等等,而冷備集群沒(méi)有流量,一旦出了問(wèn)題把線上的流量導(dǎo)到冷備集群上,無(wú)法確保資源是否夠用,以及復(fù)雜系統(tǒng)是否可用。所以,未來(lái)至少京東交易平臺(tái)都會(huì)采用熱備技術(shù)。其次,熱備比冷備集群更有利于成本的優(yōu)化。
然而,熱備對(duì)軟件架構(gòu)的挑戰(zhàn)特別大。體現(xiàn)如下:
數(shù)據(jù)一致性。如果是熱備,寫(xiě)數(shù)據(jù)的時(shí)候兩邊的數(shù)據(jù)怎么保證一致是一個(gè)很大的問(wèn)題。
集群規(guī)模。冷備可以做小一點(diǎn)的規(guī)模,但是熱備集群規(guī)模要很大。京東整個(gè)交易系統(tǒng)是一個(gè)慢慢發(fā)展的過(guò)程,最開(kāi)始的適合軟件架構(gòu)還不成熟。
隨著交易量的增大,對(duì)線上高可用的要求也不一樣。隨著京東交易規(guī)模的增大,訂單量也在迅速增長(zhǎng),要求也巨增,架構(gòu)就跟著不同的系統(tǒng)要求做不同的變化。
王曉鐘以一個(gè)POP商家賣(mài)一件服裝為例進(jìn)行解析交易背后的數(shù)據(jù)與流程。商家想在京東實(shí)現(xiàn)賣(mài)衣服需要有衣服、價(jià)格和促銷(xiāo)、庫(kù)存的信息。用戶(hù)通過(guò)整個(gè)商城交易系統(tǒng)和前面的網(wǎng)站系統(tǒng)來(lái)發(fā)現(xiàn)這件衣服,有可能在首頁(yè)上發(fā)現(xiàn),也可能通過(guò)搜索和頻道頁(yè),用戶(hù)起碼用到這幾個(gè)系統(tǒng):?jiǎn)纹讽?yè)、購(gòu)物車(chē)、結(jié)算頁(yè)。在數(shù)據(jù)層面上來(lái)看,涉及到系統(tǒng)商品系統(tǒng)、促銷(xiāo)系統(tǒng)、庫(kù)存系統(tǒng)、用戶(hù)系統(tǒng)、購(gòu)物車(chē)系統(tǒng)和用戶(hù)訂單系統(tǒng)等。對(duì)于商品數(shù)據(jù)來(lái)說(shuō),京東現(xiàn)在在第二機(jī)房都是采用數(shù)據(jù)庫(kù)加緩沖的方式,兩邊數(shù)據(jù)庫(kù)都有數(shù)據(jù)。對(duì)于商品數(shù)據(jù)來(lái)說(shuō)第二機(jī)房的商品數(shù)據(jù)都是全量。
POP商家在系統(tǒng)里建了商品,通過(guò)后臺(tái)程序?qū)懭?。?shù)據(jù)寫(xiě)進(jìn)來(lái)以后,后臺(tái)有一個(gè)程序會(huì)把數(shù)據(jù)給分發(fā)到各個(gè)機(jī)房去。分發(fā)主數(shù)據(jù)節(jié)點(diǎn),再向下面的子數(shù)據(jù)節(jié)點(diǎn)分布。這樣商品數(shù)據(jù)、促銷(xiāo)數(shù)據(jù)包括庫(kù)存數(shù)據(jù)就是分發(fā)了。分發(fā)了以后,用戶(hù)那邊網(wǎng)站進(jìn)來(lái),因?yàn)榫W(wǎng)站和后臺(tái)數(shù)據(jù)相通過(guò),通過(guò)那幾個(gè)集群不管是搜索還是交易,就能查詢(xún)到這個(gè)數(shù)據(jù),是在前面機(jī)房又對(duì)這些數(shù)據(jù)進(jìn)行處理和分發(fā),就保證這用戶(hù)的流量不管是機(jī)房A還是機(jī)房B,看到的都是一樣的數(shù)據(jù),沒(méi)有任何的差別。
多中心交易的另外一點(diǎn),就是每個(gè)中心內(nèi)部還要在做異常流量和正常流量的詳細(xì)切分。正常流量就是正常用戶(hù)的下單,不會(huì)影響單頁(yè)和流量的巨大變化。異常分兩種:惡意攻擊和業(yè)務(wù)本身的特殊性帶來(lái)突發(fā)性的高流量(如秒殺)。前者是通過(guò)技術(shù)和不斷更新的策略來(lái)屏蔽。后者需要針對(duì)交易流程做大量的技術(shù)改造,因?yàn)槠胀ǖ慕灰琢鞒淌乔拜p后重(前面流量入口就是流量一般,后面的計(jì)算量大),秒殺是前重后輕,在多中心的架構(gòu)下做割裂,甚至物理的隔離,就保證兩邊的業(yè)務(wù)都能正常進(jìn)行。
楊光信:“京東大腦”的一二三四
今年初啟動(dòng)的京東大腦項(xiàng)目,其誕生與劉強(qiáng)東“效率是訂單的核心競(jìng)爭(zhēng)力”的理念一脈相承,目前主要產(chǎn)品是個(gè)性化推薦,已經(jīng)覆蓋PC端和移動(dòng)端(618的數(shù)據(jù),京東APP+微信+手Q三個(gè)平臺(tái)占到訂單總量的60%)。楊光信用“一二三四”來(lái)概括京東大腦的全景。
一個(gè)目標(biāo),即用人工智能(AI)技術(shù)提高京東電商的運(yùn)營(yíng)效率。
解決連接用戶(hù)和商品的兩個(gè)主要問(wèn)題:如何讓用戶(hù)最快地找到最合適的商品,如何讓各種各樣的商品最快地找到最合適的消費(fèi)者。
服務(wù)對(duì)象為三類(lèi)主體:為京東用戶(hù)提供個(gè)性化的體驗(yàn),為供應(yīng)商實(shí)產(chǎn)品設(shè)計(jì)、精準(zhǔn)營(yíng)銷(xiāo)的方案,以及提高京東平臺(tái)的倉(cāng)儲(chǔ)、配送、售后等各方面的運(yùn)營(yíng)效率。
四個(gè)技術(shù)層面:數(shù)據(jù)、模型、系統(tǒng)和應(yīng)用。
楊光信詳解了四個(gè)技術(shù)層面。
第一個(gè)技術(shù)層面是高質(zhì)量的電商數(shù)據(jù)。京東以自營(yíng)為主,杜絕商家刷單等現(xiàn)象,數(shù)據(jù)真正代表用戶(hù)意圖或者消費(fèi)習(xí)慣各個(gè)方面。京東大腦基于十幾年積累下來(lái)的用戶(hù)數(shù)據(jù),做很多的數(shù)據(jù)挖掘、分析,針對(duì)用戶(hù)、對(duì)產(chǎn)品、商家、小區(qū)分別進(jìn)行畫(huà)像。用戶(hù)的群體能夠得到非常準(zhǔn)確的描述,然后可以在上面實(shí)現(xiàn)個(gè)性化體驗(yàn)和營(yíng)銷(xiāo)等功能?;谟脩?hù)數(shù)據(jù)可以生成的比較準(zhǔn)確的用戶(hù)畫(huà)像,能夠描述用戶(hù)各種自然屬性,如性別、年齡、購(gòu)買(mǎi)的偏好、購(gòu)買(mǎi)力等。京東大腦經(jīng)過(guò)細(xì)致的分析還發(fā)現(xiàn),不同的用戶(hù)群體,也能夠表現(xiàn)出共同的特征,比如說(shuō)一個(gè)范圍一個(gè)小區(qū)或者一個(gè)寫(xiě)字樓里,可以把所有的用戶(hù)做一個(gè)整體來(lái)看,表現(xiàn)出來(lái)的特征跟其他的地區(qū)有非常高的區(qū)分。所以,基于小區(qū)畫(huà)像,也可實(shí)現(xiàn)個(gè)性化的一些效果。
第二個(gè)層次是機(jī)器學(xué)習(xí)的模型。電商產(chǎn)品推薦的本質(zhì)是呈現(xiàn)的排序,特別屏幕有限的移動(dòng)端,需要從海量商品中精挑細(xì)選出一些商品,然后根據(jù)各種不同的因素進(jìn)行排序,這與大而全的通用搜索完全不同。楊光信表示,京東大腦目前用到的排序因素有好幾百種。為了實(shí)現(xiàn)各種排序的功能,京東做了大量的機(jī)器學(xué)習(xí)建模工作,利用用戶(hù)在京東網(wǎng)站上留下的數(shù)據(jù),包括他自己或者網(wǎng)上其他的數(shù)據(jù)構(gòu)建相應(yīng)的模型,對(duì)單個(gè)的模型進(jìn)行預(yù)測(cè)、評(píng)估,并綜合運(yùn)用。京東還預(yù)測(cè)某個(gè)具體的商品隨著季節(jié)、天氣、熱點(diǎn)事件、區(qū)域等不同因素的銷(xiāo)量變化情況,借助這些模型可以?xún)?yōu)化采銷(xiāo)、配送方面的流程。
第三個(gè)層面是系統(tǒng)。有了數(shù)據(jù)和模型,京東希望用機(jī)器而不是人工的方法來(lái)尋找一個(gè)最優(yōu)解。楊光信認(rèn)為,人看到的范圍是畢竟有限,機(jī)器能把各種不同的因素綜合起來(lái)找到最優(yōu)解,系統(tǒng)能夠提供所需要的高性能。他透露,截至目前,京東每秒鐘要做的預(yù)測(cè)請(qǐng)求是好幾萬(wàn)的量級(jí),將來(lái)隨著京東的發(fā)展,業(yè)務(wù)規(guī)模越來(lái)越大,對(duì)系統(tǒng)性能、底層計(jì)算平臺(tái)的要求也會(huì)越來(lái)越高。希望系統(tǒng)能夠智能,通過(guò)數(shù)據(jù)、模型來(lái)完成業(yè)務(wù),并且性能是可擴(kuò)展的。
第四個(gè)層面是基于數(shù)據(jù)、模型、系統(tǒng)搭出來(lái)的各種各樣的應(yīng)用,解決用戶(hù)的痛點(diǎn)和平臺(tái)運(yùn)營(yíng)的痛點(diǎn)。比如供貨商開(kāi)發(fā)出一個(gè)新的產(chǎn)品,他希望能夠在京東上找可能會(huì)對(duì)該產(chǎn)品感興趣的用戶(hù),發(fā)放一些試用品或者優(yōu)惠券去吸引這些用戶(hù),基于京東大腦的數(shù)據(jù)、模型和系統(tǒng)的基礎(chǔ),商家可以找這些潛在用戶(hù),有針對(duì)性地做好進(jìn)一步的篩選、轉(zhuǎn)化。
京東大腦并非大而全的戰(zhàn)略投資,亦非由DNN實(shí)驗(yàn)室牽頭做,而是京東有十幾年的數(shù)據(jù),在業(yè)務(wù)需求方面有積累,在技術(shù)存儲(chǔ)備上有一定的基礎(chǔ),可謂順勢(shì)而為。正如張晨所說(shuō),京東大腦不是想來(lái)玩一個(gè)技術(shù)游戲,而是在針對(duì)業(yè)務(wù)的需求和挑戰(zhàn)。
根據(jù)用戶(hù)行為歷史記錄進(jìn)行召回、排序,獲得最佳的推薦結(jié)果必須要避免重復(fù)推薦,還需要模型能夠隨著用戶(hù)情況的變化而更新。京東大腦根據(jù)商品的不同屬性分別做相似、相關(guān)的召回,這也需要用戶(hù)畫(huà)像技術(shù)有新的提升。單純的用戶(hù)畫(huà)像按照年齡、性別等屬性區(qū)分用戶(hù)是有局限的,比如同一個(gè)賬戶(hù)為多個(gè)消費(fèi)者購(gòu)買(mǎi)商品,每次購(gòu)買(mǎi)都會(huì)涉及不同消費(fèi)類(lèi)型的概率和分布。京東利用用戶(hù)畫(huà)像,結(jié)果隨著用戶(hù)畫(huà)像動(dòng)態(tài)的特征,和一些相關(guān)聯(lián)的東西出來(lái)。楊光信認(rèn)為,現(xiàn)在京東有大量的數(shù)據(jù)分布在各個(gè)系統(tǒng)里面,隨著時(shí)間的推移,有針對(duì)性給用戶(hù)推送東西是可以做到更準(zhǔn)確的。
另外一個(gè)問(wèn)題是冷啟動(dòng)用戶(hù)。楊光信介紹,以前的做法,是看別的用戶(hù)在看什么或者買(mǎi)什么就給他推薦,或者干脆編輯選好的東西。這能解決一部分的問(wèn)題,但是沒(méi)有對(duì)冷啟動(dòng)用戶(hù)做好服務(wù)。小區(qū)畫(huà)像能夠部分解決這個(gè)問(wèn)題。在移動(dòng)客戶(hù)端可以很容易獲得地理位置,根據(jù)該位置周?chē)那闆r去猜用戶(hù)可能感興趣的東西。PC端因?yàn)閲?guó)內(nèi)IP到實(shí)際地理位置的轉(zhuǎn)換不那么準(zhǔn)確,精確度要低一些。之后京東大腦可以實(shí)時(shí)捕捉到用戶(hù)行為信息,然后調(diào)整推薦結(jié)果,隨著用戶(hù)和系統(tǒng)交互增多,就會(huì)達(dá)到老用戶(hù)同樣的體驗(yàn)。
用機(jī)器代替人力是大勢(shì)所趨,但目前機(jī)器的智能程度還不能完全承擔(dān)大腦的工作。比如機(jī)器模型訓(xùn)練工作中,特征工程極為重要。如何從用戶(hù)的交易數(shù)據(jù)或者瀏覽數(shù)據(jù)中提取特征,人工團(tuán)隊(duì)根據(jù)不同的數(shù)據(jù)采用不同的工具和手段,根據(jù)過(guò)去銷(xiāo)量從有用戶(hù)留下來(lái)的數(shù)據(jù)去做一些分析、挖掘,這些特征能達(dá)到的效果比機(jī)器單純用原始數(shù)據(jù)的效果好很多。楊光信表示,京東現(xiàn)在的特征是百分之百人工設(shè)置的,未來(lái)會(huì)嘗試通過(guò)深度學(xué)習(xí)的方法從原始數(shù)據(jù)挖掘一部分特征出來(lái),以解決人工在選擇的特征方面有可能帶來(lái)的一些局限。
關(guān)于系統(tǒng)性能,京東大腦要怎么考慮的不是發(fā)揮一臺(tái)機(jī)器的作用,而是讓更多的機(jī)器并行的能力充分發(fā)揮出來(lái)。這涉及到如何把一個(gè)問(wèn)題把它分解成多個(gè)機(jī)器上,讓多個(gè)機(jī)器協(xié)同執(zhí)行,最后產(chǎn)生一個(gè)單個(gè)機(jī)器所生成不了結(jié)果出來(lái)。以決策樹(shù)的過(guò)程為例,要用訓(xùn)練樣本一層一層往下分解,每一層往下分解的時(shí)候,把訓(xùn)練樣本以及每一個(gè)特征的熵或者遞減的值計(jì)算出來(lái),計(jì)算量非常非常大,對(duì)于并行計(jì)算化有非常多的挑戰(zhàn)。目前在開(kāi)源領(lǐng)域以及很多大公司都有這方面的嘗試,但是京東也做了很多的努力。另外一個(gè)例子是用隨機(jī)森林的方法,用很多樹(shù)共同投票的結(jié)果,最后相當(dāng)于綜合性的結(jié)果,每一個(gè)樹(shù)不需要那么多樣品,一顆樹(shù)在一個(gè)比較小的機(jī)器規(guī)模上可以訓(xùn)練出來(lái),所以把森林里很多的樹(shù)分配到大的集群上,訓(xùn)練出成百上千的規(guī)模預(yù)測(cè)模型出來(lái)。這樣相對(duì)單個(gè)決策樹(shù)模型在精度方面能夠有非常大的提高,同時(shí)對(duì)計(jì)算系統(tǒng)和數(shù)據(jù)的要求能夠降低。
如前所述,張晨表示,數(shù)據(jù)是京東的核心競(jìng)爭(zhēng)力,而發(fā)揮數(shù)據(jù)價(jià)值的京東大腦才剛剛起步,未來(lái)還會(huì)有更多的應(yīng)用。例如,京東目前還在試驗(yàn)一種機(jī)器巡視的方法,基于后臺(tái)的監(jiān)控,對(duì)流量或者用戶(hù)特定行為進(jìn)行分析,檢測(cè)一些不正常的交易(如羊毛黨)。
歡迎掃描中云網(wǎng) 官方微信公眾號(hào)