從數據中臺到AI中臺


轉自 | ThoughtWorks商業洞見

作者 | 白髮川


企業對數據的利用有三個階段:響應運營,響應業務,創造業務。數據中臺解決的是響應業務的問題,第三階段“創造業務”,則需要AI中臺。


01
數據中臺的意義


數據中臺對一個企業,起着至關重要的作用。在數據中臺這個稱謂成型之前,各個企業也都在用不同的方式來儘可能地利用數據產生價值。只是在這個過程中,也不得不處理着數據帶來的各種問題,比如各個業務系統經年累月以煙囪架構形式存在而導致的數據孤島、數據隔離、數據不一致等等。因爲這些問題實在是過於繁雜,企業開始建立數據團隊,或者數據部分開始繼續數據整頓工作,因此數據倉庫、數據湖、主數據治理等一系列的工作職能應運而生。


本質上,這些工作都是因爲業務需要不得不進行的一系列數據治理的動作,對於如何利用數據來發力,並沒有形成一個強有力的底座。有點像“頭痛醫頭、腳痛醫腳”:各個業務系統規範不一致了,於是開展了元數據治理;數據分析的時候數據關聯不上了,於是不得不進行主數據治理。


這樣的數據治理工作在進行了很多年後,數據中臺這個概念逐漸有人提出了,阿里的《企業IT轉型直到:阿里巴巴中臺戰略思想與架構實踐》這本書更是把用中臺戰略把這個概念推向了一個極致。中臺戰略中,人們常說:大中臺,小前臺。在這種模式下,頻繁出現的字眼是:共享。那麼,到底共享的是什麼?答案便是數據的服務。中臺戰略,並不是搭建一個數據平臺,但是中臺的大部分服務都是圍繞數據而生,更加巧妙的地方是中臺戰略讓數據在數據平臺和業務系統之間形成了一個良性的閉環。於是,數據和業務系統融爲了一體。


(圖1 數據中臺所解決的問題)


過去,數據依賴於手工進行,沒有軟件;有了數據中臺,以功能驅動,固定的數據輸入,得到固定的數據輸出,構建出能用的服務變得更快速、更加的標準化,解決了業務側的“能用”問題。但是,如何以固定的輸入,以產生更靈活多變的輸出,提供比如個性化的服務,做到“好用”,數據中臺並沒有給出答案。


在建立了數據中臺架構之後,我們逐步認識到,原來數據的價值並不只是個運營出個參考的分析報表,做一系列的預算。數據中臺爲大型企業數據利用最大化提供了一個初始的參照方向。當我們發現,深度學習、機器學習等等一系列技術開始在這個平臺下施展拳腳的時候,我們可能已經清晰地認識到:中臺並不是數據分析利用的終點。


02
企業利用數據的三個發展階段


如果回顧數據分析的歷程,可以歸納發現數據利用大概有如下三個階段:

  • 響應運營

  • 響應業務

  • 創造業務


(圖2 企業對數據的利用,有三個發展階段)


01
第一階段:響應運營


響應運營是數據分析最直接也是最原始的訴求。沒有誰不關心自己的用戶留存率,沒有誰不關心自己的營收額;出現了故障、如何分析定位,如何預測預防,運用數據分析自然不過。但是在運營分析過程中,也發現了另外一系列的問題,比如各個業務系統的數據存儲格式、存儲介質都不相同,在進行基本的運營分析的時候,無法流暢的進行。此時,不得不進行一系列的數據治理。常見的主數據、元數據治理就是發生在這個階段,只是數據倉庫將主數據和元數據治理進行了規範化。


02
第二階段:響應業務



數據分析停留在運營階段的時候,對企業來講最大的感受就是投入產出比不對稱。這個問題在大數據爆發的時間點上,更爲凸顯。例如在今天的業務場景下,傳統的數據倉庫已經解決不了海量數據、異構數據等一系列問題,而大行其道的大數據分析技術,硬件要求高、學習門檻高。要實施一個大數據平臺,成立一個大數據團隊,這是一個不小的成本開銷,更何況現在有不少數據分析團隊要藉助機器學習等手段,來對數據做分析來響應運營,這導致基礎設施成本、整體門檻進一步提高。


於是像數據中臺這樣的思想就被提了出來:既然數據是從業務系統產生的,那麼是否業務系統也需要數據分析結果呢?對於數據平臺來說,數據平臺本身提供兩大能力:數據存儲和數據計算的能力。那麼業務系統的數據存儲和數據計算能力是否可以剝離到數據平臺,僅僅讓業務系統很輕量的維護自己的業務流程操作?所以利用中臺剝離了複雜的業務環境,再配合微服務等技術,一下子讓人感受到了“數據服務的共享”


而對業務場景來說,很多時候是需要數據服務的,例如用戶的基本信息管理、用戶的行爲數據分析,這些數據不但可以暴露給業務系統使用,甚至可以直接丟給終端用戶自行使用。類似這種契合點,讓數據平臺變成了一個服務,提供給業務系統。而對數據服務的使用者來說,在消費數據的同時也在繼續產生數據,這樣在數據平臺和業務系統之間就構成了一個良性的閉環。


03
第三階段:創造業務


業務不會總停滯不前,因爲人的生活會改變,想要的體驗會改變。過去,大家到視頻平臺看視頻,利用通用的數據服務,不同的用戶看到的視頻推薦都是一樣的;很快,我們就會發現根據用戶的偏好,推薦個性化的視頻幾乎是必不可少的體驗要求。然後,我們就開始思考:數據是否可以變成個性化服務提供給終端用戶?這是一個非常簡單、常見的例子。當這樣的個性化數據服務越來越多之後,各種服務不斷組合,就會創造出很多可能性,進而提供創新的個性化體驗和新的業務模式,這就是數據服務用於創造業務的階段。


雖然有了數據中臺,但是當有大規模的、基於智能算法的數據服務需要落地實現時,依然會碰到以下挑戰。


1. 如何對規模化的智能服務進行管理:當只是零星三兩個智能服務的時候,通過手動人工管理等方式,不會有太大的問題;然則,當智能服務成千上萬的時候,如何管理、如何構建、如何高效維護,就會成爲很大的麻煩。


2. 沒有良好的工程實踐來保證質量和流暢性:對於常規的應用軟件開發我們有TDD、自動化測試、CI/CD等成熟的工程實踐做保障;但是在智能服務這一塊,無論是編程開發、還是服務構建,都沒有成熟的工程實踐,也沒有良好的基礎設施支撐,非常依賴於構建這個服務的數據工程師的個人能力,導致在實施過程中,問題難以復現,難於定位。


3. 數據安全、治理和數據量不充分:數據中臺的價值點,在於提供了數據的計算和存儲的能力,但是在智能服務構建下,光有計算和存儲還不夠。治理到什麼程度的數據,才能較好的支撐服務的構建?個性化的服務與數據安全衝突的時候,如何抉擇?數據量不足導致算法模型泛化能力太差,怎麼辦?


(圖3 創造業務階段,數據中臺面臨的挑戰)


03
從數據中臺到AI中臺


01
什麼是AI中臺?


數據中臺本身還是圍繞數據服務來進行的,而非圍繞智能服務來進行的。未來的操作系統,一定會越來越個性化,甚至每一個人看到的登錄界面都不一樣,系統可以根據對應的終端用戶自行呈現符合該用戶習慣的系統界面。那麼對於這樣的場景和服務,我們需要怎樣的平臺?整個軟件開發架構和流程是否也都會相應重造?


回到創造業務的需求。以簡單的銷售業務爲例,數據中臺提供的服務本質如下圖所示:


(圖4 軟件平臺的業務模式)


這是目前最常見的軟件平臺的運作方式,開發人員開發出了對應的軟件服務後,提供給終端用戶使用,雖然會有銷售售賣該服務。這種方式,好比是拿着一個錘子找釘子,而不是給釘子快速製作一把合適的錘子再去售賣。


能不能這樣:將整個軟件組裝出來的服務,包裝成個性化的產品一樣去售賣,提供量身定做的服務?那麼整個運營模式就變成:平臺提供了一種快速構建智能服務的過程,服務售賣者利用這個平臺,自己動手構建出服務,拿出去售賣,類似一個提供“智能業務服務的PaaS”。


(圖5 引入AI中臺的軟件平臺業務模式)


如果嘗試給AI中臺下個定義:


AI中臺是一個用來構建大規模智能服務的基礎設施,對企業需要的算法模型提供了分步構建和全生命週期管理的服務,讓企業可以將自己的業務不斷下沉爲一個個算法模型,以達到複用、組合創新、規模化構建智能服務的目的。


藉助一個平臺,將軟件的服務個性化的創造,這將是未來的發展趨勢。


04
從數據中臺演進到AI中臺


從AI中臺落地實施的方式來看,AI中臺可以是數據中臺的進一步延伸,從數據中臺一步一步演進過去。


01
首先,從基礎設施角度,可以將數據中臺智能化


所謂的智能化,是指將在數據中臺進行的一系列的數據服務構建操作進行智能化實現,讓數據的接入、存儲、分析展現、訓練、到構建管道(pipeline)都更加自動化。例如,對於通用的CI/CD來說,測試不過則會構建失敗,那對於AI中臺下,就要考慮一個推薦模型構建失敗的條件是什麼?答案可能是“本次模型的準確率低於上一次構建的準確率”的時候,CI應該被構建失敗。在實踐中,這可能是CI構建過程的維度之一,還會有很多其他指標和維度。我們就需要在現有的數據平臺的CI中,實現並自動化這些指標和維度,使之更加智能化。


02
其次,對於中臺使用者來說,將煙囪式模型構建過程改造爲可複用的模型構建過程


目前基於數據中臺的一個智能服務模型開發來說,流程如下:


(圖6 煙囪式模型構建過程)


這基本類似於一個橫向的煙囪架構,導致目前對一個基於算法模型產生的服務進行拆分的時候,都不是特別地順暢。如果大部分業務場景依舊以流程爲主還好,如果新業務需要引入多的智能服務,那麼一系列的問題就會暴露出來:


1. 藉助於現有數據平臺手工進行數據操作。

2. 煙囪架構開發,對人員能力要求高。

3. 環節無法有效拆分,響應週期慢。

4. 智能場景規模化,管理複雜。

5. 訓練,部署,發佈依賴於手工部署缺乏有效的流水線。

6. 和數據平臺孤立,缺乏統一的數據服務接口。

7. 基礎設施隔離,無法動態進行資源的分配和管理。


AI中臺需要具備構建智能服務的能力,就要求我們對服務構建的過程進行如下拆分:


(圖7 可複用的模型構建過程)


首先需要從基礎設施層面進行集成。常規的數據中臺依賴於大量的CPU和內存,相反,機器學習模型對GPU的依賴反而更高,但是又不能脫離數據中臺,因爲它依舊需要利用數據中臺的存儲和計算能力來處理大量的數據。所以如何通過一個接口、一個調度器、一個管道pipeline來集成整個工作流,就成了需要考量的事情了。


AI中臺至少應該分爲以下幾個層級:


1. 基礎設施:對CPU做虛擬化的技術已經相對成熟,但是智能服務依賴的更多的是GPU,那麼GPU如何做虛擬化,算法模型訓練和數據是否需要共同使用相同的機器,還是集羣相互隔離,都是需要在一開始設計好的。


2. 資源管理:一切都是資源,無論是網絡、內存,還是數據、服務,都是資源。對於模型構建者,關注的只是算法本身,如果該構建者需要數據,那這樣的數據就是一個資源而已,無論資源是以環境變量的方式提供、還是以服務的方式提供,構建者本身並不需要關心。此時,必須一個資源管理系統,對數據服務進行統一管理。


3. 中臺和模型:中臺有數據的計算和存儲能力外,還應該具備算模型的能力,這裏的模型指的是一些業界通用的、或者企業級通用算法模型。它可能是一個算法、可能是一個別人已訓練好的模型,可以使用遷移學習的方式去使用。對於中臺來說,它都是一個數據集的體現,不應該和一個表,一個文件有特別的區分。


4. 流水線:流水是構建規模化智能服務非常重要的一個環節,工作如其名,讓我們構建智能服務的時候,可以像流水線工作一樣,達到這樣的效果,則需要對整個任務進行非常詳細的分解。


5. 智能應用層:智能應用層直接面向終端,怎麼利用元數據等功能,組合各自不同模型提供的服務,構建出組合效應的創新服務。


(圖8 AI中臺的架構層次)


在數據中臺的基礎上,擴展對GPU級別資源的管理和整合能力,調度層提供統一的任務、服務、智能CI/CD等服務,來實現AI中臺。這樣以來,就可以達到:


1. 和數據平臺結合,利用數據平臺的能力作爲數據支撐,最大化的發揮數據平臺的價值


2. 拆分服務構建環節,智能服務開發流程化,快速響應業務需求


3. 利用元數據管理方式,提供統一的標準格式,場景可以多人協同配合開發


4. 基礎設施共享化,模型的訓練和發佈與數據平臺有效綁定,服務的構建自動化


5. 統一的元數據管理系統,模型的全生命週期可管理


6. 通用AI能力平臺化,降低人員要求,提升協作效率


也即,利用算、模型、框架,動態、快速地組裝服務,創造出新的個性化體驗和新的業務新的業務模式,解決“好用”的問題。


05
結語


數據中臺提供的是存儲和計算的能力,基於不同的業務場景,構建出了用來支撐不同業務的數據服務,依託於強大的計算力,可以快速縮短獲得結果的週期。而AI中臺則是將算法模型融入進來構建爲服務,讓構建算法模型服務,更加快速高效,以更加面向業務。但無論是數據中臺還是AI中臺,都是一層基礎設施,做好基礎設施只是第一步,如何讓它的價值最大化,還要依託於AI中臺不斷結合業務來持續優化,做到“持續智能”。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章