讓 AI 無處不在:滴滴與螞蟻金服開源共建 SQLFlow

支付寶技術團隊發表於2019-10-23

2018 年 1 月,Oracle 的官方部落格上發表了一篇文章,標題是“It's Pervasive:AI Is Everywhere”。作為全球最著名的商業資料庫系統提供商,Oracle 在這篇文章裡歷數了 AI 在企業資訊系統中的發展空間。在面向終端使用者的網際網路行業,巨頭們招募 AI 專家,用 Python 和 C++ 打造服務大眾的特定 AI 能力——搜尋、推薦、以及精準定向的網際網路廣告系統。在企業業務中,使用 SQL 的分析師是大多數。

讓 AI 無處不在:滴滴與螞蟻金服開源共建 SQLFlow

滴滴首席資料科學家謝梁(左)與螞蟻金服研究員王益開啟共建SQLFlow之旅

2019 年 7 月,滴滴的資料科學(Data Science)團隊的幾名資料科學家在北京新澄海大廈見到了來自螞蟻金服的幾位工程師。在那之前兩個月,螞蟻金服從事 AI 基礎架構研發的王益團隊開源了一款機器學習工具 SQLFLow,將 SQL 程式翻譯成 Python 程式,呼叫資料庫和 AI 引擎,實現端到端的 AI。滴滴首席資料科學家謝梁敏銳地關注到這個專案。這次拜訪雙方一拍即合,開啟了共建 SQLFlow 之旅。

讓 AI 無處不在:滴滴與螞蟻金服開源共建 SQLFlow

用 SQLFlow 構建 AI 的訓練和預測任務

資料分析師的普適 AI 

資料驅動決策是很多公司的追求,在國內很多業務人員都瞭解 SQL,但是對於 AI、深度學習模型的訓練,需要長時間系統性的學習,有一定的門檻。SQLFLow 的出現讓包括資料分析師在內的業務人員透過寫簡單的 SQL 去呼叫 AI 模型成為了可能。滴滴資料科學團隊長期地直面一線業務,瞭解業務需求,也沉澱了很多常用模型。本次合作雙方希望優勢互補共同助力 AI 的落地,據悉合作分為三步,第一步滴滴為螞蟻金服貢獻更多針對於業務產品的理解和洞見;第二步滴滴將公司自身業務場景最有價值用的最好的模型貢獻到 SQLFLow;第三步滴滴加入到建設到整個 SQLFLow 開源社群的建設,雙方要在模型、社群、文化等全方位共建。

讓 AI 無處不在:滴滴與螞蟻金服開源共建 SQLFlow

SQLFlow的技術架構

一個多月的時間,滴滴已經為 SQLFLow 貢獻了基於 DNN 分類預測模型、可解釋模型和無監督聚類模型三個高價值模型。這三個模型覆蓋的場景非常廣泛,對於滴滴內部來說,包括網約車、單車、金融等在內的諸多業務場景都可應用起來,於外部而言,“因為整個模型它是一種基礎能力,其實它不會侷限於某一個公司或某一個行業,它具有普適性。”滴滴高階資料科學家高梓堯強調。

讓 AI 無處不在:滴滴與螞蟻金服開源共建 SQLFlow

SQLFlow 和滴滴資料的整合邏輯

比如分類預測模型,適用於做產品增長的場景,對特定人群進行定向推薦。而無監督聚類模型,也就是模式識別,在滴滴的產品的應用非常廣,比如會根據司機出車時長分佈,去整合歸納司機出車的偏好,更好地為司機提供排程建議,進而幫助緩解出行供需。

滴滴首席資料科學家謝梁認為在共建 SQLFlow 過程中,充分體現了演算法和資料科學在對資料的理解和應用上的兩個不同,以及雙方優勢互補形成 1+1 大於 2 的合力效果。因為對於傳統的演算法來講主要強調對於預測一個給定事件的預測精準性。但是資料科學在預測精準性之上,還強調預測的可解釋性。實際上在更廣泛的商業層面上,比如運營、營銷等更需要了解為什麼會這這樣發生,這對於業務戰略制定、營銷方案的確定,以及整個產品序列的設計都有非常大的幫助。

滴滴資料科學團隊在過去不到兩個月的共建工作中顯著擴大了 SQLFlow 的應用場景。根據螞蟻金服 SQLFlow 專案的產品負責人劉勇峰介紹,滴滴的同事們建議並且參與研發了 SQLFlow 對接 XGBoost 的功能,從而在深度學習模型之外支援樹模型;以及對接 unsupervised learning 的能力,支援聚類分析。此外,SQLFlow 基於 SHAP 支援了深度學習模型和樹模型的圖示化解釋。SQLFlow 也支援了滴滴常用的 Hive 資料庫系統。

讓 AI 無處不在:滴滴與螞蟻金服開源共建 SQLFlow

基於 XGBoost 的汽車價格預測模型(資料來自 Kaggle)的 SHAP 解釋圖(注:SHAP 值表徵了每個特徵對模型輸出的影響,如圖中,較小的 engine_hp“引擎馬力”值會降低汽車的預測價格)

“我們是希望透過 SQLFlow 真正能夠把資料驅動業務、科學決策的思想,能夠在中國傳播得更好更遠,也希望就是能夠透過我們自己的努力,真正讓 AI 模型能力大眾化和普及化,然後使得我們整個國內的資料分析的科學性、合理性和洞察性,能夠逐步提升,甚至達到國際領先。”高梓堯說。

而所有參與專案的同事們對 SQLFlow 的未來都有更大的期待,這是對於開源社群作為一種高效率的工作模式的信任。

打造一個 SQL 花園生態

在強調資料驅動的滴滴其實一直積極參與到開源建設中,截至目前,滴滴和螞蟻金服分別開源了數十個專案。SQLFlow 是雙方開源共建的首秀。

對於雙方僅一個多月的時間就能夠共建三個高價值的模型,謝梁認為很重要的原因是 SQLFlow 已經給滴滴搭建好了底層能力,滴滴相當於做了一個交通領域的幾個核心外掛,並且透過滴滴外掛能力,對整個 SQLFlow 覆蓋面和深度方面的底層能力進行了驗證和提升,“那麼再把這個基礎打好之後,我們就相當於造了一個大的花園,我們把土都鋪好了,需要什麼營養的土,要種什麼型別的花,都給他做好了,之後就需要有更多的農民伯伯一起來種田,他們要去種向日葵,我們畢竟精力有限可能就是以種小麥和種主糧為主,更多的經濟作物就需要其他開源社群的同學一起來貢獻。”

在整個 SQLFlow 開源社群建設方面雙方都有更大的願景,滴滴的分析團隊總結的很多模型在 BI 領域具備普適性,而 SQLFlow 在螞蟻的場景使用模型在金融領域頗有普適性,未來要讓更多的人去用上普適的 AI 能力,在 SQLFlow 社群之上會形成一個開源貨架式的交易市場,更多懂業務的人把更多商業場景抽象成模型打造成模型庫,模型庫是 SQLFlow 生態中的重要一環,雙方正在討論如何共建。“你就像走進一個超市,裡面有 10萬個 SQL,每一個 SQL 就是一個實現了你商業邏輯的模型,你就拿來用就行了,這是終極的一個目標”,謝梁興奮地談到。

當然現在的 SQLFlow 還是一個非常年輕的開源專案,需要更多的呵護。雖然目前在開源合作方面中國相比美國還有不少差距,但正是因為越來越多的公司和個人去投身其中為之貢獻,差距正在縮小。實際上,幾乎所有的 SQLFlow 專案成員都是利用業餘時間參與到開源專案中。比如滴滴資深演算法工程師陳祥,他平時負責資料治理和應用方向上資料、應用與演算法的結合和落地, 在 8 月初聽到 SQLFlow 專案就決定參與進來,未來他也會號召很多的人參與到開源建設中。

“開源社群所說的構建大生態,其實大生態還包含著另外一層,就是大家互相學習,然後行業內的所有從業人員進行知識交流。所以當各行各業的同學都在裡面貢獻自己的經驗、技能時,我們其實也能從其他的同學那學習到很多處理資料,或者解決實際問題的方法。”高梓堯所言恰如其分地詮釋了開源社群眾人拾柴火焰高的魅力。

Gartner 預測“到 2020 年,AI 技術將普遍出現在幾乎每一個新的軟體產品和服務中。”這其中有螞蟻金服與滴滴 DS 團隊的一份力。

專案地址

歡迎感興趣的同學加入社群討論:

專案官網:

GitHub地址:

您也可以使用docker,執行文章中的汽車價格預測模型: docker run -p 8888:8888 sqlflow/sqlflow:didi


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69904796/viewspace-2661064/,如需轉載,請註明出處,否則將追究法律責任。

相關文章