日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Morphling:云原生部署 AI ,如何把降本做到极致?

發(fā)布時(shí)間:2025/3/20 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Morphling:云原生部署 AI ,如何把降本做到极致? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者|王?平(茶木)

隨著云原生技術(shù)的蓬勃發(fā)展和其日漸成熟的產(chǎn)業(yè)落地,云上機(jī)器學(xué)習(xí)正向大規(guī)模、工業(yè)化方向迅速挺進(jìn)。

近期,Morphling 作為阿里巴巴開源的 KubeDL 其中一個(gè)獨(dú)立的子項(xiàng)目,成為云原生計(jì)算基金會(huì)(CNCF)Sandbox 項(xiàng)目。旨在為大規(guī)模工業(yè)部署機(jī)器學(xué)習(xí)模型推理(model inference)服務(wù),提供自動(dòng)化的部署配置調(diào)優(yōu)、測(cè)試和推薦,在 GPU 虛擬化與復(fù)用技術(shù)日趨發(fā)展成熟的大環(huán)境下,幫助企業(yè)充分享受云原生優(yōu)勢(shì),優(yōu)化在線機(jī)器學(xué)習(xí)服務(wù)性能,降低服務(wù)部署成本,高效地解決機(jī)器學(xué)習(xí)在產(chǎn)業(yè)實(shí)際部署中的性能和成本挑戰(zhàn)。此外,Morphling 項(xiàng)目相關(guān)學(xué)術(shù)論文 “Morphling: Fast, Near-Optimal Auto-Configuration for Cloud-Native Model Serving”,被 ACM Symposium on Cloud Computing 2021 (ACM SoCC 2021)接收。

Morphling 本意是游戲 Dota 中的英雄“水人”,他可以根據(jù)環(huán)境要求,通過(guò)靈活改變自身形態(tài),優(yōu)化戰(zhàn)斗表現(xiàn)。我們希望通過(guò) Morphling 項(xiàng)目,實(shí)現(xiàn)針對(duì)機(jī)器學(xué)習(xí)推理作業(yè)的靈活、智能的部署配置改變,優(yōu)化服務(wù)性能,降低服務(wù)部署成本。

Morphling Github:https://github.com/kubedl-io/morphling
Morphling 網(wǎng)站:https://kubedl.io/tuning/intro/

背景

云上機(jī)器學(xué)習(xí)的工作流,可以分為模型訓(xùn)練(model training)和模型推理(model serving)兩部分:模型在離線訓(xùn)練、調(diào)優(yōu)測(cè)試完成之后,會(huì)以容器的方式部署為在線應(yīng)用,為用戶提供不間斷的高質(zhì)量推理服務(wù),例如在線直播視頻中的目標(biāo)物品識(shí)別、在線語(yǔ)言翻譯工具、在線圖片分類等。例如,阿里巴巴內(nèi)部的淘系內(nèi)容社交平臺(tái) Machine Vision Application Platform(MVAP),通過(guò)在線機(jī)器學(xué)習(xí)推理引擎,支持淘系直播商品看點(diǎn)識(shí)別、直播封面圖去重、逛逛圖文分類等業(yè)務(wù)。根據(jù)英特爾的數(shù)據(jù),大規(guī)模推理 (“Inference at Scale”) 時(shí)代將至:到 2020 年,推理與訓(xùn)練周期比率超過(guò) 5:1;亞馬遜的數(shù)據(jù)顯示,2019 年亞馬遜 AWS 在模型推理服務(wù)上的基礎(chǔ)設(shè)施開銷,占到其機(jī)器學(xué)習(xí)任務(wù)總開銷的 90% 以上。機(jī)器學(xué)習(xí)推理已經(jīng)成為人工智能落地和“變現(xiàn)”的關(guān)鍵。

云上推理任務(wù)

推理服務(wù)本身是一種特殊的 long running 微服務(wù)形態(tài),隨著云上推理服務(wù)日趨增長(zhǎng)的部署體量,其成本和服務(wù)性能,成為至關(guān)重要的優(yōu)化指標(biāo)。這要求運(yùn)維團(tuán)隊(duì)對(duì)推理容器,在部署前進(jìn)行合理的配置優(yōu)化,包含硬件資源配置、服務(wù)運(yùn)行參數(shù)配置等。這些優(yōu)化配置,在協(xié)調(diào)服務(wù)性能(例如響應(yīng)時(shí)間、吞吐率)和資源使用效率中,起到至關(guān)重要的作用。在實(shí)踐中,我們的測(cè)試發(fā)現(xiàn), 不同的部署配置會(huì)帶來(lái)高達(dá)十幾倍的吞吐率/資源使用率的差距。

我們依托阿里大量的 AI 推理服務(wù)經(jīng)驗(yàn),首先總結(jié)了推理業(yè)務(wù),相對(duì)于傳統(tǒng)服務(wù)部署的配置有以下特性:

  • 使用昂貴的顯卡資源,但顯存用量低:GPU 虛擬化與分時(shí)復(fù)用技術(shù)的發(fā)展和成熟,讓我們有機(jī)會(huì)在一塊 GPU 上同時(shí)運(yùn)行多個(gè)推理服務(wù),顯著降低成本。與訓(xùn)練任務(wù)不同,推理任務(wù)是使用訓(xùn)練完善的神經(jīng)網(wǎng)絡(luò)模型,將用戶輸入信息,通過(guò)神經(jīng)網(wǎng)絡(luò)處理,得到輸出,過(guò)程中只涉及神經(jīng)網(wǎng)絡(luò)的前向傳輸(Forward Propagation),對(duì)顯存資源的使用需求較低。相比之下,模型的訓(xùn)練過(guò)程,涉及神經(jīng)網(wǎng)絡(luò)的反向傳輸(Backward Propagation),需要存儲(chǔ)大量中間結(jié)果,對(duì)顯存的壓力要大很多。我們大量的集群數(shù)據(jù)顯示,分配給單個(gè)推理任務(wù)整張顯卡,會(huì)造成相當(dāng)程度的資源浪費(fèi)。然而如何為推理服務(wù)選擇合適的 GPU 資源規(guī)格,尤其是不可壓縮的顯存資源,成為一個(gè)關(guān)鍵難題。
  • 性能的資源瓶頸多樣:除了 GPU 資源,推理任務(wù)也涉及復(fù)雜的數(shù)據(jù)前處理(將用戶輸入 處理成符合模型輸入的參數(shù)),和結(jié)果后處理(生成符合用戶認(rèn)知的數(shù)據(jù)格式)。這些操作通常使用 CPU 進(jìn)行,模型推理通常使用 GPU 進(jìn)行。對(duì)于不同的服務(wù)業(yè)務(wù),GPU、CPU 以及其他硬件資源,都可能成為影響服務(wù)響應(yīng)時(shí)間的主導(dǎo)因素,從而成為資源瓶頸。
  • 此外,容器運(yùn)行參數(shù)的配置,也成為業(yè)務(wù)部署人員需要調(diào)優(yōu)的一個(gè)維度:除了計(jì)算資源外,容器運(yùn)行時(shí)參數(shù)也會(huì)直接影響服務(wù) RT、QPS 等性能,例如容器內(nèi)服務(wù)運(yùn)行的并發(fā)線程數(shù)、推理服務(wù)的批處理大小(batch processing size)等。

最佳化推理服務(wù)部署配置

以 Kubernetes 為主流的云原生技術(shù),正在以豐富的形態(tài)被廣泛用于新的應(yīng)用負(fù)載 ,將機(jī)器學(xué)習(xí)任務(wù)(包括訓(xùn)練和推理)構(gòu)建在 Kubernetes 上,并實(shí)現(xiàn)穩(wěn)定、高效、低成本的部署,成為各大公司推進(jìn)AI項(xiàng)目、服務(wù)上云的重點(diǎn)和關(guān)鍵。Kubernetes 框架下的推理容器配置,業(yè)界還在不斷探索與嘗試。

  • 最常見的模式是根據(jù)人為經(jīng)驗(yàn),手動(dòng)配置參數(shù),簡(jiǎn)單但低效。實(shí)際情況常常是:服務(wù)部署人員站在集群管理者的角度,為了保證服務(wù)質(zhì)量,傾向于配置較多的資源冗余,在穩(wěn)定性和效率之間選擇犧牲后者,造成大量資源浪費(fèi);或?qū)\(yùn)行參數(shù)直接采用默認(rèn)值進(jìn)行配置,損失了性能優(yōu)化機(jī)會(huì)。
  • 另一個(gè)可選的方案是,基于資源歷史水位畫像,進(jìn)一步細(xì)化優(yōu)化資源配置。但我們的觀察和實(shí)踐發(fā)現(xiàn),日常資源水位不能體現(xiàn)服務(wù)壓測(cè)時(shí)的流量高峰,無(wú)法評(píng)估服務(wù)能力上限;其次,對(duì)于新上線的業(yè)務(wù),普遍缺乏可靠的歷史水位信息可供參考;另外,由于機(jī)器學(xué)習(xí)框架的特性,GPU 顯存的歷史用量通常不能正確反映應(yīng)用對(duì)顯存的真實(shí)需求;最后,對(duì)于容器內(nèi)部程序運(yùn)行參數(shù)的調(diào)優(yōu),從歷史數(shù)據(jù)的角度缺少足夠的數(shù)據(jù)支持。

總體來(lái)說(shuō),雖然在更通用的超參調(diào)優(yōu)方面,Kubernetes 社區(qū)有一些自動(dòng)化參數(shù)推薦的研究和產(chǎn)品,但業(yè)界缺少一款直接面向機(jī)器學(xué)習(xí)推理服務(wù)的云原生參數(shù)配置系統(tǒng)。

我們依托阿里大量的AI推理服務(wù)經(jīng)驗(yàn),總結(jié)發(fā)現(xiàn),推理業(yè)務(wù)配置調(diào)優(yōu)的痛點(diǎn)在于:

  • 缺少自動(dòng)化性能測(cè)試、參數(shù)調(diào)優(yōu)的框架:迭代式的手動(dòng)調(diào)整配置-服務(wù)壓測(cè),給部署測(cè)試帶來(lái)巨大人工負(fù)擔(dān),使這一方向在現(xiàn)實(shí)下成為不可能的選項(xiàng)。
  • 穩(wěn)定和非侵入式的服務(wù)性能測(cè)試流程:在生產(chǎn)環(huán)境下對(duì)在線服務(wù)直接進(jìn)行部署測(cè)試,會(huì)影響用戶體驗(yàn)。
  • 要求高效的參數(shù)組合調(diào)優(yōu)算法:考慮到需要配置的參數(shù)數(shù)量增多時(shí),聯(lián)合調(diào)試多維度參數(shù)的組合優(yōu)化配置,對(duì)調(diào)優(yōu)算法提出了更高的效率要求。

Morphling

針對(duì)上述難題,阿里巴巴云原生集群管理團(tuán)隊(duì)和開發(fā)并開源了基于 Kubernetes 的機(jī)器學(xué)習(xí)推理服務(wù)配置框架——Morphling,將參數(shù)組合調(diào)優(yōu)全流程自動(dòng)化,并結(jié)合高效的智能化調(diào)優(yōu)算法,使推理業(yè)務(wù)的配置調(diào)優(yōu)流程,能夠高效地運(yùn)行在 Kubernetes 之上,解決機(jī)器學(xué)習(xí)在產(chǎn)業(yè)實(shí)際部署中的性能和成本挑戰(zhàn)。

Morphling 對(duì)參數(shù)調(diào)優(yōu)的過(guò)程進(jìn)行了不同層次的云原生抽象,提供給用戶簡(jiǎn)潔且靈活的配置接口,將底層的容器操作、數(shù)據(jù)通信、采樣算法、和存儲(chǔ)管理封裝在控制器中。具體來(lái)說(shuō),Morphling 的參數(shù)調(diào)優(yōu)-性能壓測(cè),采用 experiment-trial 工作流程。

  • Experiment 作為最貼近用戶的一層抽象,通過(guò)交互,由用戶指定機(jī)器學(xué)習(xí)模型的存儲(chǔ)位置、待調(diào)優(yōu)的配置參數(shù)、測(cè)試數(shù)量上限等,定義一次具體的參數(shù)調(diào)優(yōu)作業(yè)。
  • 對(duì)于每個(gè)參數(shù)調(diào)優(yōu)作業(yè) experiment,Morphling 定義了另一層抽象:trial。Trial 封裝了針對(duì)某一特定參數(shù)組合的一次性能測(cè)試流程,涵蓋了底層的 Kubernetes 容器操作:每個(gè) trial 中,Morphling 根據(jù)測(cè)試參數(shù)組合,配置并啟動(dòng)推理服務(wù)容器,檢測(cè)服務(wù)的可用性和健康狀態(tài),并對(duì)服務(wù)進(jìn)行壓力測(cè)試,測(cè)量該配置下容器的服務(wù)性能,例如響應(yīng)時(shí)間延遲、服務(wù)吞吐量、資源使用效率等。測(cè)試結(jié)果將存儲(chǔ)在數(shù)據(jù)庫(kù)中,并反饋給 experiment。
  • Morphling通過(guò)智能的超參調(diào)優(yōu)算法,選擇少量配置組合進(jìn)行性能測(cè)試(trial),每輪測(cè)試結(jié)果作為反饋,來(lái)高效選擇下一組待測(cè)參數(shù)。為了避免窮舉方式的規(guī)格點(diǎn)采樣,我們采用貝葉斯優(yōu)化作為畫像采樣算法的內(nèi)部核心驅(qū)動(dòng),通過(guò)不斷細(xì)化擬合函數(shù),以低采樣率(<20%)的壓測(cè)開銷,給出接近最優(yōu)的容器規(guī)格推薦結(jié)果。

通過(guò)這樣迭代式的采樣-測(cè)試,最終反饋給業(yè)務(wù)部署人員優(yōu)化的配置組合推薦。

同時(shí),Morphling 提供了管控套件:Morphling-UI,方便業(yè)務(wù)部署團(tuán)隊(duì)在可界面化上,通過(guò)簡(jiǎn)單易用的操作,發(fā)起推理業(yè)務(wù)配置調(diào)優(yōu) experiment、監(jiān)控調(diào)優(yōu)過(guò)程、比較調(diào)優(yōu)結(jié)果。

Morphling 在淘系內(nèi)容社交平臺(tái)中的實(shí)踐

阿里巴巴內(nèi)部豐富的在線機(jī)器學(xué)習(xí)推理場(chǎng)景和大量的推理服務(wù)實(shí)例需求,為 Morphling 的落地驗(yàn)證提供了第一手的落地實(shí)踐和測(cè)試反饋。其中,阿里淘系內(nèi)容社交平臺(tái)Machine Vision Application Platform(MVAP)團(tuán)隊(duì),通過(guò)在線機(jī)器學(xué)習(xí)推理引擎,支持淘系直播商品看點(diǎn)識(shí)別、直播封面圖去重、逛逛圖文分類等業(yè)務(wù)。

在 2020 年雙十一期間,我們通過(guò) Morphling 對(duì) AI 推理容器進(jìn)行了規(guī)格測(cè)試、優(yōu)化,尋找性能和成本之間的最優(yōu)解,同時(shí)算法工程團(tuán)隊(duì)進(jìn)而對(duì)這些資源消耗型的推理模型,例如淘系視頻看點(diǎn)服務(wù),做出針對(duì)性的模型量化、分析,并從 AI 模型設(shè)計(jì)角度進(jìn)行優(yōu)化,以最少的資源支持了雙十一的洪峰流量,同時(shí)保證業(yè)務(wù)的性能不下降,極大的提高 GPU 利用率和降低了成本。

學(xué)術(shù)探索

為了提高推理服務(wù)參數(shù)調(diào)優(yōu)過(guò)程的效率,阿里巴巴云原生集群管理團(tuán)隊(duì),針對(duì)推理業(yè)務(wù)的特性,進(jìn)一步探索了使用元學(xué)習(xí)(meta-learning)和小樣本回歸(few-shot regression)實(shí)現(xiàn)更高效的、低采樣成本的配置調(diào)優(yōu)算法,應(yīng)對(duì)實(shí)際業(yè)界“快速、小樣本采樣、低測(cè)試成本”的調(diào)優(yōu)要求,以及面向云原生且自動(dòng)化的調(diào)優(yōu)框架。相關(guān)學(xué)術(shù)論文 “Morphling: Fast, Near-Optimal Auto-Configuration for Cloud-Native Model Serving”,被ACM Symposium on Cloud Computing 2021 (ACM SoCC 2021)接收。

近年,云上 AI 推理任務(wù)的優(yōu)化部署相關(guān)主題活躍在各大云計(jì)算、系統(tǒng)相關(guān)的學(xué)術(shù)期刊和會(huì)議,成為學(xué)術(shù)界探索的熱點(diǎn)。探索的主題主要包括,AI 模型的動(dòng)態(tài)選擇、部署實(shí)例的動(dòng)態(tài)闊縮容、用戶訪問(wèn)的流量調(diào)度、GPU 資源的充分利用(例如模型動(dòng)態(tài)加載、批處理大小優(yōu)化)等。然而,從大規(guī)模業(yè)界實(shí)踐出發(fā),最佳化容器級(jí)別的推理服務(wù)部署這一問(wèn)題的研究,尚屬首次。

算法方面,性能調(diào)優(yōu)作為經(jīng)典的超參數(shù)優(yōu)化(hyper-parameter tuning)問(wèn)題。傳統(tǒng)超參調(diào)優(yōu)方法例如貝葉斯優(yōu)化,難以面對(duì)高維度(多配置項(xiàng))且大搜索空間的調(diào)優(yōu)問(wèn)題。例如,對(duì)于 AI 推理任務(wù),我們?cè)?CPU 核數(shù)、GPU 顯存大小、批處理 batch size、GPU 型號(hào)這四個(gè)維度(配置項(xiàng))進(jìn)行“組合優(yōu)化”式的超參調(diào)優(yōu),每個(gè)配置項(xiàng)有 5~8 個(gè)可選參數(shù)。這樣,組合情況下的參數(shù)搜索空間就高達(dá) 700 個(gè)以上。基于我們?cè)谏a(chǎn)集群的測(cè)試經(jīng)驗(yàn)積累,對(duì)于一個(gè) AI 推理容器,每測(cè)試一組參數(shù),從拉起服務(wù)、壓力測(cè)試、到數(shù)據(jù)呈報(bào),需要耗時(shí)幾分鐘;與此同時(shí),AI 推理業(yè)務(wù)的種類繁多,更新迭代頻繁,部署工程師人力有限,測(cè)試集群成本有限。要在這樣大的搜索空間內(nèi),高效地測(cè)試出最優(yōu)的配置參數(shù),對(duì)超參調(diào)優(yōu)算法提出了新的挑戰(zhàn)。

在這篇論文中,我們的核心觀察是,對(duì)于不同的 AI 推理業(yè)務(wù),其需要優(yōu)化各項(xiàng)的配置(例如 GPU 顯存、批處理大小)對(duì)于容器的服務(wù)性能(例如 QPS)影響,“趨勢(shì)穩(wěn)定且相似”,表現(xiàn)在可視化的“配置-性能”曲面上,體現(xiàn)為,不同AI推理實(shí)例,“配置-性能”曲面的形狀相似,但配置對(duì)性能的影響程度和關(guān)鍵節(jié)點(diǎn),在數(shù)值上各不相同:

上圖可視化了三種 AI 推理模型,其<CPU 核數(shù)、GPU顯存大小>的二維配置,對(duì)容器服務(wù)吞吐量 RPS 的影響。論文提出,使用 Model-Agnostic Meta-Learning(MAML)對(duì)這些共性進(jìn)行提前學(xué)習(xí),訓(xùn)練出元模型,從而對(duì)新的 AI 推理性能測(cè)試,快速找到曲面中的關(guān)鍵節(jié)點(diǎn),以元模型出發(fā),作出小樣本下(5%)的精確擬合。

總結(jié)

Morphling 基于的 Kubernetes 機(jī)器學(xué)習(xí)推理服務(wù)配置框架,結(jié)合“快速、小樣本采樣、低測(cè)試成本”的調(diào)優(yōu)算法,實(shí)現(xiàn)了面向云原生的自動(dòng)化且穩(wěn)定高效的 AI 推理部署調(diào)優(yōu)流程,更快地賦能部署流程的優(yōu)化和迭代,加速機(jī)器學(xué)習(xí)業(yè)務(wù)應(yīng)用的上線。Morphling 和 KubeDL 的結(jié)合,也會(huì)使得 AI 從模型訓(xùn)練,到推理部署的配置調(diào)的優(yōu)體驗(yàn)更為流暢。

Reference

Morphling Github:
https://github.com/kubedl-io/morphling

Morphling 網(wǎng)站:
https://kubedl.io/tuning/intro/

KubeDL Github:
https://github.com/kubedl-io/kubedl

KubeDL 網(wǎng)站:
https://kubedl.io/

戳原文,查看 Morphling 項(xiàng)目 github 主頁(yè)!


近期熱門

#2021·云棲大會(huì)定檔# 掃碼報(bào)名免費(fèi)抽好禮!

掃描下方【云棲大會(huì)報(bào)名二維碼】完成報(bào)名并截圖,添加云原生小助手微信號(hào)(AlibabaCloud888)發(fā)送截圖即可獲得抽獎(jiǎng)機(jī)會(huì)!快來(lái)試試吧~

云棲大會(huì)報(bào)名二維碼

總結(jié)

以上是生活随笔為你收集整理的Morphling:云原生部署 AI ,如何把降本做到极致?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。