演講人:林偉
整理 | AI前線 趙钰瑩

人工智能生态發展趨勢
大家好,我是林偉,我今天演講的主題是《AI 突破無限可能—5 億消費者的雲上雙 11》。我本人是做系統出身的,但在最近的一些會議上發現,越來越多做系統出身的人開始研究 AI。在 90 年代末的那波熱潮裡,我有幸在學校的人工智能實驗室呆過,那時還在糾結模型效果,最後發現是自己想多了,那時做出來的東西還遠遠達不到可用的狀态。在後來的一段時間内,AI 進入沉寂,最近幾年又突然火爆,我在一些學校做交流的時候發現很多同學都在研究 AI 算法,但其實神經網絡、遺傳算法和模拟算法很多年前就已經出現,最近幾年才爆發的最主要原因是資料和算力的提升。
在這之中,雲計算也起到了很大作用,隻有算力更加充足,才可以拟合出更加有效的模型,這也是阿裡巴巴 2009 年堅定投入雲計算的重要原因。說到阿裡雲,其實阿裡雲有個非常大的客戶就是阿裡巴巴自己的電商業務,而阿裡電商全年最重要的一個活動就是雙 11。
過去幾年,阿裡雙 11 的營業額逐漸升高,這背後更深層次的原因其實是我們實作了核心系統的 100% 上雲。上雲之後,我們發現 AI 離不開計算,隻有具備強大的計算力才可以利用 AI 技術提高效率,雙 11 就是一個很好的練兵場。在這樣的規模下,如何構造系統、處理資料以及迅速挖掘資料背後的價值是我們在思考的問題。
在整個大趨勢下面,我們可以看到三個因素:
一是實時化。 雙 11 就一天,我們必須了解資料并及時回報給商家,實時性非常重要,雙 11 大屏背後的支撐系統就是通過 Flink 實作實時計算。單純的銷售額可能沒有特别大的意義,我們需要進行實時分析以得到更細緻的名額,比如使用者的購買興趣、商品類别、供銷比、管道、倉儲位置和貨源等,我們需要通過實時分析及時回報給商家、快遞公司等,讓各方都可以明确如何調整雙 11 當天的政策。今年雙 11,我們每秒可以處理 25.5 億條消息,包括買賣消息、快遞請求等。
二是規模性。 我們不僅需要實時回報,雙 11 結束還需要精細對賬給銀行和商家。今年,我們僅花費一天時間(也就是 11 月 12 日)就完成了所有報表彙報,這就是通過雲平台的彈性來實作的。在這麼大的規模下,商家服務效率也是一個問題,原來就是靠人,用電話和小二來服務商家,現在這樣的規模體系下就需要用 AI 技術來服務商家,并通過 AI 輔助快遞配送,比如機器人可能會詢問使用者:在不在家?包裹放在哪裡等問題。在大家以往的印象中,AI 離生活很遠,但輔助快遞配送就是一個很具體的場景,可以為使用者帶來更好的體驗,包括淘寶首頁的個性化推薦等。
如今,淘寶推薦也會有一些動态封面,這背後是我們一天分析了 2.5 億個視訊的結果,現在的淘寶上也有很多用短視訊賣貨宣傳的,我們分析了 2.5 億視訊,最後日均商品分析達到 15000 萬。我們統計了當天通過視訊購買商品的人,發現平均有效時長是 120 秒。通過這種新技術可以促進新的場景。
三是 AI。 這一切的背後是資料的力量,整個雙 11 都是 AI 和資料在驅動。實時性、規模性和 AI 三者相輔相成讓雙 11 的效率得到了大幅提高,計算處理能力也有了很大提高,這就是 2684 億銷售額背後的技術力量。
雲上雙 11 的 AI 能力
回歸技術本身。2017 年以前,我們的系統是比較簡單的,更多的任務是處理資料和生成報表。一年半以前,我們開始加入更多實時性,用實時資料回報商業決策,這就有了 MaxCompute 的出現。
如今,整個技術背景非常複雜,我們有非常好的一些計算引擎,可以進行全域資料內建,具備統一的源資料管理、任務管理,智能資料開發和資料合成治理等能力。
說到底,AI 和計算其實是共生體,AI 的繁榮依賴于計算力的積累,是以我們需要很好的資料處理平台進行分析和提取,服務好算法工程師進行創新,比如嘗試各種各樣的模型、各種各樣構造機器學習的方式,看看能否提高人工智能的效率和準确度。
企業如何建構雲上 AI 能力
上述這些主要是 AI 的場景,接下來,我會着重介紹這些場景背後的 AI 技術,主要圍繞飛天 AI 平台,上層是 PAI 和線上推理服務 EAS,然後分為 DSW 開發平台,PAI Studio 和 Auto Learning 三部分,基于訓練優化引擎和推理優化引擎,解決大規模分布式資料處理問題。
此外,我們還有線上機器學習系統,可以對使用者行為日志進行實時和離線計算,然後抽取特征庫,生成批流統一樣本,進入樣本庫,最終進行批流統一模型訓練。為什麼我們要做這個?一是因為實時性,傳統的搜尋是非常不敏感的,而我們是在遵循使用者興趣的變化,如果兩周更新一次模型可能已經錯過了幾輪熱銷商品,我們需要通過線上機器學習的方式進行實時判斷,這非常接近于深度學習。在非實時的狀态下,工程師可以非常精細的做特征工程,花更多的時間了解資料,利用深度學習本身的特性捕獲資料之間的關系,而不是靠專家提取,這是深度學習的好處,但這需要海量的計算才可以完成,而線上機器學習系統會把雙 11 當天的日志及時傳遞到實時計算平台做集合,然後通過分析按照 ID 對資料進行聚合形成樣本,最後根據樣本做增量學習、驗證、部署,隻有這樣才能快速更新模型,使其遵循使用者或者商業的變化。
在這個過程中,我們面臨的第二個挑戰是模型非常大,因為要“千人千面”,是以需要一個非常大且針對稀疏場景的分布式訓練。目前的開源機器學習架構還遠遠達不到我們的規模要求,我們需要進行大量的優化,以便在稀疏場景下訓練大規模資料。如果對深度學習有了解,就應該知道深度學習可以描述非常大的細粒度圖,在圖上如何進行切割讓圖的計算和通訊可以更好地平衡是需要考慮的問題。
通過通信算子融合和基于通信代價的算子下推,我們實作了分布式圖優化技術。通過高效記憶體配置設定庫,比如 thread 庫、Share Nothing 執行架構;利用 Spares 特性的通訊;異步訓練,通訊和計算充分 overlap;容錯、partial checkpoint、autoscale、動态 embedding;支援大規模梯度 optimizer 的方法實作運作架構的優化,如下圖所示:
優化之後,性能上達到了七倍提升。稀疏特征規模從數十億到數百億,樣本從數百億到上千億,同時還有上千worker 的分布式增量訓練。
在動态封面層面,我們分析了大量視訊檔案,視訊比圖檔更複雜,因為視訊牽涉的環節非常多,需要做視訊的預處理,提取視訊幀,但不可能每一幀都進行提取,這樣做的代價實在是太大了,需要提取視訊的關鍵幀,通過圖檔識别和目标檢測提取,這是很複雜的工作。是以,我們研發了視訊平台,幫助視訊分析和算法工程師解決問題,具體架構如下圖所示:
在視訊裡面,線上服務其實也很複雜,有分解,也有合成。首先對視訊進行分解,然後加以了解并提取,最後進行合成。通過視訊 PAI-EAS 線上服務平台,算法工程師隻需要編寫簡單的 Python 代碼就可以通過接口調用相應服務,讓他們有更多的時間進行創新。
除了上述場景,整個平台最重要的就是支援算法工程師的海量創新。五年以前,阿裡的算法模型非常寶貴,寫算法的人不是特别多。随着深度學習的演進,現在越來越多的算法工程師在構造模型。為了支撐這些需求,我們進行了 AI 自動化,讓算法模組化同學專注業務模組化本身,由系統将基礎設施(PAI)完成業務模型的高效、高性能運作執行。
在深度學習方面,我們分别進行了前端和後端優化。我們希望通過編譯技術,系統技術服務實作圖優化、任務分割、分布式排程、資料分片、模型分片,通過系統模型選擇我們認為最好的方案執行,這是我們整個平台做 PAI 的理念。整個 PAI-Blade 通用推理優化架構分為如下幾部分:
通過系列改進,我們也取得了一些優化成果。我們有一個非常大的叢集,在叢集足夠大的時候,我們就可以很好地實作複用。通過資源排程和引擎的配合能夠提升 GPU 叢集 30% 的使用率。
此外,我們很多 AI 服務都加載線上服務架構,我們叫做 PAI EAS,這個架構是雲原生的,可以更好地利用雲平台本身的規模性和可擴充性,撐住雙 11 當天的海量 AI 請求。因為雙 11 不僅是商業資料、購買資料在暴漲,AI 請求也在暴漲,比如智能客服、菜鳥語音當天的服務量都非常大,通過利用雲平台的能力,我們可以提供更好的體驗。
綜上,這些技術支撐了阿裡巴巴的所有 BU,支援單任務 5000+ 的分布式訓練,有數萬台的機器,數千 AI 的服務,日均調用量可以達到上十萬的規模。最後,阿裡雙 11 的成長和 AI 技術的成長以及資料的爆發密不可分。
嘉賓介紹:
林偉,阿裡雲智能計算平台事業部研究員,十五年大資料超大規模分布式系統經驗,負責阿裡巴巴大資料 MaxCompute 和機器學習 PAI 平台整體設計和構架,推動 MaxCompute2.0,以及 PAI2.0、PAI3.0 的演進。加入阿裡之前是微軟大資料 Cosmos/Scope 的核心成員,在微軟研究院做分布式系統方面的研究,分别緻力于分布式 NoSQL 存儲系統 PacificA、分布式大規模批處理 Scope、排程系統 Apollo、流計算 StreamScope 以及 ScopeML 分布式機器學習的工作。在 ODSI、NSDI、SOSP、SIGMOD 等系統領域頂級會議發表十餘篇論文。