「開源人說」|AI普惠,阿里靈傑開源歷程與思考

簡介: 施興 阿里巴巴資深技術專家 阿里巴巴開源項目EasyRec負責人

以下爲開發者社區「開源人說」第四期——大數據&AI專場的主題分享,點擊鏈接瞭解更多精彩詳情👇

https://developer.aliyun.com/live/250636

image.png

 

日常生活中,打開淘寶可以看到自己感興趣的商品,打開抖音可以看到自己感興趣的視頻,這都得益於AI大數據分析,其中包含了自然語言處理、統計、機器學習推薦等算法;再比如自動駕駛主要基於深度學習的相關技術,天貓精靈主要基於豐富的語音識別技術以及大數據檢索能力。AI 已經在生活中無處不在,語音、自然語言處理、圖像視覺、自動駕駛、OCR、證件識別等都是 AI 領域的場景,這也意味着AI正在持續提供普惠的能力。

 

image.png

 

要使得AI 能夠真正廣泛應用、落地到各個場景,需要滿足三個條件:

第一,實用。需要能夠真正解決各方面的訴求,而不是單純的炫技;也需要真正落地,在 AI 工程化上做充分的準備。另外,也需要能夠加速行業應用孵化和創新,比如當下最火的AI繪圖Stable Diffusion,輸入關鍵的文本信息即可生成對應的圖片,是一個極具創新意義的項目。

第二,易用。需要有云原生AI平臺,規避冗長繁雜的部署流程,能夠在雲上一鍵拉起AI 應用場景。同時,能夠提供與線下部署效果一致的功能,融合雲上的很多性能特點,加速推理優化,快速應用到系統。雲上的 AI 能力是原子化的,可以模塊化輸出,對於一套大型系統, AI 可能只是整個系統裏面的一小環,AI普惠需要AI的各種功能能很方便地遷移對接到各個應用系統上。

第三,放心用。需要成本可控,各種數據模型能夠有開放的 API 以及開放的兼容格式。也需要能夠保障數據與模型安全,而云原生天然保障了安全性。

 

image.png

 

那麼,AI開源與雲的結合,能夠爲我們帶來什麼?

首先,雲是AI開源的最佳運行環境。用戶無需自行準備服務器、下載軟件,無需進行編譯部署等繁雜的準備工作,開箱即用。其次,云爲AI開源提供了新的商業模式,比如社區的討論和維護可以爲雲上爲使用開源軟件的企業提供額外服務,解疑答惑。第三,開源社區和雲平臺會有更多互動,比如雲爲開源提供彈性、可擴展等方面的能力;反之,雲平臺也可以對開源社區提出訴求,比如未來要發佈 Serverless 服務,提前規劃開源軟件的適配。最終兩者共同攜手,一起普惠 AI 數字世界。

 

image.png

(上圖爲阿里靈傑AI開源家族圖譜)

 

從最底層的資源調度層面、平臺工程層面、算法應用和算法基礎層面均有相關的項目實現開源。機器學習平臺PAI支持TensorFlow、PyTorch等流行的開源項目,也支持了很多國產化項目,比如OneFlow等,並在此之上實現了分佈式訓練框架以及分佈式推理能力的優化。任務調度上PAI Flow、Media Flow也即將開源。

 

算法側,應用層面 ModelScope已經發布,除了大規模預訓練模型之外,很多基礎模型比如語音、圖像、文本、推薦等相關項目也已開源。實時計算方面包括Flink ML(Flink Machine Learning),可以基於實時數據流做實時機器學習,比如點擊完商品馬上能出現相關推薦。另外,還有基於圖的機器學習框架、遷移學習、增強學習等。

 

image.png

 

在雲原生的機器學習應用場景,AI應用對調度也提出了更高的要求。因此我們發佈了koordinator,用於解決按作業調度優化,資源利用率提升等問題。koordinator能夠根據各個服務、應用的熱力圖來做調度均衡。比如某幾臺機器出現故障,則coordinator會從 QoS 層感知到服務穩定性的變化,然後進行重新調度,下線原來響應慢的幾個容器,將任務部署到新容器、新服務器上。

 

image.png

 

DeepRec在訓練推理引擎側基於Tensorflow 做了優化工作,它主要服務於推薦、搜索、廣告這幾類訴求。搜索、推薦、廣告一般是結構化數據,可以簡單理解爲用表(Table)來描述。我們在稀疏功能、訓練性能、部署及Serving方面做了很多優化工作。

 

稀疏特徵:模型數據處理中的很多特徵非常稀疏,比如一個人與某個商品之間產生了行爲,即爲一條特徵。淘寶有數十億商品,一個人每天瀏覽上千個商品,交互行爲的特徵非常稀疏。因此,我們引入了動態彈性特徵。傳統情況下,一般以固定哈希 Table 來存儲特徵。引入了動態彈性特徵功能以後,可以引入特徵准入和淘汰,比如可以動態地將很久以前過期的特徵淘汰掉,新生成的特徵也能動態地引入。

 

訓練性能:包括分佈式訓練框架、Runtime優化、圖優化以及算子優化。 AI 場景下的訓練,輸入數據的模式非常相似,時常不停地重複類似的計算邏輯。基於此特點,可以抽取出計算的關鍵路徑,使其優先執行,讓計算資源執行更充分,運行時間更短。

 

部署及Serving:部署側主要改善了使用體驗。 Serving 側主要做了多級混合存儲。通常情況下,要做預測服務,必須將模型加載到內存裏,如果是 GPU 則加載到顯存裏面。我們會將最熱門的模型特徵 embedding 部分優先放到顯存,再到內存,再到硬盤層,通過多級混合存儲方式,使大模型能夠在單機上存儲,減少成本。

 

image.png

 

做自然語言處理時,面對輸入的長短不一致,通常做法是固定長度,但該方法存在幾個問題:很長的輸入會有部分被丟棄,或者很短的輸入需要填入空白從而浪費內存和計算資源。因此,我們開發了BladeDISC,實現了面向深度學習、端到端的多尺度圖優化編譯器,能夠同時支持不同框架,包括TensorFlow、PyTorch、GPGPU、CPU 以及 ARMS。

 

image.png

 

Flink ML 是基於 Flink 做的實時機器學習算法庫。今年年初發布了Flink ML API, 能夠支持模型與數據實時傳輸,同時能夠支持多輸入的圖結構機器學習算法。另外,它雖然叫實時機器學習算法,也能夠支持批處理機器學習。實時機器學習算法較多使用於結構化場景,通常可能有 70% 的工作都在爲運行模型準備數據,比如從原始日誌裏面將數據抽取出來,然後做更多特徵加工。因此,後續Flink ML 也會從實時特徵工程上做更多投入。最終目標是期望 Flink ML 能夠成爲實時機器學習的事實標準。

 

image.png

 

EasyRec是針對推薦場景做的推薦算法庫,我們實現了很多頂會論文的算法,且進行了開源。同時,我們集成了很多性能優化,用戶不僅能夠快速享受SOTA 算法實現,也能享受到最好的性能實現。除了性能較優,EasyRec也很好地與雲進行了結合。無論從計算層面還是數據層面,都能支持不同平臺。比如支持 EMR、 Flink、MaxCompute、雲原生容器化服務。在輸入上,支持傳統的 HDFS、OSS對象存儲、MaxCpmpute Table 以及 Kafka 等實時數據流。

 

另外,我們開發集成了 AutoML功能,支持自動超參調優,支持特徵的自動生成,高階特徵可以通過 Auto Feature Engineering 的方式實現,也支持自動特徵篩選。

 

image.png

 

在視圖視覺場景,有 EasyCV ;在自然語言處理NLP 場景,有 EasyNLP 。EasyCV集成了多個場景和領域,在檢測、分類、分割、關鍵點 OCR 算法上均集成了很多算法,性能比原始算法提升 20% 以上。

 

我們優化的YoloX-PAI 算法從 backbone 層面實現了多網絡支持,在 neck網絡上加入了多尺度的圖像特徵融合提升效果,效果優於社區開源實現的YOLO5和YOLO6。

 

image.png

 

OFA和AliceMind是達摩院既開源了模型又開源了代碼的兩個項目。

 

OFA(One For All)是與任務、結構、模態都無關的序列到序列的學習框架,它在大模型、綠色低碳和服務化等多方面都取得了突破。相比於GPT-3,OFA僅需1%的計算資源即可實現相同的效果。OFA本身是一個大模型,一臺機器或一張顯卡無法存放,因此,它在服務化方面也進行了非常多的工作,能夠較輕鬆地將服務拉起。上圖中間的圖片爲輸入文本後,通過OFA輸出的圖片。

 

AliceMind是面向語言的預訓練大模型,去年刷新了全球最權威的機器視覺問答 VQA榜單,並以81.26的成績首次超越人類表現。除了 VQA 場景,AliceMind在中文理解生成、對話策略、對話生成、表格問答上也刷新了很多榜單,達到SOTA的水準。

image.png

 

回到開源的初心,我們的很多工作也借鑑了開源項目的成果,我們期望能夠在開源的基礎上結合阿里在場景上的應用,實現更大的擴展,將成果回饋給開源社區。因此,接下來我們也會在平臺、算法、應用和資源調度層面做更多持續開源的工作,讓更多開發者能夠享受到阿里在實踐場景下打磨的經驗。另外,也希望更多開發者能夠參與到開源社區,共建開源社區,建設AI新標準,開源且開放。

 

最後,我們期望更多開源產品能夠與雲結合,將實用、易用、放心用發揮得更加淋漓盡致,讓AI開源更加普惠數字世界。

原文鏈接:https://click.aliyun.com/m/1000364258/

本文爲阿里雲原創內容,未經允許不得轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章