企業(yè)對數(shù)據(jù)的利用有三個(gè)階段:響應(yīng)運(yùn)營,響應(yīng)業(yè)務(wù),創(chuàng)造業(yè)務(wù)。數(shù)據(jù)中臺解決的是響應(yīng)業(yè)務(wù)的問題,第三階段“創(chuàng)造業(yè)務(wù)”,則需要AI中臺。
數(shù)據(jù)中臺的意義
數(shù)據(jù)中臺對一個(gè)企業(yè),起著至關(guān)重要的作用。在數(shù)據(jù)中臺這個(gè)稱謂成型之前,各個(gè)企業(yè)也都在用不同的方式來盡可能地利用數(shù)據(jù)產(chǎn)生價(jià)值。只是在這個(gè)過程中,也不得不處理著數(shù)據(jù)帶來的各種問題,比如各個(gè)業(yè)務(wù)系統(tǒng)經(jīng)年累月以煙囪架構(gòu)形式存在而導(dǎo)致的數(shù)據(jù)孤島、數(shù)據(jù)隔離、數(shù)據(jù)不一致等等。因?yàn)檫@些問題實(shí)在是過于繁雜,企業(yè)開始建立數(shù)據(jù)團(tuán)隊(duì),或者數(shù)據(jù)部分開始繼續(xù)數(shù)據(jù)整頓工作,因此數(shù)據(jù)倉庫、數(shù)據(jù)湖、主數(shù)據(jù)治理等一系列的工作職能應(yīng)運(yùn)而生。
本質(zhì)上,這些工作都是因?yàn)闃I(yè)務(wù)需要不得不進(jìn)行的一系列數(shù)據(jù)治理的動作,對于如何利用數(shù)據(jù)來發(fā)力,并沒有形成一個(gè)強(qiáng)有力的底座。有點(diǎn)像“頭痛醫(yī)頭、腳痛醫(yī)腳”:各個(gè)業(yè)務(wù)系統(tǒng)規(guī)范不一致了,于是開展了元數(shù)據(jù)治理;數(shù)據(jù)分析的時(shí)候數(shù)據(jù)關(guān)聯(lián)不上了,于是不得不進(jìn)行主數(shù)據(jù)治理。
這樣的數(shù)據(jù)治理工作在進(jìn)行了很多年后,數(shù)據(jù)中臺這個(gè)概念逐漸有人提出了,阿里的《企業(yè)IT轉(zhuǎn)型直到:阿里巴巴中臺戰(zhàn)略思想與架構(gòu)實(shí)踐》這本書更是把用中臺戰(zhàn)略把這個(gè)概念推向了一個(gè)極致。中臺戰(zhàn)略中,人們常說:大中臺,小前臺。在這種模式下,頻繁出現(xiàn)的字眼是:共享。那么,到底共享的是什么?答案便是數(shù)據(jù)的服務(wù)。中臺戰(zhàn)略,并不是搭建一個(gè)數(shù)據(jù)平臺,但是中臺的大部分服務(wù)都是圍繞數(shù)據(jù)而生,更加巧妙的地方是中臺戰(zhàn)略讓數(shù)據(jù)在數(shù)據(jù)平臺和業(yè)務(wù)系統(tǒng)之間形成了一個(gè)良性的閉環(huán)。于是,數(shù)據(jù)和業(yè)務(wù)系統(tǒng)融為了一體。
過去,數(shù)據(jù)依賴于手工進(jìn)行,沒有軟件;有了數(shù)據(jù)中臺,以功能驅(qū)動,固定的數(shù)據(jù)輸入,得到固定的數(shù)據(jù)輸出,構(gòu)建出能用的服務(wù)變得更快速、更加的標(biāo)準(zhǔn)化,解決了業(yè)務(wù)側(cè)的“能用”問題。但是,如何以固定的輸入,以產(chǎn)生更靈活多變的輸出,提供比如個(gè)性化的服務(wù),做到“好用”,數(shù)據(jù)中臺并沒有給出答案。
在建立了數(shù)據(jù)中臺架構(gòu)之后,我們逐步認(rèn)識到,原來數(shù)據(jù)的價(jià)值并不只是個(gè)運(yùn)營出個(gè)參考的分析報(bào)表,做一系列的預(yù)算。數(shù)據(jù)中臺為大型企業(yè)數(shù)據(jù)利用最大化提供了一個(gè)初始的參照方向。當(dāng)我們發(fā)現(xiàn),深度學(xué)習(xí)、機(jī)器學(xué)習(xí)等等一系列技術(shù)開始在這個(gè)平臺下施展拳腳的時(shí)候,我們可能已經(jīng)清晰地認(rèn)識到:中臺并不是數(shù)據(jù)分析利用的終點(diǎn)。
企業(yè)利用數(shù)據(jù)的三個(gè)發(fā)展階段
如果回顧數(shù)據(jù)分析的歷程,可以歸納發(fā)現(xiàn)數(shù)據(jù)利用大概有如下三個(gè)階段:
響應(yīng)運(yùn)營
響應(yīng)業(yè)務(wù)
創(chuàng)造業(yè)務(wù)
第一階段:響應(yīng)運(yùn)營
響應(yīng)運(yùn)營是數(shù)據(jù)分析最直接也是最原始的訴求。沒有誰不不會關(guān)心自己的用戶留存率,沒有誰不關(guān)心自己的營收額;出現(xiàn)了故障、如何分析定位,如何預(yù)測預(yù)防,運(yùn)用數(shù)據(jù)分析自然不過。但是在運(yùn)營分析過程中,也發(fā)現(xiàn)了另外一系列的問題,比如各個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)存儲格式、存儲介質(zhì)都不相同,在進(jìn)行基本的運(yùn)營分析的時(shí)候,無法流暢的進(jìn)行。此時(shí),不得不進(jìn)行一系列的數(shù)據(jù)治理。常見的主數(shù)據(jù)、元數(shù)據(jù)治理就是發(fā)生在這個(gè)階段,只是數(shù)據(jù)倉庫將主數(shù)據(jù)和元數(shù)據(jù)治理進(jìn)行了規(guī)范化。
第二階段:響應(yīng)業(yè)務(wù)
數(shù)據(jù)分析停留在運(yùn)營階段的時(shí)候,對企業(yè)來講最大的感受就是投入產(chǎn)出比不對稱。這個(gè)問題在大數(shù)據(jù)爆發(fā)的時(shí)間點(diǎn)上,更為凸顯。例如在今天的業(yè)務(wù)場景下,傳統(tǒng)的數(shù)據(jù)倉庫已經(jīng)解決不了海量數(shù)據(jù)、異構(gòu)數(shù)據(jù)等一系列問題,而大行其道的大數(shù)據(jù)分析技術(shù),硬件要求高、學(xué)習(xí)門檻高。要實(shí)施一個(gè)大數(shù)據(jù)平臺,成立一個(gè)大數(shù)據(jù)團(tuán)隊(duì),這是一個(gè)不小的成本開銷,更何況現(xiàn)在有不少數(shù)據(jù)分析團(tuán)隊(duì)要借助機(jī)器學(xué)習(xí)等手段,來對數(shù)據(jù)做分析來響應(yīng)運(yùn)營,這導(dǎo)致基礎(chǔ)設(shè)施成本、整體門檻進(jìn)一步提高。
于是像數(shù)據(jù)中臺這樣的思想就被提了出來:既然數(shù)據(jù)是從業(yè)務(wù)系統(tǒng)產(chǎn)生的,那么是否業(yè)務(wù)系統(tǒng)也需要數(shù)據(jù)分析結(jié)果呢?對于數(shù)據(jù)平臺來說,數(shù)據(jù)平臺本身提供兩大能力:數(shù)據(jù)存儲和數(shù)據(jù)計(jì)算的能力。那么業(yè)務(wù)系統(tǒng)的數(shù)據(jù)存儲和數(shù)據(jù)計(jì)算能力是否可以剝離到數(shù)據(jù)平臺,僅僅讓業(yè)務(wù)系統(tǒng)很輕量的維護(hù)自己的業(yè)務(wù)流程操作?所以利用中臺剝離了復(fù)雜的業(yè)務(wù)環(huán)境,再配合微服務(wù)等技術(shù),一下子讓人感受到了“數(shù)據(jù)服務(wù)的共享”。
而對業(yè)務(wù)場景來說,很多時(shí)候是需要數(shù)據(jù)服務(wù)的,例如用戶的基本信息管理、用戶的行為數(shù)據(jù)分析,這些數(shù)據(jù)不但可以暴露給業(yè)務(wù)系統(tǒng)使用,甚至可以直接丟給終端用戶自行使用。類似這種契合點(diǎn),讓數(shù)據(jù)平臺變成了一個(gè)服務(wù),提供給業(yè)務(wù)系統(tǒng)。而對數(shù)據(jù)服務(wù)的使用者來說,在消費(fèi)數(shù)據(jù)的同時(shí)也在繼續(xù)產(chǎn)生數(shù)據(jù),這樣在數(shù)據(jù)平臺和業(yè)務(wù)系統(tǒng)之間就構(gòu)成了一個(gè)良性的閉環(huán)。
第三階段:創(chuàng)造業(yè)務(wù)
業(yè)務(wù)不會總停滯不前,因?yàn)槿说纳顣淖?,想要的體驗(yàn)會改變。過去,大家到視頻平臺看視頻,利用通用的數(shù)據(jù)服務(wù),不同的用戶看到的視頻推薦都是一樣的;很快,我們就會發(fā)現(xiàn)根據(jù)用戶的偏好,推薦個(gè)性化的視頻幾乎是必不可少的體驗(yàn)要求。然后,我們就開始思考:數(shù)據(jù)是否可以變成個(gè)性化服務(wù)提供給終端用戶?這是一個(gè)非常簡單、常見的例子。當(dāng)這樣的個(gè)性化數(shù)據(jù)服務(wù)越來越多之后,各種服務(wù)不斷組合,就會創(chuàng)造出很多可能性,進(jìn)而提供創(chuàng)新的個(gè)性化體驗(yàn)和新的業(yè)務(wù)模式,這就是數(shù)據(jù)服務(wù)用于創(chuàng)造業(yè)務(wù)的階段。
雖然有了數(shù)據(jù)中臺,但是當(dāng)有大規(guī)模的、基于智能算法的數(shù)據(jù)服務(wù)需要落地實(shí)現(xiàn)時(shí),依然會碰到以下挑戰(zhàn)。
如何對規(guī)?;闹悄芊?wù)進(jìn)行管理:當(dāng)只是零星三兩個(gè)智能服務(wù)的時(shí)候,通過手動人工管理等方式,不會有太大的問題;然則,當(dāng)智能服務(wù)成千上萬的時(shí)候,如何管理、如何構(gòu)建、如何高效維護(hù),就會成為很大的麻煩。
沒有良好的工程實(shí)踐來保證質(zhì)量和流暢性:對于常規(guī)的應(yīng)用軟件開發(fā)我們有TDD、自動化測試、CI/CD等成熟的工程實(shí)踐做保障;但是在智能服務(wù)這一塊,無論是編程開發(fā)、還是服務(wù)構(gòu)建,都沒有成熟的工程實(shí)踐,也沒有良好的基礎(chǔ)設(shè)施支撐,非常依賴于構(gòu)建這個(gè)服務(wù)的數(shù)據(jù)工程師的個(gè)人能力,導(dǎo)致在實(shí)施過程中,問題難以復(fù)現(xiàn),難于定位。
數(shù)據(jù)安全、治理和數(shù)據(jù)量不充分:數(shù)據(jù)中臺的價(jià)值點(diǎn),在于提供了數(shù)據(jù)的計(jì)算和存儲的能力,但是在智能服務(wù)構(gòu)建下,光有計(jì)算和存儲還不夠。治理到什么程度的數(shù)據(jù),才能較好的支撐服務(wù)的構(gòu)建?個(gè)性化的服務(wù)與數(shù)據(jù)安全沖突的時(shí)候,如何抉擇?數(shù)據(jù)量不足導(dǎo)致算法模型泛化能力太差,怎么辦?
從數(shù)據(jù)中臺到AI中臺
什么是AI中臺?
數(shù)據(jù)中臺本身還是圍繞數(shù)據(jù)服務(wù)來進(jìn)行的,而非圍繞智能服務(wù)來進(jìn)行的。未來的操作系統(tǒng),一定會越來越個(gè)性化,甚至每一個(gè)人看到的登錄界面都不一樣,系統(tǒng)可以根據(jù)對應(yīng)的終端用戶自行呈現(xiàn)符合該用戶習(xí)慣的系統(tǒng)界面。那么對于這樣的場景和服務(wù),我們需要怎樣的平臺?整個(gè)軟件開發(fā)架構(gòu)和流程是否也都會相應(yīng)重造?
回到創(chuàng)造業(yè)務(wù)的需求。以簡單的銷售業(yè)務(wù)為例,數(shù)據(jù)中臺提供的服務(wù)本質(zhì)如下圖所示:
圖4 軟件平臺的業(yè)務(wù)模式
這是目前最常見的軟件平臺的運(yùn)作方式,開發(fā)人員開發(fā)出了對應(yīng)的軟件服務(wù)后,提供給終端用戶使用,雖然會有銷售售賣該服務(wù)。這種方式,好比是拿著一個(gè)錘子找釘子,而不是給釘子快速制作一把合適的錘子再去售賣。
能不能這樣:將整個(gè)軟件組裝出來的服務(wù),包裝成個(gè)性化的產(chǎn)品一樣去售賣,提供量身定做的服務(wù)?那么整個(gè)運(yùn)營模式就變成:平臺提供了一種快速構(gòu)建智能服務(wù)的過程,服務(wù)售賣者利用這個(gè)平臺,自己動手構(gòu)建出服務(wù),拿出去售賣,類似一個(gè)提供“智能業(yè)務(wù)服務(wù)的PaaS”。
如果嘗試給AI中臺下個(gè)定義:
AI中臺是一個(gè)用來構(gòu)建大規(guī)模智能服務(wù)的基礎(chǔ)設(shè)施,對企業(yè)需要的算法模型提供了分步構(gòu)建和全生命周期管理的服務(wù),讓企業(yè)可以將自己的業(yè)務(wù)不斷下沉為一個(gè)個(gè)算法模型,以達(dá)到復(fù)用、組合創(chuàng)新、規(guī)?;瘶?gòu)建智能服務(wù)的目的。
借助一個(gè)平臺,將軟件的服務(wù)個(gè)性化的創(chuàng)造,這將是未來的發(fā)展趨勢。在麥肯錫的分析報(bào)告中,我們可以看到,各個(gè)企業(yè)或者行業(yè),都在第三個(gè)階段做了不同的探索和努力。
從數(shù)據(jù)中臺演進(jìn)到AI中臺
從AI中臺落地實(shí)施的方式來看,AI中臺可以是數(shù)據(jù)中臺的進(jìn)一步延伸,從數(shù)據(jù)中臺一步一步演進(jìn)過去。
首先,從基礎(chǔ)設(shè)施角度,可以將數(shù)據(jù)中臺智能化
所謂的智能化,是指將在數(shù)據(jù)中臺進(jìn)行的一系列的數(shù)據(jù)服務(wù)構(gòu)建操作進(jìn)行智能化實(shí)現(xiàn),讓數(shù)據(jù)的接入、存儲、分析展現(xiàn)、訓(xùn)練、到構(gòu)建管道(pipeline)都更加自動化。例如,對于通用的CI/CD來說,測試不過則會構(gòu)建失敗,那對于AI中臺下,就要考慮一個(gè)推薦模型構(gòu)建失敗的條件是什么?答案可能是“本次模型的準(zhǔn)確率低于上一次構(gòu)建的準(zhǔn)確率”的時(shí)候,CI應(yīng)該被構(gòu)建失敗。在實(shí)踐中,這可能是CI構(gòu)建過程的維度之一,還會有很多其他指標(biāo)和維度。我們就需要在現(xiàn)有的數(shù)據(jù)平臺的CI中,實(shí)現(xiàn)并自動化這些指標(biāo)和維度,使之更加智能化。
其次,對于中臺使用者來說,將煙囪式模型構(gòu)建過程改造為可復(fù)用的模型構(gòu)建過程
目前基于數(shù)據(jù)中臺的一個(gè)智能服務(wù)模型開發(fā)來說,流程如下:
這基本類似于一個(gè)橫向的煙囪架構(gòu),導(dǎo)致目前對一個(gè)基于算法模型產(chǎn)生的服務(wù)進(jìn)行拆分的時(shí)候,都不是特別地順暢。如果大部分業(yè)務(wù)場景依舊以流程為主還好,如果新業(yè)務(wù)需要引入多的智能服務(wù),那么一系列的問題就會暴露出來:
借助于現(xiàn)有數(shù)據(jù)平臺手工進(jìn)行數(shù)據(jù)操作
煙囪架構(gòu)開發(fā),對人員能力要求高
環(huán)節(jié)無法有效拆分,響應(yīng)周期慢
智能場景規(guī)模化,管理復(fù)雜
訓(xùn)練,部署,發(fā)布依賴于手工部署缺乏有效的流水線
和數(shù)據(jù)平臺孤立,缺乏統(tǒng)一的數(shù)據(jù)服務(wù)接口
基礎(chǔ)設(shè)施隔離,無法動態(tài)進(jìn)行資源的分配和管理
AI中臺需要具備構(gòu)建智能服務(wù)的能力,就要求我們對服務(wù)構(gòu)建的過程進(jìn)行如下拆分:
(圖7 可復(fù)用的模型構(gòu)建過程)
首先需要從基礎(chǔ)設(shè)施層面進(jìn)行集成。常規(guī)的數(shù)據(jù)中臺依賴于大量的CPU和內(nèi)存,相反,機(jī)器學(xué)習(xí)模型對GPU的依賴反而更高,但是又不能脫離數(shù)據(jù)中臺,因?yàn)樗琅f需要利用數(shù)據(jù)中臺的存儲和計(jì)算能力來處理大量的數(shù)據(jù)。所以如何通過一個(gè)接口、一個(gè)調(diào)度器、一個(gè)管道pipeline來集成整個(gè)工作流,就成了需要考量的事情了。
AI中臺至少應(yīng)該分為以下幾個(gè)層級:
基礎(chǔ)設(shè)施:對CPU做虛擬化的技術(shù)已經(jīng)相對成熟,但是智能服務(wù)依賴的更多的是GPU,那么GPU如何做虛擬化,算法模型訓(xùn)練和數(shù)據(jù)是否需要共同使用相同的機(jī)器,還是集群相互隔離,都是需要在一開始設(shè)計(jì)好的。
資源管理:一切都是資源,無論是網(wǎng)絡(luò)、內(nèi)存,還是數(shù)據(jù)、服務(wù),都是資源。對于模型構(gòu)建者,關(guān)注的只是算法本身,如果該構(gòu)建者需要數(shù)據(jù),那這樣的數(shù)據(jù)就是一個(gè)資源而已,無論資源是以環(huán)境變量的方式提供、還是以服務(wù)的方式提供,構(gòu)建者本身并不需要關(guān)心。此時(shí),必須一個(gè)資源管理系統(tǒng),對數(shù)據(jù)服務(wù)進(jìn)行統(tǒng)一管理。
中臺和模型:中臺有數(shù)據(jù)的計(jì)算和存儲能力外,還應(yīng)該具備算模型的能力,這里的模型指的是一些業(yè)界通用的、或者企業(yè)級通用算法模型。它可能是一個(gè)算法、可能是一個(gè)別人已訓(xùn)練好的模型,可以使用遷移學(xué)習(xí)的方式去使用。對于中臺來說,它都是一個(gè)數(shù)據(jù)集的體現(xiàn),不應(yīng)該和一個(gè)表,一個(gè)文件有特別的區(qū)分。
流水線:流水是構(gòu)建規(guī)模化智能服務(wù)非常重要的一個(gè)環(huán)節(jié),工作如其名,讓我們構(gòu)建智能服務(wù)的時(shí)候,可以像流水線工作一樣,達(dá)到這樣的效果,則需要對整個(gè)任務(wù)進(jìn)行非常詳細(xì)的分解。
智能應(yīng)用層:智能應(yīng)用層直接面向終端,怎么利用元數(shù)據(jù)等功能,組合各自不同模型提供的服務(wù),構(gòu)建出組合效應(yīng)的創(chuàng)新服務(wù)。
(圖8 AI中臺的架構(gòu)層次)
在數(shù)據(jù)中臺的基礎(chǔ)上,擴(kuò)展對GPU級別資源的管理和整合能力,調(diào)度層提供統(tǒng)一的任務(wù)、服務(wù)、智能CI/CD等服務(wù),來實(shí)現(xiàn)AI中臺。這樣以來,就可以達(dá)到:
和數(shù)據(jù)平臺結(jié)合,利用數(shù)據(jù)平臺的能力作為數(shù)據(jù)支撐,最大化的發(fā)揮數(shù)據(jù)平臺的價(jià)值
拆分服務(wù)構(gòu)建環(huán)節(jié),智能服務(wù)開發(fā)流程化,快速響應(yīng)業(yè)務(wù)需求
利用元數(shù)據(jù)管理方式,提供統(tǒng)一的標(biāo)準(zhǔn)格式,場景可以多人協(xié)同配合開發(fā)
基礎(chǔ)設(shè)施共享化,模型的訓(xùn)練和發(fā)布與數(shù)據(jù)平臺有效綁定,服務(wù)的構(gòu)建自動化
統(tǒng)一的元數(shù)據(jù)管理系統(tǒng),模型的全生命周期可管理
通用AI能力平臺化,降低人員要求,提升協(xié)作效率
也即,利用算、模型、框架,動態(tài)、快速地組裝服務(wù),創(chuàng)造出新的個(gè)性化體驗(yàn)和新的業(yè)務(wù)新的業(yè)務(wù)模式,解決“好用”的問題。
結(jié)語
數(shù)據(jù)中臺提供的是存儲和計(jì)算的能力,基于不同的業(yè)務(wù)場景,構(gòu)建出了用來支撐不同業(yè)務(wù)的數(shù)據(jù)服務(wù),依托于強(qiáng)大的計(jì)算力,可以快速縮短獲得結(jié)果的周期。而AI中臺則是將算法模型融入進(jìn)來構(gòu)建為服務(wù),讓構(gòu)建算法模型服務(wù),更加快速高效,以更加面向業(yè)務(wù)。但無論是數(shù)據(jù)中臺還是AI中臺,都是一層基礎(chǔ)設(shè)施,做好基礎(chǔ)設(shè)施只是第一步,如何讓它的價(jià)值最大化,還要依托于AI中臺不斷結(jié)合業(yè)務(wù)來持續(xù)優(yōu)化,做到“持續(xù)智能”。