林琳
最近看新聞,發(fā)現(xiàn)數(shù)據(jù)科學(xué)專(zhuān)業(yè)已經(jīng)是北京大學(xué)門(mén)檻較高的專(zhuān)業(yè)了,其實(shí)“Data Science”這個(gè)詞“性感”快十年了,對(duì)互聯(lián)網(wǎng)行業(yè)而言,相當(dāng)于“性感”了一個(gè)世紀(jì)。
從“數(shù)據(jù)說(shuō)話”“DT時(shí)代”到“數(shù)據(jù)中臺(tái)”“數(shù)據(jù)驅(qū)動(dòng)(Data Drive/Data Driven)”,數(shù)據(jù)體系的不斷演進(jìn)正在持續(xù)地改變大家的工作與決策方式、革新大家的思維方式;同時(shí)也產(chǎn)生了新的商業(yè)邏輯和發(fā)展機(jī)會(huì)。
1976年,Pascal作者Nikalus Wirth提出了,Algorithms + Data Structures = Programs.
就像之前的SOA、云計(jì)算等概念一樣,目前數(shù)據(jù)科學(xué)自身的概念還在不斷的變革,各家公司的實(shí)踐者們一邊摸索、一邊獲利,一邊總結(jié)、一邊布道;還參雜著很多湊熱鬧的同志把概念折騰的更加模糊。所以數(shù)據(jù)科學(xué)本身的能力邊界、方法論體系和最佳實(shí)踐等還不夠完善,有很多問(wèn)題沒(méi)有辦法很好地回答。由此就會(huì)產(chǎn)生一些疑惑和誤會(huì),“強(qiáng)行數(shù)據(jù)”“隨意數(shù)據(jù)”“政治正確數(shù)據(jù)”等情況比較常見(jiàn),無(wú)論是實(shí)際的操作層面,還是方法層面,都存在著一些不小的誤會(huì)。
1數(shù)據(jù)質(zhì)量殺死自動(dòng)/智能決策
網(wǎng)易嚴(yán)選的很多業(yè)務(wù),比如風(fēng)控業(yè)務(wù),其核心驅(qū)動(dòng)力是數(shù)據(jù)及算法。在風(fēng)控業(yè)務(wù)起步的時(shí)候就建立了數(shù)據(jù)算法驅(qū)動(dòng)風(fēng)控的方法體系,所以能保證很小的團(tuán)隊(duì)(3個(gè)人)來(lái)支撐嚴(yán)選幾十個(gè)內(nèi)外部風(fēng)險(xiǎn)場(chǎng)景,每天執(zhí)行百萬(wàn)次風(fēng)險(xiǎn)決策。當(dāng)然,這是數(shù)據(jù)驅(qū)動(dòng)自動(dòng)決策/智能決策帶來(lái)的力量。成功的美好或許會(huì)讓你按耐不住地想把很多業(yè)務(wù)運(yùn)轉(zhuǎn)方式轉(zhuǎn)型過(guò)來(lái),但遺憾的是,數(shù)據(jù)質(zhì)量保障的缺失會(huì)讓這一切變成隨時(shí)會(huì)倒塌的空中樓閣。事實(shí)上,絕大部分組織對(duì)數(shù)據(jù)質(zhì)量的理解支撐不了更加自動(dòng)和智能的決策場(chǎng)景。強(qiáng)行轉(zhuǎn)型與減員增效會(huì)讓他們?cè)痉€(wěn)定的業(yè)務(wù)接近崩潰。
嚴(yán)選風(fēng)控出現(xiàn)過(guò)幾次大的故障都跟數(shù)據(jù)質(zhì)量緊密相關(guān)。2019年8月份的時(shí)候,風(fēng)控在執(zhí)行每周誤判巡檢的時(shí)候發(fā)現(xiàn)整體疑似誤判率增加了4倍。最終定位原因是設(shè)備號(hào)相關(guān)的日志內(nèi)容有些異常,從而導(dǎo)致了相當(dāng)一部分用戶(hù)的行為(簽到操作)被錯(cuò)誤的執(zhí)行了攔截。
這是一個(gè)很有意思的案例。一些關(guān)鍵的決策:比如用戶(hù)是不是壞人?某個(gè)商品要采購(gòu)多少量?可能會(huì)依賴(lài)于不被重視的某個(gè)線上日志的一小部分內(nèi)容。整個(gè)質(zhì)量保障體系很難把視角投入到某個(gè)具體應(yīng)用的某個(gè)日志字段在高壓力下會(huì)不會(huì)出錯(cuò)?在傳統(tǒng)的應(yīng)用服務(wù)質(zhì)量保障理念里,日志字段的某個(gè)偶爾的小錯(cuò)誤,沒(méi)人會(huì)把它當(dāng)作bug,開(kāi)發(fā)人員更不會(huì)去關(guān)注。但如果一旦把數(shù)據(jù)當(dāng)作了生產(chǎn)資料,如果我們不對(duì)應(yīng)用質(zhì)量保障的理念和工具進(jìn)行革新,你的大量的數(shù)據(jù)分析報(bào)告、訓(xùn)練好的算法模型以及做出的決策可能很不可靠,因?yàn)樯a(chǎn)資料本身就是垃圾,Garbage in,garbage out。
還有一個(gè)驚人的現(xiàn)狀是,大量用于生產(chǎn)數(shù)據(jù)的復(fù)雜SQL并沒(méi)有進(jìn)行真正的測(cè)試,甚至,大量的數(shù)據(jù)系統(tǒng)并不存在所謂的測(cè)試環(huán)境。我們很難像測(cè)試線上服務(wù)(比如訂單系統(tǒng))那樣去測(cè)試數(shù)據(jù)生產(chǎn)過(guò)程的正確性。那么這樣通過(guò)幾萬(wàn)行,甚至幾十萬(wàn)行SQL生產(chǎn)出來(lái)的數(shù)據(jù)到底能不能用?這個(gè)問(wèn)題其實(shí)很難回答。
數(shù)據(jù)的可靠性是組織在轉(zhuǎn)型數(shù)據(jù)驅(qū)動(dòng)過(guò)程中一個(gè)非常大的陷阱。
大家都在討論數(shù)據(jù)質(zhì)量的重要性,但是內(nèi)心又默默覺(jué)得這個(gè)事情比較低級(jí)。因此,很少見(jiàn)到有團(tuán)隊(duì)會(huì)把大量聰明智慧投入到數(shù)據(jù)質(zhì)量的保障上。
除了資源投入的缺失,很多數(shù)據(jù)團(tuán)隊(duì)對(duì)數(shù)據(jù)質(zhì)量的認(rèn)知也是各不相同。曾經(jīng)跟一位在數(shù)據(jù)行業(yè)從業(yè)15年,為某知名公司數(shù)據(jù)體系做出巨大貢獻(xiàn)的前輩做過(guò)一次深入溝通,聊起數(shù)據(jù)質(zhì)量,“你覺(jué)得數(shù)據(jù)質(zhì)量是什么?”他的回答是:“數(shù)據(jù)質(zhì)量,真正需要考慮的是指標(biāo)一致性。”。瞧瞧,就算是非常資深的同行,他的認(rèn)知還是不夠完整,按他對(duì)數(shù)據(jù)質(zhì)量的理解,數(shù)據(jù)的支撐能做到報(bào)表給人看,這個(gè)層面就很完美了,要落地到戰(zhàn)術(shù)層,落地到線上自動(dòng)決策基本不可行(因?yàn)閿?shù)據(jù)質(zhì)量的故障難以像線上程序故障一樣快速修復(fù),它是一個(gè)持續(xù)污染的過(guò)程)。
數(shù)據(jù)做為智能決策的輸入,是動(dòng)態(tài)變化的。它沒(méi)法像對(duì)代碼的依賴(lài)那樣做靜態(tài)分析,它的依賴(lài)層次動(dòng)態(tài)而不穩(wěn)定。
2數(shù)據(jù)科學(xué)的“科學(xué)”在哪
數(shù)據(jù)科學(xué)是常常說(shuō)起的一個(gè)詞,也是形容我們?nèi)粘9ぷ鞯囊粋€(gè)詞,但當(dāng)我們說(shuō)起的時(shí)候,內(nèi)心就會(huì)有些心虛,就光看到數(shù)據(jù)了,“科學(xué)”在哪里?如果沒(méi)有”科學(xué)“的部分,我們產(chǎn)出的結(jié)論會(huì)不會(huì)有問(wèn)題?
這是一個(gè)最常見(jiàn)的問(wèn)題,數(shù)據(jù)科學(xué)的從業(yè)者們,不知道什么是”科學(xué)“。所以“江湖”上才會(huì)有SQL Boy, SQL Girl的稱(chēng)呼。
一個(gè)常見(jiàn)的問(wèn)題是數(shù)據(jù)指標(biāo)之間的相關(guān)性到底是不是真的相關(guān)?我們做數(shù)據(jù)分析往往能看到很多有趣的相關(guān)性,比如最近幾個(gè)月買(mǎi)了拖鞋的用戶(hù),看起來(lái)有更大的可能性在最近一個(gè)月復(fù)購(gòu)另外一個(gè)商品。但是,這個(gè)相關(guān)性到底是不是真的存在,還是只是偶然的巧合?分析報(bào)告很容易對(duì)這個(gè)問(wèn)題視而不見(jiàn)。但如果這個(gè)相關(guān)性本身經(jīng)不起推敲,它又如何來(lái)指導(dǎo)我們的工作呢?數(shù)據(jù)分析報(bào)告難道要靠運(yùn)氣來(lái)驅(qū)動(dòng)業(yè)務(wù)發(fā)展么?
就算有不錯(cuò)的統(tǒng)計(jì)基礎(chǔ),給每個(gè)假設(shè)都加上了P Value,往往還是很容易把相關(guān)性與因果性給搞混。兩個(gè)事情相關(guān),并不能得出結(jié)論說(shuō)他們之間互為因果,我們需要通過(guò)因果分析的方法,為數(shù)據(jù)之間的相關(guān)性提出符合業(yè)務(wù)邏輯和商業(yè)邏輯的解釋。
如果數(shù)據(jù)分析遺漏了因果分析這個(gè)過(guò)程,就會(huì)得出一些奇怪的結(jié)論。比如,我們發(fā)現(xiàn)腳大的用戶(hù),買(mǎi)的鞋子一般也是大號(hào)。如果缺乏基于業(yè)務(wù)邏輯的因果分析我們可能會(huì)這樣指導(dǎo)運(yùn)營(yíng)工作:為了讓用戶(hù)的腳變大,我們應(yīng)該多賣(mài)大號(hào)的鞋子給他們。
但有的時(shí)候,我們很難直接分析出數(shù)據(jù)之間的因果關(guān)系,很難直觀地得出結(jié)論,這個(gè)時(shí)候,我們需要借助科學(xué)實(shí)驗(yàn),幫助我們更深入地理解業(yè)務(wù)。
如何去做科學(xué)實(shí)驗(yàn),結(jié)合滴滴謝梁的觀點(diǎn),總結(jié)如下:
通過(guò)對(duì)數(shù)據(jù)的敏銳度和業(yè)務(wù)的熟悉程度,來(lái)發(fā)現(xiàn)和定義問(wèn)題;
提出結(jié)構(gòu)化、可量化的假設(shè)。
設(shè)計(jì)驗(yàn)證實(shí)驗(yàn)。科學(xué)與實(shí)驗(yàn)是緊密關(guān)聯(lián)的,很多公司往往利用實(shí)驗(yàn)來(lái)判斷方案的好壞,但其實(shí)實(shí)驗(yàn)更多的是用于幫助驗(yàn)證假設(shè),幫助更加深入地理解我們的用戶(hù)。用今天頭條CEO的話說(shuō),更多的時(shí)候,AB測(cè)試幫助我們理解用戶(hù),而不是幫助我們決策。設(shè)計(jì)一個(gè)好的實(shí)驗(yàn)并不容易,需要根據(jù)假設(shè)梳理出要驗(yàn)證的指標(biāo)、樣本集以及可控制的因子(往往是流量)。設(shè)計(jì)實(shí)驗(yàn),需要極強(qiáng)的專(zhuān)業(yè)性。
收集與分析數(shù)據(jù)。分析數(shù)據(jù)并不僅是直觀地去看趨勢(shì)的高低。分析數(shù)據(jù)首先需要對(duì)業(yè)務(wù)的主要指標(biāo)及其相關(guān)性有清晰的概念,需要把指標(biāo)之間的相關(guān)因子量化,甚至可計(jì)算。個(gè)人認(rèn)為是先有結(jié)構(gòu)化、系統(tǒng)化和量化的體系,再有數(shù)據(jù)分析。所幸的是,結(jié)構(gòu)化的體系我們可以用系統(tǒng)和服務(wù)來(lái)支撐。
分析人員需要專(zhuān)業(yè)的量化分析能力和統(tǒng)計(jì)學(xué)能力。
3操縱,誤導(dǎo),數(shù)據(jù)的民主化不足
數(shù)據(jù)民主化在國(guó)外數(shù)據(jù)社區(qū)討論的很多,國(guó)內(nèi)聊的比較少。數(shù)據(jù)科學(xué)家們通過(guò)“黑魔法”制造出一些模型來(lái),然后告訴業(yè)務(wù)同事該怎么決策,告訴高層業(yè)務(wù)指標(biāo)完成的好不好。數(shù)據(jù)的能力被限制在某一個(gè)專(zhuān)業(yè)團(tuán)隊(duì),但它的產(chǎn)出卻又跟業(yè)務(wù)緊密相關(guān),這些未知會(huì)給業(yè)務(wù)人員和管理層帶來(lái)恐懼與不安,數(shù)據(jù)團(tuán)隊(duì)給的結(jié)論會(huì)不會(huì)有可能是被操縱的?會(huì)不會(huì)出現(xiàn)有意無(wú)意的誤導(dǎo)?這些問(wèn)題會(huì)很容易讓團(tuán)隊(duì)之間滋生不信任。
所以數(shù)據(jù)民主化不足帶來(lái)的一個(gè)重要問(wèn)題就是信任問(wèn)題,那該怎么解決?
嚴(yán)選在一次產(chǎn)技共創(chuàng)會(huì)中有同事提出,要跟業(yè)務(wù)“談戀愛(ài)”。對(duì)于眼下的現(xiàn)實(shí),這確實(shí)是解決信任問(wèn)題的一個(gè)好辦法。阿里曾經(jīng)的數(shù)據(jù)一把手車(chē)品覺(jué)老師也說(shuō)過(guò)類(lèi)似的話:數(shù)據(jù)同學(xué)要會(huì)“混、通、曬”,跟業(yè)務(wù)同吃同行,建立信任才能互相成功。
但這終究不是一個(gè)可規(guī)模化和標(biāo)準(zhǔn)化的解決方案。如何去降低數(shù)據(jù)使用的門(mén)檻,讓一切更直觀和更容易解釋?zhuān)课覀冮_(kāi)展的一些項(xiàng)目,例如SQL on AI、Data Intelligence System(DIS)以及算法平臺(tái)等,一個(gè)共同的目標(biāo)是降低數(shù)據(jù)使用門(mén)檻,并通過(guò)產(chǎn)品的方式固化甚至可視化數(shù)據(jù)分析過(guò)程。
4數(shù)據(jù)預(yù)測(cè)的成功不僅是算法模型
老板們經(jīng)常會(huì)把算法能力簡(jiǎn)單化:預(yù)測(cè)的不準(zhǔn)?找?guī)讉€(gè)算法專(zhuān)家做個(gè)模型就能搞定!遺憾的是,現(xiàn)實(shí)并不這么簡(jiǎn)單,可能找100個(gè)頂尖的算法專(zhuān)家都沒(méi)用。
有人見(jiàn)過(guò)用算法來(lái)預(yù)測(cè)下一輪雙色球中獎(jiǎng)號(hào)碼的么?有人用算法來(lái)預(yù)測(cè)接近混沌狀態(tài)的股市漲落么?作為一個(gè)旁觀者,能利用算法來(lái)預(yù)測(cè)意甲的每場(chǎng)比賽成績(jī)么?
有的業(yè)務(wù)問(wèn)題本身是無(wú)法預(yù)測(cè)的,因?yàn)樗^(guò)去沒(méi)有關(guān)系(比如雙色球);有的業(yè)務(wù)問(wèn)題預(yù)測(cè)成本很高,短時(shí)間內(nèi)無(wú)法做出有價(jià)值的模型(比如預(yù)測(cè)股市、預(yù)測(cè)比賽等),需要考慮投入與回報(bào)。事實(shí)上,很多算法的成功落地,不光是需要有合適的模型,還需要大量維度的數(shù)據(jù)作為生產(chǎn)資料,更關(guān)鍵的是要有一個(gè)完善可靠的算法工程體系。而后者,往往會(huì)被決策者忽略。
決策者在考慮利用算法模型去預(yù)測(cè)未來(lái)時(shí),他需要想明白投入與產(chǎn)出,組織需要投入的不止是幾位算法專(zhuān)家就行,還需要建設(shè)完善的數(shù)據(jù)基礎(chǔ)體系,還需要建設(shè)完善的算法工程體系。決策者如果期望數(shù)據(jù)和算法能發(fā)揮突破性的效應(yīng),需要有魄力把成本投入到自己目光不能及的地方,比如基礎(chǔ)數(shù)據(jù)體系,比如算法工程。
5空中樓閣———基礎(chǔ)設(shè)施與基礎(chǔ)能力的不完備
這個(gè)問(wèn)題比較抽象,對(duì)于BI、算法和數(shù)據(jù)產(chǎn)品的同學(xué)而言可能不好理解。不過(guò)大家只需要記住:數(shù)據(jù)的最底層,搖搖欲墜、并不堅(jiān)實(shí),同樣需要一個(gè)團(tuán)隊(duì)精心守護(hù)。
大家在興奮地玩耍數(shù)據(jù),利用數(shù)據(jù)來(lái)驅(qū)動(dòng)業(yè)務(wù)前進(jìn)的時(shí)候,如果回頭望望做Data Infra的同學(xué),如果他們告訴你其實(shí)你在用的數(shù)據(jù)能不能真的算出來(lái)、有沒(méi)有算對(duì),他們也沒(méi)多少信心的時(shí)候,你會(huì)不會(huì)覺(jué)得心驚肉跳,會(huì)不會(huì)覺(jué)得人生其實(shí)有些虛無(wú)?如果大家有機(jī)會(huì)采訪下各個(gè)互聯(lián)網(wǎng)公司,可以問(wèn)問(wèn)他們被抱怨最多或者故障最多的技術(shù)團(tuán)隊(duì)是哪個(gè)?相信答案都比較一致:“大數(shù)據(jù)基礎(chǔ)團(tuán)隊(duì)”,包括嚴(yán)選的前面幾年,這個(gè)情況也非常嚴(yán)重(當(dāng)然現(xiàn)在也沒(méi)好多少)。數(shù)據(jù)故障頻出,數(shù)據(jù)產(chǎn)出排期長(zhǎng)、節(jié)奏慢和不穩(wěn)定等情況都很常見(jiàn),很多時(shí)候我們是用睡覺(jué)時(shí)間在做人肉保障。每每回想起來(lái),都會(huì)心驚。
這當(dāng)然并不是因?yàn)榇髷?shù)據(jù)基礎(chǔ)行業(yè)的從業(yè)者敬業(yè)精神不足或者能力不足。而是因?yàn)榇髷?shù)據(jù)體系其實(shí)并沒(méi)有一個(gè)非常堅(jiān)實(shí)的工程基礎(chǔ)。
(1)數(shù)據(jù)的基礎(chǔ)設(shè)施可靠性不足:數(shù)據(jù)的采集系統(tǒng)、數(shù)據(jù)的存儲(chǔ)系統(tǒng)、數(shù)據(jù)的計(jì)算系統(tǒng)和數(shù)據(jù)的分析引擎,這些服務(wù)的可靠性相比其他的在線服務(wù)低一大截。數(shù)據(jù)平臺(tái)每天的定時(shí)數(shù)據(jù)計(jì)算服務(wù),比如Hive或者spark,成功率如果有98 %,已經(jīng)算是很不錯(cuò)了,而線上服務(wù)系統(tǒng),如果可靠率長(zhǎng)期在98 %以下,相關(guān)團(tuán)隊(duì)的人員很難堅(jiān)持一年不被優(yōu)化。就算數(shù)據(jù)成功地被計(jì)算出來(lái)了,我們的分析引擎,比如impala,查詢(xún)成功率也長(zhǎng)期低于95 %,在嚴(yán)選這個(gè)數(shù)據(jù)還要更差一些,impala的查詢(xún)失敗或者超時(shí),幾乎每天都有不少。
(2)計(jì)算模型不完備和廣泛的誤解:大數(shù)據(jù)的計(jì)算有2個(gè)模型:Streaming和Batch。2個(gè)模型對(duì)應(yīng)的基礎(chǔ)設(shè)施各自獨(dú)立發(fā)展,誰(shuí)也不理誰(shuí)。同時(shí),由于信息流轉(zhuǎn)的速度問(wèn)題,也有人把這2個(gè)模型稱(chēng)為實(shí)時(shí)計(jì)算和離線計(jì)算。雖然,Streaming &實(shí)時(shí)計(jì)算和Batch &離線計(jì)算在很多現(xiàn)實(shí)場(chǎng)景中存在著一致性,但本質(zhì)上,它們是兩回事。甚至很多從業(yè)者也無(wú)法清晰地分清楚這些基本概念,把實(shí)時(shí)計(jì)算和流計(jì)算等同,這給數(shù)據(jù)工作帶來(lái)了巨大的困擾。
為了適配這2個(gè)計(jì)算模型,很多組織的Data Infrastructure團(tuán)隊(duì)會(huì)有獨(dú)立的流計(jì)算團(tuán)隊(duì)和批處理團(tuán)隊(duì);會(huì)有實(shí)時(shí)數(shù)倉(cāng)和離線數(shù)倉(cāng),會(huì)有實(shí)時(shí)指標(biāo)和離線指標(biāo)等。這些數(shù)倉(cāng)和指標(biāo)的研發(fā)人員存在著割裂,數(shù)倉(cāng)建設(shè)方法論、指標(biāo)定義也不盡相同。維護(hù)成本和解釋成本都很高,出錯(cuò)幾率也很大。很常見(jiàn)的情況是一個(gè)業(yè)務(wù)的數(shù)據(jù)需求,往往需要拆解成實(shí)時(shí)和離線2個(gè)方案,共同去實(shí)現(xiàn)。現(xiàn)在,這個(gè)糟糕的局面沒(méi)有變的更好。
LinkedIn、Uber和阿里等公司都在嘗試做批流融合,嚴(yán)選也在嘗試,在做計(jì)算資源管理和調(diào)度層面的融合。但是,融合2種完全不同的計(jì)算模型,是一件不美好的事情,直覺(jué)上也不大對(duì)。個(gè)人覺(jué)得現(xiàn)實(shí)的業(yè)務(wù)問(wèn)題可能并不是聚焦在批流2種計(jì)算模型的不兼容上,而是聚焦在實(shí)時(shí)和離線2個(gè)時(shí)間維度上的不兼容。由于歷史原因,實(shí)時(shí)的數(shù)據(jù)往往需要依賴(lài)流計(jì)算模式來(lái)產(chǎn)生,從而產(chǎn)生了實(shí)時(shí)計(jì)算等于流計(jì)算的誤會(huì)。而融合實(shí)時(shí)數(shù)據(jù)與離線計(jì)算,解決起來(lái)就容易很多,流處理也需要走向更適合它的場(chǎng)景。
其實(shí)能總結(jié)的問(wèn)題遠(yuǎn)不止這些,比如我們會(huì)擔(dān)心“算法替代思考會(huì)不會(huì)傷害組織的遠(yuǎn)見(jiàn)?”“大規(guī)模依賴(lài)A/B測(cè)試做決策,可能會(huì)導(dǎo)致運(yùn)營(yíng)策略的短視”等。
計(jì)算機(jī)與網(wǎng)絡(luò)2019年18期