近年來,數字經濟發展迅速,企業轉型背後頻頻湧現「數字力量」的身影。雲計算、大數據、人工智能的快速融合形成了數字經濟的新基建,也為數字經濟發展帶來了新的機遇。
5 月 20 日,阿里巴巴副總裁、阿里雲計算平臺負責人賈揚清在媒體溝通會做了《科技創新時代的數字力量》演講,本文對其演講內容做了精簡編輯,以饗讀者。
01 科技創新時代的數字力量
我們先來認識一家建築公司。
說建築公司的原因是,每一次工業革命往前升級、向前發展的背後,最重要的其實是現有行業怎麼革新自己的生產力。建築行業是非常典型的一個例子,今天說了那麼多大數據和 AI,到底能給他們帶來什麼樣的價值?
這家公司叫中建三局一公司,是國家基建中的核心力量,一直以建築速度跟效率著稱。
30 多年以前,1985 年,就以「三天一層樓」建造了深圳第一座超高層地標性建築、當時「中國高樓之最」——深圳國貿大廈。
1996 年,又以「九天四個結構層」的速度締造了當時亞洲第一、世界第四高樓——深圳地王大廈,將中國建築業從一般超高層推向可與世界摩天大樓相媲美的領先水平。
放眼全國乃至世界,都有他們的作品,承建了非常多我們耳熟能詳的標杆性建築 :國家體育館(鳥巢)、央視新址 CCTV 大樓…… 除了地標性建築,他們還建了機場、地鐵、高速、醫院(雷神山醫院)、學校(清華美院)、辦公大樓(阿里騰訊新浪移動等辦公大樓)……
中建三局一公司高效的建築能力,給我們帶來非常大的價值。
幾十年過去了,建築設計變得越來越新,磚瓦結構變成了鋼筋混凝土結構,中建三局一公司對建築行業的理解也一直在向前發展。30 多年前,他們依靠人與時間的賽跑;如今,他們依靠數據的流動。去年,中建三局一公司聯手阿里雲,共同建設數據中臺。
造一座高樓,有非常多的物質在流轉,從一粒沙子到磚頭、玻璃、鋼筋、螺絲、各種工程機械,怎麼讓它們更高效地流轉起來,是建築公司都會遇到的問題。不僅如此,他們還需要考慮怎樣提升建造工藝、提升創新的建築方法,以及通過數字化能力,來管理建築過程、建築物料等一系列問題。
阿里雲基於一站式數據開發和綜合治理平臺 DataWorks 打造的數據中臺,為中建三局一公司建設了一個「數字孿生體」,用數據和算法來預測,何時補沙子、何時調配工程機械,以及做其他運營管理方面的事情。
今天,我們看到,中國整個建築市場有 10 萬家建築公司,除了中建三局一公司這種大型的標杆企業,還有很多中小型的建築公司,從業人員共有 5000 餘萬。幫助這些中小型企業從傳統的、小作坊式的、刀耕火種的模式變成像中建三局一公司那樣,是阿里雲希望在數據方面做的一些事情。
我們相信把阿里雲數據中臺建設的核心能力,和各行各業的專業知識結合起來之後,可以幫助更多企業,就像中建三局一公司一樣實現數字化轉型。
02 「一體兩面」,助力企業用好數據
雖然每個人都在提大數據,每個人也都覺得自己在用大數據,但其實誰也不知道大數據到底該怎麼用。
阿里雲打造了一系列將數據用起來的「武器」,希望通過雲上數據綜合治理及智能化,賦予企業數字力量。
企業經常面臨的挑戰是,建了很多零碎的數據系統,表格、Word、照片、視頻等異構數據存在 Excel、數據倉庫等不同的數據庫裡,最後成為「數據孤島」。
因此,企業在建設數據中臺時,經常會在技術、業務、組織三方面遇到挑戰。技術上,數據怎麼打通;業務上,不同口徑的數據如何總結;組織上,怎麼把存放在不同地點的數據統一管理起來。
商業公司經常遇到的一個挑戰是——算收入會面臨財務、證監會等各種各樣的不同口徑,運營同學需要去看不同情況的營業額,這些最後都會下沉到一句 SQL 語言或者一個數據任務上。這些任務如果不一致,最後就會出現數據的不一致,結果的不一致,口徑的不一致,都是一系列問題。
從技術角度來講,我們逐漸構建了一套完整的數據處理體系,叫「一體兩面」。
「一體」是指一體化的數據開發和數據綜合治理平臺 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 萬倍。
根據摩爾定律,每 18 個月,CPU 單核的計算能力就會增長一倍。但 2008 年前後,摩爾定律就開始「失效」,算力的增速開始逐漸變緩。
可以看到,隨著數據量越來越大,模型變得越來越精準、高效且複雜,無論是在數據還是計算方面,都需要有一個更大規模、更大體量的底座,來支撐上層 AI 的需求。而云計算能夠在數據和算力上提供更強的支持。
第二,從核心技術的角度看,AI 工程化是調度和編程範式的規模化。
因為大規模、大體量底座的背後,往往面臨兩個成本問題:
一個是資源的成本。訓練一個大模型,往往需要一堆 GPU 來做大規模計算。英偉達最新的 DGX-2,售價大概在一臺 20 萬美元,真的貴。OpenAI 訓練模型大概需要 512 塊 GPU、64 臺機器。如果搭一個專門用來做大規模訓練的集群,可能是小一個億的成本。這個時候,如果跑去跟公司、研究院或者跟政府說,我需要一個億,就是為了搭一個集群,這個集群就是為了訓練一個模型,這個模型拿來還不知道怎麼用,我得先訓練出來看看。這顯然是很麻煩的事情。
管理大規模的集群和大規模的系統,需要用到非常典型的「削峰填谷」方法,考驗我們是否能夠把 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 技術。
阿里雲機器學習平臺 PAI 團隊,基於阿里雲 IaaS 產品,在雲上構建了一個完整的 AI 開發全生命週期的管理體系,從最開始寫模型,到訓練模型,到部署模型。其中,Studio 平臺提供可視化建模,DLC 平臺(Deep Learning Container)提供雲原生一站式的深度學習訓練,DSW 平臺(Data Science Workshop)提供交互式建模, EAS 平臺(Elastic Algorithm Service )提供更簡易、省心的模型推理服務。我們的目標是,希望 AI 工程師能在幾分鐘之內就開始寫第一行 AI 代碼。
迄今為止,阿里雲通過大數據、AI 平臺已經服務了各行各業的客戶,寶鋼、三一集團、四川農信、太平洋保險、小紅書、VIPKID、鬥魚、親寶寶等。我們希望通過我們的大數據和 AI 能力,給企業提供升級的動力。