天天看點

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

近年來,人工智能迎來新浪潮,逐漸擴充至城市治理、交通排程、工業制造、健康醫療、司法等應用場景。在大會上,周靖人博士表示:「在過去一年的時間裡,我們協助客戶落實了多項重大的人工智能應用,人工智能已經成為觸手可及的普惠技術,變成真正幫助人類解決實際問題的得力助手,PAI 正是為此而來。」

2015 年,阿裡雲對外釋出國内首個機器學習平台 PAI (Platform of Artificial Intelligence),不僅可以實作高性能雲端計算進而降低存儲和計算成本,還具備相應的工具和算法庫進而降低技術門檻。此次版本的重大更新建立在阿裡雲機器學習平台 1.0 之上,标志着阿裡雲在建構 AI 核心技術能力上又進一步。

阿裡雲機器學習平台 PAI 2.0 的主要特性包括以下方面:

全面相容深度學習架構

自 2012 年深度學習的代表模型 AlexNet 在 ImageNet 大賽中力壓亞軍,以超過 10 個百分點的絕對優勢奪得頭籌之後,依托于模組化技術的進步、硬體計算能力的提升、優化技術的進步以及海量資料的累積,深度學習在語音、圖像以及文本等多個領域不斷推進,相較于傳統作法取得了顯著的效果提升。工業界和學術界也先後推出了用于深度學習模組化用途的開源工具和架構,包括 Caffe、Theano、Torch、MXNet、TensorFlow、Chainer、CNTK 等等。TensorFlow、Caffe 和 MXNet 是目前全球主流的深度學習開源架構;TensorFlow 開源算法和模型最豐富;Caffe 是經典的圖形領域架構,使用簡單;MXNet 分布式性能優異。

深度學習通過設計複雜模型,依托于海量資料的表征能力,進而擷取相較于經典淺層模型更優的模型表現,這樣的模組化政策促使對底層訓練工具提出了更高的要求。現有的開源工具,往往會在性能上、顯存支援上、生态系統的完善性上存在不同層面的不足,在使用效率上對于普通的算法模組化使用者并不夠友好。

PAI 2.0 程式設計接口完全相容深度學習架構:TensorFlow、Caffe 以及 MXNet,使用者隻需要将自己本地編寫的代碼檔案上傳至雲端就可以執行。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

對于底層計算資源,PAI 2.0 提供了強大的雲端異構計算資源,包含 CPU、GPU、FPGA。在 GPU 方面,PAI 2.0 可以靈活實作多卡排程。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

借助這些架構以及強大的計算資源,使用者非常友善地就可以将計算任務下發到對應的分布式計算機群上,實作深度學習模型訓練與預測。

算法庫的豐富與創新

PAI 2.0 提供 100 餘種算法元件,涵蓋了分類、回歸、聚類等常用場景,還針對主流的算法應用場景,提供了偏向業務的算法,包含文本分析、關系分析、推薦三種類别。

「算法全部脫胎于阿裡巴巴集團内部的業務實踐,所有算法都經曆過 PB 級資料和複雜業務場景的錘煉,具備成熟穩定的特點」,阿裡雲首席科學家周靖人說。

支援更大規模的資料訓練 

PAI 2.0 新增了參數伺服器(Parameter Server)架構的算法。不僅能進行資料并行,同時還可将模型分片,把大的模型分為多個子集,每個參數伺服器隻存一個子集,全部的參數伺服器聚合在一起拼湊成一個完整的模型。

其創新點還在于失敗重試的功能。在分布式系統上,成百上千個節點協同工作時,經常會出現一個或幾個節點挂掉的情況,如果沒有失敗重試機制,任務就會有一定的幾率失敗,需要重新送出任務到叢集排程。PS 算法支援千億特征、萬億模型和萬億樣本直至 PB 級的資料訓練,适合于電商、廣告等資料規模巨大的推薦場景。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

人性化的操作界面

從操作界面來看,PAI 沒有繁瑣的公式和複雜的代碼邏輯,使用者看到的是各種分門别類被封裝好的算法元件。每一個實驗步驟都提供可視化的監控頁面,在深度學習黑箱透明化方面,PAI 也同時內建了各種可視化工具。

周靖人博士在現場展示了在搭架實驗的過程中,隻需要設定資料源、輸出,就可以讓系統實作人工智能訓練,拖拽元件即可快速拼接成一個工作流,大幅提升了建立的調試模型的效率。可視化方式則有助于使使用者清楚地了解問題本身以及深度學習的效果。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

事實上就目前而言,大規模深度學習優化還是一個方興未艾的技術方向,作為一個交叉領域,涉及到分布式計算、作業系統、計算機體系結構、數值優化、機器學習模組化、編譯器技術等多個領域。按照優化的側重點,可以将優化政策劃分為計算優化、顯存優化、通信優化、性能預估模型以及軟硬體協同優化。PAI 平台目前主要集中在以下四個優化方向。

顯存優化

記憶體優化主要關心的是 GPU 顯存優化的議題,在深度學習訓練場景,其計算任務的特點決定了通常會選擇 GPU 來作為計算裝置,而 GPU 作為典型的高通量異構計算裝置,其硬體設計限制決定了其顯存資源往往是比較稀缺的,目前在 PAI 平台上提供的中檔 M40 顯示卡的顯存隻有 12GB,而複雜度較高的模型則很容易達到 M40 顯存的臨界值,比如 151 層的 ResNet。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

36 層的 ResNet 模型示例

PAI 在顯存優化上做了一系列工作,期望能夠解放模組化工作中的的負擔,使使用者在模型尺寸上獲得更廣闊的模組化探索空間。在記憶體優化方面,通過引入 task-specific 的顯存配置設定器以及自動化模型分片架構支援,在很大程度上緩解了模組化任務在顯存消耗方面的限制。其中自動化模型分片架構會根據具體的模型網絡特點,預估出其顯存消耗量,然後對模型進行自動化切片,實作模型并行的支援。在完成自動化模型分片的同時,架構還會考慮到模型分片帶來的通信開銷,通過啟發式的方法在大模型的承載能力和計算效率之間獲得較優的 trade-off。

通信優化

大規模深度學習,或者說大規模機器學習領域裡一個永恒的話題就是如何通過多機分布式對訓練任務進行加速。而機器學習訓練任務的多遍疊代式通信的特點,使得經典的 map-reduce 式的并行資料處理方式并不适合這個場景。對于以單步小批量樣本作為訓練機關步的深度學習訓練任務,這個問題就更突出了。

依據 Amdahl's law,一個計算任務性能改善的程度取決于可以被改進的部分在整個任務執行時間中所占比例的大小。而深度學習訓練任務的多機分布式往往會引入額外的通信開銷,使得系統内可被提速的比例縮小,相應地束縛了分布式所能帶來的性能加速的收益。

PAI 平台通過 pipeline communication、late-multiply、hybrid-parallelism 以及 heuristic-based model average 等多種優化政策對分布式訓練過程中的通信開銷進行了不同程度的優化,并在公開及 in-house 模型上取得了比較顯著的收斂加速比提升。

在 Pipeline communication 中,将待通信資料(模型及梯度)切分成一個個小的資料塊進而在多個計算結點之間充分流動起來,可以突破單機網卡的通信帶寬極限,将一定尺度内将通信開銷控制在常量時間複雜度。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

Pipeline communication

在 Late-multiply 中,針對全連接配接層計算量小,模型尺寸大的特點,對于多機之間的梯度彙總邏輯進行了優化,将「多個 worker 計算本地梯度,在所有結點之間完成資訊互動」的分布式邏輯調整為「多個 worker 将全連接配接層的上下兩層 layer 的後向傳播梯度及激活值在所有計算結點之間完成資訊互動」,當全連接配接層所包含的隐層神經元很多時,會帶來比較顯著的性能提升。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

Without late-multiply

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

With late-multiply

在 Hybrid-parallelism 中,針對不同模型網絡的特點,引入資料并行與模型并行的混合政策,針對計算占比高的部分應用資料并行,針對模型通信量大的部分應用模型并行,在多機計算加速與減少通信開銷之間獲得了較好的平衡點。下圖看出将這個優化政策應用在 TensorFlow 裡 AlexNet 模型的具體展現。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

 AlexNet with hybrid-parallelism

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

AlexNet 模型示例

性能預估模型

對于模組化人員來說,他們關心的往往是以最具成本效益的方式完成他們的模組化訓練任務,而不是用多少張卡,以什麼樣的分布式執行政策來完成他們的訓練任務。而目前深度學習訓練工具以及訓練任務的複雜性,使得模組化人員往往不得不透過 leaky abstraction 的管道,去關心為了完成他們的一個模組化實驗,應該使用多少張 GPU 卡,多少個 CPU 核、什麼樣的通信媒體以及選擇哪種分布式執行政策,才能有效地完成自己的訓練任務。

基于性能預估模型,是期望能夠将模組化人員從具體的訓練任務執行細節中解放出來。具體來說,給定模組化使用者的一個模型結構,以及所期望花費的費用和時間,PAI 平台會采用模型+啟發式的政策預估出需要多少硬體資源,使用什麼樣的分布式執行政策可以盡可能逼近使用者的期望。

軟硬體協同優化

上面提到的三個優化政策主要集中在任務的離線訓練環節,而深度學習在具體業務場景的成功應用,除了離線訓練以外,也離不開線上布署環節。作為典型的複雜模型,無論是功耗、計算性能還是模型動态更新的開銷,深度學習模型為線上部署提出了更高的要求和挑戰。在 PAI 平台裡,關于線上部署,除了實作軟體層面的優化,也探索了軟硬體協同優化的技術路線。目前在 PAI 平台裡,阿裡雲技術團隊正在基于 FPGA 實作線上 inference 的軟硬體協同優化。在 PAI 裡實作軟硬體協同優化的政策與業界其他同行的作法會有所不同,我們将這個問題抽象成一個 domain-specific 的定制硬體編譯優化的問題,通過這種抽象,我們可以采取更為通用的方式來解決一大批問題,進而更為有效地滿足模型多樣性、場景多樣性的需求。

在 PAI 2.0 介紹的最後環節,周靖人博士展示了它的相關使用案例以及已經廣泛的應用前景。

阿裡雲推出機器學習平台PAI 2.0,降低人工智能門檻與開發成本

繼續閱讀