天天看點

阿裡雲賈揚清:大資料+AI工程化,讓資料從「成本」變為「資産」

近年來,數字經濟發展迅速,企業轉型背後頻頻湧現「數字力量」的身影。雲計算、大資料、人工智能的快速融合形成了數字經濟的新基建,也為數字經濟發展帶來了新的機遇。

5 月 20 日,阿裡巴巴副總裁、阿裡雲計算平台負責人賈揚清在媒體溝通會做了《科技創新時代的數字力量》演講,本文對其演講内容做了精簡編輯,以飨讀者。

阿裡雲賈揚清:大資料+AI工程化,讓資料從「成本」變為「資産」

01 科技創新時代的數字力量

我們先來認識一家建築公司。

說建築公司的原因是,每一次工業革命往前更新、向前發展的背後,最重要的其實是現有行業怎麼革新自己的生産力。建築行業是非常典型的一個例子,今天說了那麼多大資料和 AI,到底能給他們帶來什麼樣的價值?

這家公司叫中建三局一公司,是國家基建中的核心力量,一直以建築速度跟效率著稱。

30 多年以前,1985 年,就以「三天一層樓」建造了深圳第一座超高層地标性建築、當時「中國高樓之最」——深圳國貿大廈。

1996 年,又以「九天四個結構層」的速度締造了當時亞洲第一、世界第四高樓——深圳地王大廈,将中國建築業從一般超高層推向可與世界摩天大樓相媲美的領先水準。

放眼全國乃至世界,都有他們的作品,承建了非常多我們耳熟能詳的标杆性建築 :國家體育館(鳥巢)、央視新址 CCTV 大樓…… 除了地标性建築,他們還建了機場、地鐵、高速、醫院(雷神山醫院)、學校(清華美院)、辦公大樓(阿裡騰訊新浪移動等辦公大樓)……

中建三局一公司高效的建築能力,給我們帶來非常大的價值。

幾十年過去了,建築設計變得越來越新,磚瓦結構變成了鋼筋混凝土結構,中建三局一公司對建築行業的了解也一直在向前發展。30 多年前,他們依靠人與時間的賽跑;如今,他們依靠資料的流動。去年,中建三局一公司聯手阿裡雲,共同建設資料中台。

造一座高樓,有非常多的物質在流轉,從一粒沙子到磚頭、玻璃、鋼筋、螺絲、各種工程機械,怎麼讓它們更高效地流轉起來,是建築公司都會遇到的問題。不僅如此,他們還需要考慮怎樣提升建造工藝、提升創新的建築方法,以及通過數字化能力,來管理建築過程、建築物料等一系列問題。

阿裡雲基于一站式資料開發和綜合治理平台 DataWorks 打造的資料中台,為中建三局一公司建設了一個「數字孿生體」,用資料和算法來預測,何時補沙子、何時調配工程機械,以及做其他營運管理方面的事情。

今天,我們看到,中國整個建築市場有 10 萬家建築公司,除了中建三局一公司這種大型的标杆企業,還有很多中小型的建築公司,從業人員共有 5000 餘萬。幫助這些中小型企業從傳統的、小作坊式的、刀耕火種的模式變成像中建三局一公司那樣,是阿裡雲希望在資料方面做的一些事情。

我們相信把阿裡雲資料中台建設的核心能力,和各行各業的專業知識結合起來之後,可以幫助更多企業,就像中建三局一公司一樣實作數字化轉型。

02 「一體兩面」,助力企業用好資料

雖然每個人都在提大資料,每個人也都覺得自己在用大資料,但其實誰也不知道大資料到底該怎麼用。

阿裡雲打造了一系列将資料用起來的「武器」,希望通過雲上資料綜合治理及智能化,賦予企業數字力量。

企業經常面臨的挑戰是,建了很多零碎的資料系統,表格、Word、照片、視訊等異構資料存在 Excel、資料倉庫等不同的資料庫裡,最後成為「資料孤島」。

是以,企業在建設資料中台時,經常會在技術、業務、組織三方面遇到挑戰。技術上,資料怎麼打通;業務上,不同口徑的資料如何總結;組織上,怎麼把存放在不同地點的資料統一管理起來。

商業公司經常遇到的一個挑戰是——算收入會面臨财務、證監會等各種各樣的不同口徑,營運同學需要去看不同情況的營業額,這些最後都會下沉到一句 SQL 語言或者一個資料任務上。這些任務如果不一緻,最後就會出現資料的不一緻,結果的不一緻,口徑的不一緻,都是一系列問題。

從技術角度來講,我們逐漸建構了一套完整的資料處理體系,叫「一體兩面」。

阿裡雲賈揚清:大資料+AI工程化,讓資料從「成本」變為「資産」

「一體」是指一體化的資料開發和資料綜合治理平台 DataWorks,各種各樣的行業應用都基于這個平台搭建。

DataWorks 迄今為止已經累積了約 8 萬名使用者。每天阿裡大概有 1/4 的員工在 DataWorks 上做資料開發和應用。

一體化的開發平台下,有兩種不同的資料組織形态——資料倉庫和資料湖,即所謂「兩面」。

「資料倉庫」的概念很早以前就有了,可以将其了解為一個巨大的 Excel 表格或者一堆巨大的 Excel 表格。阿裡很早以前就建了自己的資料倉庫 MaxCompute,它是「飛天」的重要組成部分之一,已經沉澱了非常好的大規模資料倉庫能力 。

在 MaxCompute 的演進過程中,對資料進行實時分析的需求誕生了。比方說,雙 11 時,促銷政策要根據使用者的購買行為進行及時調整。于是,幾年前,我們開發了一套實時計算引擎 Flink。Flink 最開始是由德國一個團隊做的,現在阿裡巴巴和德國團隊一起,繼續把 Flink 作為一個開源的流計算實施标準往前推進。

以前,我們隻是對資料進行總結,出報表;但越來越多的資料開始需要實時的服務,比方說「猜你喜歡」,既需要實時化,也需要對使用者的曆史行為做實時分析,然後迅速對相關産品做服務。

前幾年開始,我們在「T+1」計算的離線數倉基礎上,做了實時數倉 + 服務一體化的應用——互動式分析産品 Hologres,它在雙 11 支撐了非常多的實時決策。淘寶、天貓的決策層可以通過 Hologres 實時看到每一個商品品類在每一個地區的實時的銷售額情況,當發現銷售額 / 觸達率與預期不一緻時,可以及時調整政策。

随着異構資料越來越多,在我們做各種服務的時候,不再是表格那麼精準的資料呈現形式,可能是像日志(log)的形式,這些圖檔、視訊、語音等資料形态對傳統的資料倉庫來說就不是那麼合适了。記得我們 2013 年在谷歌剛開始做機器學習的時候,把一堆圖檔存在了資料倉庫裡,結果發現,所有圖檔都是一堆字元串,看不見圖檔的内容。

于是,「資料湖」的概念興起了。先不着急把資料都存成 Excel 表格,該是 Word 就是 Word,該是圖檔就是圖檔,該是視訊就是視訊,不管資料來源和格式,先把這些資料都放到一個湖裡。

但業務資料,有些存在湖裡,有些存在倉裡,怎麼合起來統一做分析和處理?去年,我們提出「湖倉一體」,在傳統的資料湖和資料倉庫上建一個資料中台。

圖檔

這對于創新業務來說,沒什麼問題。但現有非常多的企業,本身已經有資料倉庫了,那如何把已有的資源利用起來?

我們在技術側做了很多工作。通過最底層的存儲資源、計算資源的打通,讓大家能夠更加容易地從資料倉庫的角度存取資料湖裡的資訊,或者在資料湖上建構一系列開源引擎,同時分析資料湖和資料倉庫裡的資料。

03 AI 加持,挖掘資料的價值,變「成本」為「資産」

管好資料的同時,我們發現,資料量越來越大,資料的機關價值越來越低。

是以,我們開始思考,怎麼挖掘資料的價值,幫助企業創新業務、提高效率,将資料從成本變成資産。

AI 可以讓資料更加智能。AI 算法不隻能做資料的總結,還可以做分析和決策。

但并不是所有的企業都具備将 AI 變為生産力的能力,為自己所用。Gartner 的調查研究發現,隻有 53% 的項目能夠從人工智能(AI)原型轉化為生産。AI 要成為企業生産力,就必須以工程化的技術來解決模型開發、部署、管理、預測、推理等全鍊路生命周期管理的問題。

我們總結發現,AI 工程化領域有三大亟待推進的事情:資料和算力的雲原生化,排程和程式設計範式的規模化,開發和服務的标準化普惠化。

第一,從供給角度看,AI 工程化是資料和算力的雲原生化。

智能時代是靠資料和算力來驅動的。無論是計算機視覺、自然語言處理,還是其他的 AI 系統,都與資料量密不可分。

上世紀九十年代,手寫體郵政編碼已經在用 AI 識别,那時用來訓練 AI 模型的資料量僅有 10M 左右。阿裡與清華大學不久前合作釋出的超大規模中文多模态預訓練模型 M6,是用 2TB 圖像、300GB 語料資料預訓練而成的。今天,在産業界,訓練一個 AI 模型需要的資料量通常會更大。

OpenAI 曾做過一個統計,從 2012 年做出 AlexNet,到 2018 年 DeepMind 做出 AlphaGo Zero,對于計算量的需求增長了約 30 萬倍。

阿裡雲賈揚清:大資料+AI工程化,讓資料從「成本」變為「資産」

根據摩爾定律,每 18 個月,CPU 單核的計算能力就會增長一倍。但 2008 年前後,摩爾定律就開始「失效」,算力的增速開始逐漸變緩。

可以看到,随着資料量越來越大,模型變得越來越精準、高效且複雜,無論是在資料還是計算方面,都需要有一個更大規模、更大體量的底座,來支撐上層 AI 的需求。而雲計算能夠在資料和算力上提供更強的支援。

第二,從核心技術的角度看,AI 工程化是排程和程式設計範式的規模化。

因為大規模、大體量底座的背後,往往面臨兩個成本問題:

一個是資源的成本。訓練一個大模型,往往需要一堆 GPU 來做大規模計算。英偉達最新的 DGX-2,售價大概在一台 20 萬美元,真的貴。OpenAI 訓練模型大概需要 512 塊 GPU、64 台機器。如果搭一個專門用來做大規模訓練的叢集,可能是小一個億的成本。這個時候,如果跑去跟公司、研究院或者跟政府說,我需要一個億,就是為了搭一個叢集,這個叢集就是為了訓練一個模型,這個模型拿來還不知道怎麼用,我得先訓練出來看看。這顯然是很麻煩的事情。

阿裡雲賈揚清:大資料+AI工程化,讓資料從「成本」變為「資産」

管理大規模的叢集和大規模的系統,需要用到非常典型的「削峰填谷」方法,考驗我們是否能夠把 AI 計算任務掰開、揉碎,變成一小塊一小塊的任務,部署在資源空閑的機器上。這背後是一個巨大的訓練任務,AI 工程師需要做非常多的工作。

我們在訓練 M6 模型的時候沒有買新的機器,就是在現有的生産叢集上面,利用「潮汐效應」,把計算量提出來,用來訓練模型。

另一個是人的成本。AI 沒有 SQL 那麼清晰幹淨的、以目标導向的架構,比如,寫一句 SQL,就能驅動 MaxCompute 等計算引擎拉一堆機器來做運算;AI 也不像線上服務一樣,可以實作非常簡單的、一台機器和幾台機器的簡單複制,機器間不需要互動,操作簡單。

AI 程式要在各種各樣的機器、資源之間(GPU 與 GPU 間,或 GPU 與 CPU 間)搗騰資料,要把一個算法(一個數學公式)放到參數伺服器上,告訴機器 A 何時與機器 B 說話,機器 B 何時與機器 C 說話,并且最好是快一點。于是,AI 工程師就得寫一堆無比複雜、很多人看不懂的代碼。

AI 工程師都聽說過資料并行、模型并行等概念,這些概念下需要有一個相對簡單的軟體程式設計範式,讓我們更加容易把叢集以及計算的需求切片,把 Computer 跟 Communication 比較好地配置設定。但是程式設計範式今天還沒有達到一個讓彼此都很好了解的程度。是以,人力成本非常高。

也就是說,在大量的資料和算力基礎上,一個非常明顯的需求是如何更好地做到資源排程和資源調配,以及如何讓工程師更容易撰寫分布式程式設計範式,特别是如何來規模化,這是 AI 工程化的第二個展現。

我們設計了一個相對簡單、幹淨的程式設計架構 Whale,讓開發者能夠更容易地從單機的程式設計範式跳到分布式的程式設計範式。比如,隻需告訴 Whale,将模型分為 4 個 stage,Whale 就會自動把這些 stage 放到不同的機器上去做運算。

第三,從需求或者出口的角度看,AI 工程化是開發和服務的标準化、普惠化。

AI 做了非常多有意思的模型,為了使這些模型能夠更加緊密地應用在實際場景中,還需要很多工作。但并不是每個人都有時間來學習 AI 如何模組化,如何訓練和部署等。

是以,我們一直在思考,如何讓大家更容易上手這些高大上的 AI 技術。

阿裡雲賈揚清:大資料+AI工程化,讓資料從「成本」變為「資産」

阿裡雲機器學習平台 PAI 團隊,基于阿裡雲 IaaS 産品,在雲上建構了一個完整的 AI 開發全生命周期的管理體系,從最開始寫模型,到訓練模型,到部署模型。其中,Studio 平台提供可視化模組化,DLC 平台(Deep Learning Container)提供雲原生一站式的深度學習訓練,DSW 平台(Data Science Workshop)提供互動式模組化, EAS 平台(Elastic Algorithm Service )提供更簡易、省心的模型推理服務。我們的目标是,希望 AI 工程師能在幾分鐘之内就開始寫第一行 AI 代碼。

阿裡雲賈揚清:大資料+AI工程化,讓資料從「成本」變為「資産」

迄今為止,阿裡雲通過大資料、AI 平台已經服務了各行各業的客戶,寶鋼、三一集團、四川農信、太平洋保險、小紅書、VIPKID、鬥魚、親寶寶等。我們希望通過我們的大資料和 AI 能力,給企業提供更新的動力。