PAI:一站式雲原生AI平臺

阿里雲大資料AI技術發表於2021-08-18

本文是《飛天大資料產品價值解讀系列》之《PAI:一站式雲原生AI平臺》的影片分享精華總結,主要由阿里雲機器學習PAI團隊的產品經理高慧玲(花名:玲汐)向大家介紹了阿里巴巴整體的AI情況以及一站式雲原生的AI平臺PAI,並且做了簡單的DEMO演示。
 
以下是影片內容精華整理,主要包括以下三個部分:
1.阿里巴巴整體AI介紹;
2.PAI:一站式雲原生AI平臺;
3.快速上手演示案例。

一、阿里巴巴整體AI介紹

阿里巴巴致力於打造A+B+C+D+E的AI研發、應用和生態合作體系。經過前面的幾次直播,相信大家已經瞭解MaxCompute、Flink等大資料計算引擎。在我們的AI架構裡,演算法和大資料不分家,如下圖所示,AI架構最底層由演算法(A)、大資料(B)以及計算能力(C)提供了我們整個AI架構的基礎能力。基於ABC孵化出了各個垂直領域裡的AI應用場景(D),這些應用場景也在不斷的反哺我們下層的演算法及算力的不斷前進和衍生。在ABCD之上,構建基於AI的生態體系(E)。阿里巴巴認為只有全面佈局上述五個方面,形成軟硬一體、應用驅動的研發形態,才能在人工智慧時代形成強大技術優勢。
image.png
基於上圖所示的架構所蘊含的指導思想,阿里在AI領域打造了完整的技術能力體系 。如下圖所示,最下面的灰色部分是基礎設施層,提供CPU、GPU、NPU、FPGA等在AI中發揮重要作用的異構計算硬體。
中間的橙色部分是產品PaaS層,是阿里AI能力中能力最厚實的產品體系層,也是本文重點要介紹的部分。

  • *AI雲服務,包括虛機、容器、儲存、加速晶片等底層資源的管控能力。
  • *高效能運算,包括多種計算加速以及引擎加速的能力。 
  • *AI系統框架既包括了阿里自研的各種框架以及模型,同時相容豐富的開源生態,並且阿里一直和開源社群共建,為大家提供更好建模迭代和部署能力。
  • *AI託管平臺層是直接面向AI使用者的產品層,PAI推出了從資料準備到模型訓練,再到最終的模型部署,全鏈路、全環節上的開發以及應用平臺。

整個AI體系孵化出眾多的SaaS垂直領域能力,包括影像、視覺、語音、NLP、推薦系統等等,用來幫助使用者提升資料資產利用率,解決不同場景需求。
image.png

前面介紹的AI技術棧已經在阿里集團內部非常多的應用場景下進行了滲透和落地。如下圖中所示的眾多豐富業務場景下,會產出大量比如電商廣告、娛樂、地圖、物流等不同型別的資料,阿里巴巴AI體系能力為這些資料提供了價值提升和創造性業務加持。 
image.png

我們相信上述的海量資料以及多樣的場景在實際應用中具有廣泛性和通用性,並且也希望在阿里內部沉澱的經驗能夠更好地為外部客戶帶來相同的業務價值提升。因此阿里逐漸地打磨出了阿里巴巴PAI平臺對外提供服務,其整個發展歷程如下圖所示。接近十年的發展,PAI已經脫變為優秀的一站式雲原生AI平臺。
image.png

二、PAI:一站式雲原生AI平臺

下圖是PAI目前的完整產品矩陣,從中大家可以看到我們已經形成了非常豐富的產品形態,包括智慧標註、視覺化建模、互動式建模、雲原生深度訓練、自動學習等離線環節產品,同時我們訓練出來的模型可以透過線上的預測服務與實際業務系統進行對接。並且我們還建立了“商品”豐富的AI“淘寶”平臺(智慧生態市場),大家可以在市場中沉澱各種演算法和模型,進行交換和共享。
image.png

眾所周知,一個完整的AI開發鏈路主要包括資料準備、實驗構建及模型訓練、到最終的模型部署與線上服務,接下來重點會介紹PAI的雲原生產品家族,包括上圖中高亮的PAI-DSW互動式建模平臺、PAI-DLC雲原生深度學習訓練平臺、PAI-EAS線上預測體系以及其中PAI-Blade編譯最佳化產品,我們會按照使用者的使用鏈路進行介紹。

(一)實驗構建:PAI-DSW2.0

完成資料準備之後,使用者會從小規模的建模和實驗構建部分開始進行AI實踐。PAl-DSW(Data Science workshop)是PAI平臺推出的互動式程式設計環境,是一款針對Al開發者量身打造的雲端機器學習開發IDE,整合了開源的JupyterLab,並以外掛化的形式進行了深度定製化開發,無需任何運維配置,可直接開啟Notebook編寫、除錯、執行Python程式碼,是PAI建模產品中使用方式最為靈活的一個產品,深受廣大AI開發者的喜愛。今年PAI基於雲原生的架構,進一步推出推出了產品形態更豐富,使用方式更多樣,使用架構更安全的PAI-DSW2.0,其主要的新特色包括多AI程式設計模式、靈活開放的AI開發環境、安全高效以及整合易用,具體如下圖所示。

image.png

下圖是PAI-DSW2.0的技術架構。從中可以看到它完全基於雲原生的架構,基於ACK的排程體系,向下對接了多種靈活的儲存,向上我們透過不同的外掛不斷的擴充套件和豐富我們的產品能力,同時把這些能力和介面也對使用者進行了開放。
image.png

在PAI-DSW2.0中,我們提供了靈活開放的AI開發環境,無論使用者習慣於用輕量的JupyterLab互動式AI開發,還是習慣於用VS Code做複雜工程的開發和管理,或者說習慣於直接在terminal裡進行命令列或者vim開發,DSW都可以滿足。基於以上多樣和靈活的產品形態,我們在雲上提供了雲原生的線上AI建模方案,非常適用於一些線上開發場景,比如說團隊的AI線上協作開發,線上AI教學以及本地的AI研發遷移上雲。當前除了天池社群的大量開發者使用者外,PAI-DSW還吸引了不同行業的企業客戶,比如線上教育行業、網際網路消費行業以及AI創業公司等。

(二)大規模分散式訓練:PAI-DLC

在演算法實驗到出一定效果之後,使用者通常需要用大規模的生產資料來進行的模型生產訓練。在這一階段,很多開發者以及公司都會面臨在資料量規模擴大帶來的問題,比如說分散式的擴充套件,以及模型訓練加速。
針對這樣的問題,PAI在今年重磅推出了PAI-DLC雲原生深度學習訓練平臺,其架構圖如下圖所示。可以看出,PAI-DLC是Kubernetes-native架構,可以做到完全的容器化部署和使用。 基於ACK/ECI,PAI-DLC能夠提供資源的彈性擴充套件,進行不同任務下的資源排程和分配,向下相容支援了非常多的CPU機型以及GPU機型,無論面向大規模稀疏資料的訓練,還是面向感知類場景的訓練,都可以快速適配合適的雲原生資源。另外,PAI-DLC的核心能力是提供支援接近線性加速的核心,可以讓訓練任務在多種引擎上做到效能增強。
image.png

下圖benchmark展示了DLC上的效能資料和開源框架的對比,下圖(左)展示的是在很多電商廣告、推薦資訊流等場景下會遇到的大規模的稀疏矩陣的訓練加速問題,PAI-DLC基於Parameter Server架構能夠支援到百億特徵,千億樣本以及上千個節點的併發訓練,對比開源框架最高能做到7倍的效能提升。另外在一些深度學習感知類場景中--比如NLP、影像等--演算法開發常面臨引數量巨大的問題,有時可能達到幾億級別,做到高效的分散式擴充套件往往也會成為巨大的挑戰。PAI-DLC針對性提供了稠密分散式訓練加速的能力,透過benchmark資料的對比(下圖右),可看出叢集規模越大的情況下,PAI-DLC的效能優勢越明顯。 
總的來說,無論在推薦廣告,還是音影片解析、語音識別、語義識別等場景,都可以應用PAI-DLC獲得非常好的訓練效能加速效果。


image.png

基於雲原生架構以及極致的效能加速體驗,PAI-DLC在雲上吸引了非常多的人工智慧企業以及網際網路Top企業客戶。最近某個自動駕駛行業客戶的實踐案例中,透過PAI-DLC產品的加速,一個大規模模型的訓練時間從5天縮短為5小時,所消耗的分散式資源僅14.5倍,足以見加速效果的顯著。
遇到類似分散式加速的難題,歡迎來試用PAI-DLC,在分散式訓練這個環節上做到降本提效。

(三)模型推理服務:PAI-EAS+Blade

(1)PAI-EAS

在模型構建及訓練完成之後,將模型應用到業務中的重要環節是讓模型去預測業務中源源不斷產出的未知資料,通常有離線預測推理/線上預測推理兩種方式。現在越來越多的場景追求極致的實時性,因此PAI在模型應用到業務的最後一公里環節推出了線上模型推理服務,其中核心產品是PAI-EAS,其架構圖如下所示。

image.png

PAI-EAS是完全基於阿里雲容器服務ACK的雲原生服務,其主要優勢有多環境、靈活彈性、面向生產以及豐富的產品能力,具體如下圖所示。

image.png

基於上面的產品優勢,PAI-EAS對內對外都服務了非常多的客戶,在最近的雙十一大促中,EAS支援了智慧客服等眾多核心業務,其中單模型服務峰值高達40萬QPS,依然平穩度過。
線上推理服務不同於離線訓練操作,需要資源常駐,並且隨著業務量的提升,模型服務的線上QPS通常也會不斷提升,這就帶來了資源需求增長的問題。在這種情況下,怎麼能夠做到不影響業務QPS增長,降低成本投入,是很多AI公司,尤其是AI創業公司面臨的“兩難問題”。

(2)PAI-Blade

為了解決這個“兩難問題”,PAI在線上服務環節推出了PAI-Blade這款工具型產品,為使用者在資源常駐的線上服務環節提供降本提效的利器,其整體架構如下圖所示。
在PAI-Blade中,我們將模型壓縮、系統最佳化和模型分析等完整技術能力透過最簡單最易用的產品形態提供出來,使用者可以不需要理解底部處理的邏輯,只需要提交模型,然後經過大約十分鐘的最佳化任務,就可以直接獲得一個經過加速的新模型,然後將新模型做相應的部署和更新就可以得到一個效率更高的模型線上服務。在整個過程中,甚至可以做到零輸入最佳化,獲得精度無損的最佳化模型,為線上服務提效降本。
image.png

PAI-Blade已經幫助阿里內部非常多的業務場景獲得了不錯的模型最佳化效果,比如在安全部鑑黃業務場景中的最佳化效果達到了5.48倍,意味著線上GPU卡消耗僅需原先的約20%。
image.png

同時,PAI-EAS+Blade的組合拳在雲上也有很多客戶的實踐,目前在線上直播、線上教育以及移動分發場景下都有應用和落地。
例如某典型的智慧教育企業客戶的應用案例中,他們自己實現了業務OCR模型,應用在識別學生作業等場景。由於業務流程複雜造成的模型複雜,導致線上推理服務需要上百張卡才能支援。使用者模型在PAI-Blade進行最佳化之後,順利地將資源成本降低到了原先的一半,資源開銷節省50%。
未來,我們將推出更完整的推理服務體系,讓大家快速的將最佳化後的模型部署到端側,做到雲/邊/端的擴充套件,以及無論在哪種環境下,都可以實現推理服務的降本提效。 

三、快速上手演示案例

最後,透過PAI-DSW和PAI-EAS的一個小案例,讓大家來感受一下我們產品的使用方式,也歡迎大家自己直接進行試用。下圖是相關的社群和群,大家可以在其中進行關於PAI的交流和學習。
image.png

整個Demo主要包括(1)資料讀取,探索與分析(2)模型構建與訓練(3)模型部署三個部分。

(一)資料讀取,探索與分析

在支援Python原生讀取資料的基礎之上,為了方便使用者讀取資料,DSW提供了dswmagic command來幫助使用者從MaxCompute專案中讀取資料,同時在DSW中,還可以透過使用一些類似pandas的庫來對資料進行整理和分析,同時也可以透過各種使用者熟悉的庫將資料視覺化。比如下圖所展示的是從MaxCompute的公開專案中讀取Iris鳶尾花資料,並進行視覺化。
image.png

image.png

(二)模型構建與訓練

瞭解完資料後,我們就可以開始構建模型了。我們使用sklearn快速構建一個對Iris鳶尾花資料集的決策樹模型,並且對模型進行視覺化,程式碼和效果如下圖所示。
image.png
image.png

(三)模型部署

在完成了上面的模型訓練過程之後,我們也已經將模型匯出為了pmml檔案。接下來我們使用EASCMD對模型進行部署。在從DSW到EAS模型部署中,我們需要完成如下圖所示的主要步驟。
image.png

image.png

這樣,我們就完成了一個簡單的機器學習專案從資料讀取,分析,建模,訓練到部署,如需要除錯模型,進入EAS管控臺就能看到剛剛部署的模型服務,點選線上除錯即可,比如下圖。

image.png

基於以上幾個步驟,我們就完成了一個簡單的資料讀取,分析建模,離線模型訓練,再到線上的模型部署這樣的完整鏈路。如果大家有興趣的話,也可以直接在阿里雲官網的產品->人工智慧欄目下找到機器學習PAI產品,來體驗完整的從資料準備到模型開發訓練,模型管理再到模型部署的完整全流程的一站式AI服務。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004426/viewspace-2787684/,如需轉載,請註明出處,否則將追究法律責任。

相關文章