滴滴首席數(shù)據(jù)科學(xué)家謝梁(左)與螞蟻金服研究員王益開啟共建SQLFlow之旅
2019年7月,滴滴的數(shù)據(jù)科學(xué)(Data Science)團(tuán)隊(duì)的幾名數(shù)據(jù)科學(xué)家在北京新澄海大廈見到了來自螞蟻金服的幾位工程師。在那之前兩個(gè)月,螞蟻金服從事AI基礎(chǔ)架構(gòu)研發(fā)的王益團(tuán)隊(duì)開源了一款機(jī)器學(xué)習(xí)工具SQLFLow,將SQL程序翻譯成Python程序,調(diào)用數(shù)據(jù)庫(kù)和AI引擎,實(shí)現(xiàn)端到端的AI。滴滴首席數(shù)據(jù)科學(xué)家謝梁敏銳地關(guān)注到這個(gè)項(xiàng)目。這次拜訪雙方一拍即合,開啟了共建SQLFlow之旅。
用SQLFlow構(gòu)建AI的訓(xùn)練和預(yù)測(cè)任務(wù)(動(dòng)態(tài)圖)
數(shù)據(jù)分析師的普適AI
數(shù)據(jù)驅(qū)動(dòng)決策是很多公司的追求,在國(guó)內(nèi)很多業(yè)務(wù)人員都了解SQL,但是對(duì)于AI、深度學(xué)習(xí)模型的訓(xùn)練,需要長(zhǎng)時(shí)間系統(tǒng)性的學(xué)習(xí),有一定的門檻。SQLFLow的出現(xiàn)讓包括數(shù)據(jù)分析師在內(nèi)的業(yè)務(wù)人員通過寫簡(jiǎn)單的SQL去調(diào)用AI模型成為了可能。
滴滴數(shù)據(jù)科學(xué)團(tuán)隊(duì)長(zhǎng)期地直面一線業(yè)務(wù),了解業(yè)務(wù)需求,也沉淀了很多常用模型。本次合作雙方希望優(yōu)勢(shì)互補(bǔ)共同助力AI的落地,據(jù)悉合作分為三步,第一步滴滴為螞蟻金服貢獻(xiàn)更多針對(duì)于業(yè)務(wù)產(chǎn)品的理解和洞見;第二步滴滴將公司自身業(yè)務(wù)場(chǎng)景最有價(jià)值用的最好的模型貢獻(xiàn)到SQLFLow;第三步滴滴加入到建設(shè)到整個(gè)SQLFLow開源社區(qū)的建設(shè),雙方要在模型、社區(qū)、文化等全方位共建。
SQLFlow的技術(shù)架構(gòu)
一個(gè)多月的時(shí)間,滴滴已經(jīng)為SQLFLow貢獻(xiàn)了基于DNN分類預(yù)測(cè)模型、可解釋模型和無監(jiān)督聚類模型三個(gè)高價(jià)值模型。這三個(gè)模型覆蓋的場(chǎng)景非常廣泛,對(duì)于滴滴內(nèi)部來說,包括網(wǎng)約車、單車、金融等在內(nèi)的諸多業(yè)務(wù)場(chǎng)景都可應(yīng)用起來,于外部而言,“因?yàn)檎麄€(gè)模型它是一種基礎(chǔ)能力,其實(shí)它不會(huì)局限于某一個(gè)公司或某一個(gè)行業(yè),它具有普適性?!钡蔚胃呒?jí)數(shù)據(jù)科學(xué)家高梓堯強(qiáng)調(diào)。
SQLFlow和滴滴數(shù)據(jù)的整合邏輯
比如分類預(yù)測(cè)模型,適用于做產(chǎn)品增長(zhǎng)的場(chǎng)景,對(duì)特定人群進(jìn)行定向推薦。而無監(jiān)督聚類模型,也就是模式識(shí)別,在滴滴的產(chǎn)品的應(yīng)用非常廣,比如會(huì)根據(jù)司機(jī)出車時(shí)長(zhǎng)分布,去整合歸納司機(jī)出車的偏好,更好地為司機(jī)提供調(diào)度建議,進(jìn)而幫助緩解出行供需。
滴滴首席數(shù)據(jù)科學(xué)家謝梁認(rèn)為在共建SQLFlow過程中,充分體現(xiàn)了算法和數(shù)據(jù)科學(xué)在對(duì)數(shù)據(jù)的理解和應(yīng)用上的兩個(gè)不同,以及雙方優(yōu)勢(shì)互補(bǔ)形成1+1大于2的合力效果。因?yàn)閷?duì)于傳統(tǒng)的算法來講主要強(qiáng)調(diào)對(duì)于預(yù)測(cè)一個(gè)給定事件的預(yù)測(cè)精準(zhǔn)性。但是數(shù)據(jù)科學(xué)在預(yù)測(cè)精準(zhǔn)性之上,還強(qiáng)調(diào)預(yù)測(cè)的可解釋性。實(shí)際上在更廣泛的商業(yè)層面上,比如運(yùn)營(yíng)、營(yíng)銷等更需要了解為什么會(huì)這這樣發(fā)生,這對(duì)于業(yè)務(wù)戰(zhàn)略制定、營(yíng)銷方案的確定,以及整個(gè)產(chǎn)品序列的設(shè)計(jì)都有非常大的幫助。
滴滴數(shù)據(jù)科學(xué)團(tuán)隊(duì)在過去不到兩個(gè)月的共建工作中顯著擴(kuò)大了SQLFlow的應(yīng)用場(chǎng)景。根據(jù)螞蟻金服SQLFlow項(xiàng)目的產(chǎn)品負(fù)責(zé)人劉勇峰介紹,滴滴的同事們建議并且參與研發(fā)了SQLFlow對(duì)接XGBoost的功能,從而在深度學(xué)習(xí)模型之外支持樹模型;以及對(duì)接unsupervised learning的能力,支持聚類分析。此外,SQLFlow基于SHAP支持了深度學(xué)習(xí)模型和樹模型的圖示化解釋。SQLFlow也支持了滴滴常用的Hive數(shù)據(jù)庫(kù)系統(tǒng)。
基于XGBoost的汽車價(jià)格預(yù)測(cè)模型(數(shù)據(jù)來自Kaggle)的SHAP解釋圖
(注:SHAP值表征了每個(gè)特征對(duì)模型輸出的影響,如圖中,較小的engine_hp“引擎馬力”值會(huì)降低汽車的預(yù)測(cè)價(jià)格)
“我們是希望通過SQLFlow真正能夠把數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)、科學(xué)決策的思想,能夠在中國(guó)傳播得更好更遠(yuǎn),也希望就是能夠通過我們自己的努力,真正讓AI模型能力大眾化和普及化,然后使得我們整個(gè)國(guó)內(nèi)的數(shù)據(jù)分析的科學(xué)性、合理性和洞察性,能夠逐步提升,甚至達(dá)到國(guó)際領(lǐng)先?!备哞鲌蛘f。
而所有參與項(xiàng)目的同事們對(duì)SQLFlow的未來都有更大的期待,這是對(duì)于開源社區(qū)作為一種高效率的工作模式的信任。
打造一個(gè)SQL花園生態(tài)
在強(qiáng)調(diào)數(shù)據(jù)驅(qū)動(dòng)的滴滴其實(shí)一直積極參與到開源建設(shè)中,截至目前,滴滴和螞蟻金服分別開源了數(shù)十個(gè)項(xiàng)目。SQLFlow是雙方開源共建的首秀。
對(duì)于雙方僅一個(gè)多月的時(shí)間就能夠共建三個(gè)高價(jià)值的模型,謝梁認(rèn)為很重要的原因是SQLFlow已經(jīng)給滴滴搭建好了底層能力,滴滴相當(dāng)于做了一個(gè)交通領(lǐng)域的幾個(gè)核心插件,并且通過滴滴插件能力,對(duì)整個(gè)SQLFlow覆蓋面和深度方面的底層能力進(jìn)行了驗(yàn)證和提升,“那么再把這個(gè)基礎(chǔ)打好之后,我們就相當(dāng)于造了一個(gè)大的花園,我們把土都鋪好了,需要什么營(yíng)養(yǎng)的土,要種什么類型的花,都給他做好了,之后就需要有更多的農(nóng)民伯伯一起來種田,他們要去種向日葵,我們畢竟精力有限可能就是以種小麥和種主糧為主,更多的經(jīng)濟(jì)作物就需要其他開源社區(qū)的同學(xué)一起來貢獻(xiàn)?!?/p>
在整個(gè)SQLFlow開源社區(qū)建設(shè)方面雙方都有更大的愿景,滴滴的分析團(tuán)隊(duì)總結(jié)的很多模型在BI 領(lǐng)域具備普適性,而SQLFlow在螞蟻的場(chǎng)景使用模型在金融領(lǐng)域頗有普適性,未來要讓更多的人去用上普適的AI能力,在SQLFlow社區(qū)之上會(huì)形成一個(gè)開源貨架式的交易市場(chǎng),更多懂業(yè)務(wù)的人把更多商業(yè)場(chǎng)景抽象成模型打造成模型庫(kù),模型庫(kù)是SQLFlow 生態(tài)中的重要一環(huán),雙方正在討論如何共建。“你就像走進(jìn)一個(gè)超市,里面有10萬個(gè)SQL,每一個(gè)SQL就是一個(gè)實(shí)現(xiàn)了你商業(yè)邏輯的模型,你就拿來用就行了,這是終極的一個(gè)目標(biāo)”,謝梁興奮地談到。
當(dāng)然現(xiàn)在的SQLFlow還是一個(gè)非常年輕的開源項(xiàng)目,需要更多的呵護(hù)。雖然目前在開源合作方面中國(guó)相比美國(guó)還有不少差距,但正是因?yàn)樵絹碓蕉嗟墓竞蛡€(gè)人去投身其中為之貢獻(xiàn),差距正在縮小。
實(shí)際上,幾乎所有的SQLFlow項(xiàng)目成員都是利用業(yè)余時(shí)間參與到開源項(xiàng)目中。比如滴滴資深算法工程師陳祥,他平時(shí)負(fù)責(zé)數(shù)據(jù)治理和應(yīng)用方向上數(shù)據(jù)、應(yīng)用與算法的結(jié)合和落地, 在8月初聽到SQLFlow項(xiàng)目就決定參與進(jìn)來,未來他也會(huì)號(hào)召很多的人參與到開源建設(shè)中。
“開源社區(qū)所說的構(gòu)建大生態(tài),其實(shí)大生態(tài)還包含著另外一層,就是大家互相學(xué)習(xí),然后行業(yè)內(nèi)的所有從業(yè)人員進(jìn)行知識(shí)交流。所以當(dāng)各行各業(yè)的同學(xué)都在里面貢獻(xiàn)自己的經(jīng)驗(yàn)、技能時(shí),我們其實(shí)也能從其他的同學(xué)那學(xué)習(xí)到很多處理數(shù)據(jù),或者解決實(shí)際問題的方法?!备哞鲌蛩郧∪缙浞值卦忈屃碎_源社區(qū)眾人拾柴火焰高的魅力。
Gartner預(yù)測(cè)“到2020年,AI技術(shù)將普遍出現(xiàn)在幾乎每一個(gè)新的軟件產(chǎn)品和服務(wù)中?!边@其中有螞蟻金服與滴滴DS團(tuán)隊(duì)的一份力。
項(xiàng)目地址
歡迎感興趣的同學(xué)加入社區(qū)討論:
項(xiàng)目官網(wǎng):https://sqlflow.org
GitHub地址:https://github.com/sql-machine-learning/sqlflow
您也可以使用docker,運(yùn)行文章中的汽車價(jià)格預(yù)測(cè)模型 :
docker run -p 8888:8888 sqlflow/sqlflow:didi