《華為云 王雷博-基于Volcano的云原生AI基礎設施落地實踐-v2.pdf》由會員分享,可在線閱讀,更多相關《華為云 王雷博-基于Volcano的云原生AI基礎設施落地實踐-v2.pdf(23頁珍藏版)》請在三個皮匠報告上搜索。
1、基于基于VolcanoVolcano的云原生的云原生AIAI基礎設施的落地實踐基礎設施的落地實踐王雷博王雷博 華為云容器服務架構師華為云容器服務架構師個人簡介個人簡介 王雷博,華為云容器服務架構師,CNCF Volcano開源項目負責人。負責華為云容器調度系統、混部系統、FinOps體系構建。目錄目錄 云原生AI基礎設施面臨的挑戰 Volcano項目介紹 基于Volcano的AI基礎設施實踐人工智能發展趨勢:人工智能發展趨勢:AIAI創新加速、創新加速、ChatGPTChatGPT發布引發革命發布引發革命ChatgptChatgpt及及StableDiffusionStableDiffusio
2、n加速加速AIGCAIGC進入拐點進入拐點2016年DeepMind圍棋各個軟件用戶數達到各個軟件用戶數達到100100萬所用的時間萬所用的時間2018年 Google BERT2019年 DeepMindAlphaStar 游戲2019年 OpenAIGPT-32021年 DeepMindAlphaFold2 蛋白質結構2022年 OpenAIChatGPTAIGC(AI Generated Content)是指使用人工智能技術自動或輔助地生成或編輯文本、音頻、視覺等數字內容,也被稱為生成式AI。它涉及無監督和半監督學習算法,AIGC是人工智能技術從感知、認知到創造的延伸。人工智能面臨的挑戰
3、人工智能面臨的挑戰AIAI任務性能依賴高性能的調度器任務性能依賴高性能的調度器相對于微服務,訓練任務更復雜,涉及多個不同角色的進程調度、并行以及協同;大規模集群調度吞吐率亟待提升精細化的管理和調度異構資源,實現分時復用批量調度策略、彈性調度、搶占、優先級、支持多種AI訓練框架通過對應用的感知、硬件拓撲(Nvlink、HCCS、Switch、NUMA)的感知,提供智能調度,提升作業性能大大模型訓練嚴重依賴高性能網絡:模型訓練嚴重依賴高性能網絡:AI算法模型參數量呈指數級上升,大模型不斷涌現,訓練大模型需要分布式多卡協同;節點內模型并行,依賴NVLink高速鏈路承載前向和反向過程中產生的巨大通信量
4、;節點間采用流水線+數據并行,采用節點點的高性能網絡設備(IB、RDMA、高性能交換機)、集合通信庫(HCCL、NCCL)以及動態路由規劃隨著集群內節點和Pod 數量的增加,一般CNI網絡插件難以滿足所需的吞吐量吞吐量。因此需要高性能的容器網絡 AIGCAIGC大模型、自動駕駛等催生大規模算大模型、自動駕駛等催生大規模算力需求:力需求:目前AI訓練所需算力增長規律是大約每隔3-4月翻倍,而半導體摩爾定律是18個月翻倍,全球算力有告罄風險;ChatGPT訓練算力需要1wA100卡月,推理場景4816卡常備,單次訓練成本1000w美金2.AIGC提速降本是剛需,如Colossal-AI:AIGC大
5、模型加速方案一行代碼,提速6.4倍,成本降低85%3.自動駕駛訓練、仿真計算,如Tesla FSD 訓練:1w A100卡,標注:4k A100卡全球數據中心普遍資源利用率不高:全球數據中心普遍資源利用率不高:據 Gartner 統計,企業CPU平均使用率不足15%15%,GPU使用率也不理想,造成集群利用率低的原因有多種;資源碎片化:大數據/AI如果使用獨立資源池,資源需求會隨著任務訴求有明顯的波峰波谷資源配置不合理:訓練任務資源使用情況難以預測,申請資源時具有盲目性,通常申請過量資源資源調度不均衡:節點GPU/NPU資源耗盡,導致服務器上CPU資源出現嚴重空閑導致浪費GPU任務通常會交替使
6、用CPU和GPU,當CPU計算成為瓶頸時,GPU資源會出現浪費算力需求算力需求任務調度任務調度高性能高性能網絡網絡算算力利用率力利用率云原云原生基礎設施成為生基礎設施成為AIAI的主流選擇的主流選擇核心價值核心價值統一的異構資源管理:統一的異構資源管理:Kubernetes支持高效的管理異構算力資源、高性能網絡;利用云原生分布式云技術,輕松實現云、邊、端側異構資源的統一管理和調度;資源資源利用率利用率高:高:容器技術與底層共享操作系統,性能更加優良,系統負載更低,在同等條件下運行更多的應用實例,更充分地利用系統資源;豐富的生態軟件:豐富的生態軟件:Kubernetes生態提供了豐富的訓練、推理
7、框架、工具集,滿足業務的多樣性需求;DevOps/DevOps/MLOpsMLOps:基于云原生技術的持續續集成和部署,大大提升大模型應用的開發速度,助力持續創新;簡便運維:簡便運維:云原生技術以應用程序為中心,可幫助應用與基礎架構分離,實現簡化部署、秒級彈性和基礎設施免運維管理;InferentiaTPUGPUAscendFPGA云原云原生生AIAI正在加速產業化落地正在加速產業化落地Gartner 預測,到 2023 年 70%的 AI 應用會基于容器和 Serverless 技術開發,實際生產中,越來越多的 AI 業務比如自動駕駛、NLP 等也正在轉向容器化部署;IDC 發布了云原生 A
8、I-加速 AI 工程化落地的報告,報告中指出云原生 AI 能夠有效加速 AI 工程化落地,并對云原生 AI 的能力劃分了三個等級;OpenAIOpenAI的云原生基礎設施發展的云原生基礎設施發展歷程歷程Scaling Kubernetes to 2,500 nodes OpenAI 創建于 2015 年,并于2018 年在 DevOps 和 SRE 社區中脫穎而出,這要歸功于其對大規模 Kubernetes 使用的深刻技術洞察力。1.從公司成立之初就一直在使用 Kubernetes 進行深度學習研究。2.有多個Kubernetes集群。部分部署在云端,部分則部署在裸機服務器上。3.最大的 Ku
9、bernetes 集群在 Azure 中運行,當時有超過 2,500 個節點。4.克服各種工程挑戰。例如處理 etcd 和網絡性能,提高 kube-dns 可靠性等。Scaling Kubernetes to 7,500 nodes2021 年,OpenAI 工程師闡明了他們的下一個重要旅程將 Kubernetes 擴展到 7,500 個節點。除了 Kubernetes 集群的三倍增長之外,他們的文章還透露:1.該集群用于“GPT-3、CLIP 和 DALLE 等大型模型”,以及快速的小規模迭代研究。2.一次可以使用大約 200,000 個 IP 地址。3.利用了 NVIDIA GPU,這需要
10、額外的努力來重新實現所有重要的健康檢查?;诨赩olcanoVolcano構建構建AIAI基礎設施,實現基礎設施,實現AIAI加速、降本增效加速、降本增效業界首個云原生批量計算平臺2019年6月開源,2020年進入CNCF,目前是CNCF孵化級項目2.6k star,450+全球貢獻者50+企業生產落地社區用戶社區用戶Data from https:/cf.ioTop Top ContributorsUsersUsersVolcanoVolcano架構架構1.1.統一的作業管理統一的作業管理 提供完善作業生命周期管理,統一支持幾乎所有主流的 計算框架,如Pytorch,MPI,Horovod
11、,Tensorflow、Spark-operator,Flink-operator等。2.2.豐富的高階調度策略豐富的高階調度策略 公平調度、任務拓撲調度、基于SLA調度、作業搶占、回填、彈性調度、混部等。3.3.細粒度的資源管理細粒度的資源管理 提供作業隊列,隊列資源預留、隊列容量管理、多租戶 的動態資源共享。4.4.性能優化和異構資源管理性能優化和異構資源管理 調度性能優化,并結合 Kubernetes 提供擴展性、吞吐、網絡、運行時的多項優化,異構硬件支持x86,Arm,GPU,昇騰,昆侖等。Volcano GlobalKubernetesVolcano-controllerVolcan
12、o-schedulerKubernetesVolcano-controllerVolcano-schedulerKube-apiserverJob/JobFlowQueuevc-controllervc-schedulervsubkubectlNodeNUMAGPUNodeNUMAGPU1 12 23 34 4VolcanoVolcano在華為云的實踐在華為云的實踐 運行于華為云眾多容器服務:CCE、CCI、UCS、IEF 支撐業務:華為云外部客戶業務、以及公司內部業務,如終端業務(應用市場、搜索、地圖、定位)、ModelArts AI平臺服務、質量與流程IT、IOT業務等 負載類型:微服務、
13、大數據分析、機器學習、深度學習等 規模:上千個集群,百萬容器AIBTMAIAIBBTTMMAI任務大數據任務轉碼微服務托管式托管式K8s CCEHHHHPC任務NodekubeletNodeKATAAIBMHH批量計算任務批量計算任務微服務微服務AIAITT分布式云分布式云UCSUCSMServerless 容器容器CCI基于基于VolcanoVolcano的云原生的云原生AIAI基礎設施基礎設施基礎資源基礎資源開源開源AIAI框架框架華為云華為云AIAI服務服務Modelarts用戶用戶AIAI工作負載工作負載 智能調度智能調度應用加速應用加速APIAPI控制器控制器智能優化子系統智能優化子
14、系統調度策略調優多集群調度吞吐優化資源超賣基礎調度子系統基礎調度子系統優先級調度公平調度容器彈性智能應用混部批量調度vGPU調度GPU拓撲調度NPU算力切分智能運維智能運維智能巡檢集群監控診斷算力供給算力供給Workflow engineWorkflow engineCCICCICCE TurboCCE Turbo鏡像加速all-reduce/rank tableall-reduce/rank table網絡預熱psps-worker-worker彈性訓練FinopsFinops成本洞察成本優化云原生緩存高性能網絡高性能網絡高性能存儲高性能存儲異構算力異構算力成本畫像DatasetJobflo
15、wPodGroupVolcano JobdatasetdatasetMCPMCP 提升資源利用率:提升資源利用率:智能應用調度,充分利用集群資源;xgpu異構資源虛擬化,多任務共享異構資源;在離線混合部署和超賣,任務資源動態實時搶占;支持彈性訓練/彈性推理;性能提升:性能提升:結合NCCL/HCCL的硬件拓撲感知調度;數據集訪問加速,大幅提升訓練速度;容器鏡像免加載,加速容器啟動;結合基礎設施,構建“應用+資源”感知調度能力;支持豐富的AI調度策略,提升分布式訓練的性能力;高易用性和高擴展性:高易用性和高擴展性:支持覆蓋機器學習全生命周期前端控制臺;支持業界主流的訓練框架及工作流編排框架;支持
16、面向AI業務的監控系統和日志系統;降低運維成本和使用成本:降低運維成本和使用成本:提供AI環境一鍵部署能力;為用戶節省AI組件運維成本;Finops成本優化;統一的計算平臺,支持主流北向統一的計算平臺,支持主流北向AIAI生態和框架生態和框架支持多種異構設備支持多種異構設備 Gang-scheduling Fair-share scheduling Queue scheduling Preemption scheduling Topology-based scheduling Reclaims Backfill Resource Reservation支持幾乎所有的主流計算框架支持幾乎所有的主
17、流計算框架支持豐富的作業調度策略支持豐富的作業調度策略GPUGPU資源管理和調度資源管理和調度GPUGPU基礎基礎設施設施推理加速型Pi2Pi2(T4T4)AIAI on K8son K8s華為云華為云IDC推理加速型Pi3Pi3(A30A30)訓練加速型P2sP2s(V100V100)訓練加速型P3vP3v(A800A800)華為云容器引擎華為云容器引擎 CCECCEServerlessServerless異構資源異構資源按量付費按量付費CCICCI健康檢查健康檢查指標監控指標監控彈性伸縮彈性伸縮GPUGPU運維運維GPUGPU調度調度GPUGPU管理管理GPUGPU虛擬化虛擬化云原生云原生
18、GPUGPU編排調度編排調度GPU管理:GPU資源全生命周期管理GPU調度:Volcano提供AI場景的組、隊列、拓撲感知調度等高階調度策略GPU可觀測性:健康檢查、故障隔離和資源監控GPU的彈性伸縮:基于GPU相關指標的容器實例彈性伸縮云原生云原生GPUGPU虛擬化:虛擬化:細粒度細粒度GPUGPU資源隔離資源隔離/共享共享線上、線下同棧的虛擬化技術云原生云原生GPUGPU基礎設施基礎設施多種規格GPU機型可供選擇按量付費、極致彈性的Serverless異構算力資源池GPUGPU資源管理和調度資源管理和調度 按需選擇按需選擇GPUGPU共享方式:共享方式:共享不隔離:多任務共享同一個物理GP
19、U資源,不進行資源隔離,原生搶占方式使用算力和顯存;共享隔離:多任務共享同一個物理GPU資源,資源強隔離;按需申請資源:按需申請資源:AI任務按需申請GPU資源,提升GPU資源使用效率;資源搶占:資源搶占:高優先級任務動態實時搶占低優先級任務GPU資源;低優先級任務充分使用GPU空閑資源;GPUGPU虛擬化能力虛擬化能力CCEvolcanoKubelet/Device pluginXgpu DriverNPUNPU資源管理和調度資源管理和調度 HCCS親和性調度:優先將Pod分配到同一個HCCS,發揮HCCS互聯的高帶寬優勢;碎片最小化調度:提供服務器級別親和調度,優先占滿一個節點,降低集群碎
20、片;集群通信優化,減少Tor流量,實現無阻通信,可實現性能40%提升;故障感知:支持芯片級故障隔離、芯片降頻故障隔離、芯片連接交換網絡路由故障隔離;AIAI任務的統一管理任務的統一管理Volcano Job:Volcano Job:統一類型接口,支持業界主流作業類型,如mpi,pytorch,tensorflow,mxnet等 細粒度作業生命周期管理易擴展的作業插件機制EnvSvcSshTensorflowCoordinate with Scheduler 提供作業依賴支持、作業彈性、SLAapiVersion:batch.volcano.sh/v1alpha1kind:Jobmetadata
21、:name:mpi-joblabels:volcano.sh/job-type:MPIspec:#minimumnumberofpodsneedtobestartedminAvailable:3schedulerName:volcanoplugins:#joblevelsshtrustssh:#definenetworkrelevantinfoforrunning,#hosts,headlessservicesetc.svc:#restartwhojobifanypodgetevictedpolicies:-event:PodEvictedaction:RestartJobtasks:-rep
22、licas:1name:mpimaster#Markwholejobcompletedwhenmpiexeccompletedpolicies:-event:TaskCompletedaction:CompleteJob高性能調度、加速高性能調度、加速AIAI訓練性能訓練性能相比默認調度器,AIAI訓訓練作業性能提升練作業性能提升 31%31%測試結果為 3 個作業的總執行時間;每個作業包含 2ps+4workers Gang-scheduling同時解決了多作業死鎖的情況相比默認調度器,SparkSpark作業性能提升作業性能提升 51%51%測試結果為 104 個TP-DCS 查詢語句us
23、edNodeusedNodeAI大數據HPC/基因派發作業123支持多種類型作業混合部署支持多隊列多隊列用于多租戶資源共享,資資源規劃源規劃;并分時復分時復用用資源支持多種高級調度多種高級調度策略策略,有效提升整集群資源利用率4支持資源實時監控,資源實時監控,用于高精度資源調度,例如 熱點,網絡帶寬混混合合部署技術,支持訓練、推理業務混部部署技術,支持訓練、推理業務混部多種業務統一調度多種業務統一調度1.1.融合調度:融合調度:提供隊列、組、作業優先級、公平調度、資源預留等多種抽象,統一滿足微服務、大數據、AI多業務調度需求;2.2.應用感知調度應用感知調度:提供應用拓撲感知、SLO感知、SL
24、A感知等調度算法,提升影響性能和利用率;3.3.資源感知調度資源感知調度:提供CPU NUMA拓撲感知、IO感知、網絡感知調度,軟硬協同,提升影響性能2 2業務業務QoSQoS保障保障1.1.CPUCPU優先核:優先核:為應用分配優先使用核,既保障業務QoS,又能在業務波谷期間允許其它應用使用;2.2.優先級控制:優先級控制:在CPU、內存、網絡、L3緩存等多維度上為應用提供高優低優的自動控制,使資源分時復用,提升資源利用率;3.3.資源動態超賣:資源動態超賣:集群內CPU和內存,基于應用資源畫像(Request和Usage的差值)動態計算超賣資源,以供低優業務使用,進一步提升資源的利用率。3
25、 3分時復用資源分時復用資源1.1.消減集群和節點資源碎片:消減集群和節點資源碎片:業務集群相互融合,組成較大的資源池,多個業務混合部署到一起,即減小集群資源碎片,又能通過大小應用的裝箱和重調度,進一步消減集群碎片,提升資源分配率;2.2.“潮汐潮汐”業務錯峰復用資源:業務錯峰復用資源:將業務“潮汐”明顯,且波峰錯開的應用部署在同一個節點上,結合CPU優先核,保障業務QoS的同時,錯峰使用資源,提升資源利用率;3.3.高低優業務分時復用資源:高低優業務分時復用資源:將微服務和批量計算任務混合部署,在高優業務需要資源時,通過快速壓制低優業務釋放資源,保障高優業務的QoS。1 1CPUCPU優先核
26、,實現優先核,實現CPUCPU精細化管理精細化管理A處于業務潮起期,未超過優先核,運行在優先核內A處于業務波谷期,運行在優先核內A處于業務波峰期,超過優先核,將使用節點共享核資源A處于業務潮落期,回到優先核以內,運行在優先核內優先核共享核優先核共享核節點節點CPUCPU潮汐親和性管理示意圖:潮汐親和性管理示意圖:靜態綁核系統節點節點CPUCPU資源分配示意圖:資源分配示意圖:優先核剩余CPU獨占CPU保留CPU共享核CPUCPU潮汐親和性特點:潮汐親和性特點:1.優先核資源充足時,使用優先核2.優先核與靜態綁核不同,能被其他工作負載使用場景一場景一:未設置CPU管理策略,pod request
27、 3c,limit 5c,負載2c,隨機搶占CPU。場景二:場景二:設置“潮汐親和”,pod request 3c,limit 5c,負載2c,使用優先核,效果接近綁核。使用優先核,效果接近綁核。場景三:場景三:設置“潮汐親和”,負載低峰期,其優先核能夠被其他負載共享。其優先核能夠被其他負載共享。業界常見解決方案:業界常見解決方案:1.Guaranteed Pod:為應用提供綁核功能,保障了應用性能,但降低了節點資源利用率;2.Burstable Pod:不綁核,隨著節點規格增加,CPU上下文切換帶來的應用性能損耗越多;CPUCPU優先核解決方案,在保障應用性能的同時,有效的提升資源利用率。優
28、先核解決方案,在保障應用性能的同時,有效的提升資源利用率。案例:基于案例:基于VolcanoVolcano優化在線、離線訓練平臺優化在線、離線訓練平臺在線服務標簽計算在線模型訓練在線模型訓練 全量模型(千億參數)發布全量模型 訓練樣本數據拼接(Flink)特征數據KV緩存訓練數據基于基于VolcanoVolcano的離線的離線模型訓練模型訓練 模型更新數據流 發布更新 模型數據流 標簽數據流 業務場景:業務場景:國內領先生活分享社區,作為月活2.7億的頂級社交媒體和電商平臺,推薦是小紅書的核心業務之一。小紅書AI平臺由包含在、離線訓練,同時承擔數十萬樣本分析和模型訓練作業,模型生成時間在分鐘量
29、級??蛻粼V求:客戶訴求:數十萬核云資源消耗數十萬核云資源消耗,需優化資源合理性,提升資源利用率,降低成本。上億級訓練樣本,上億級訓練樣本,TBTB級數據量,推薦系統的能力遇到瓶頸級數據量,推薦系統的能力遇到瓶頸,需增強AI推薦精準度,提升營銷ROI方案關鍵價值:方案關鍵價值:多業務混合部署,統一資源池統一資源池,離線作業可用資源大幅增加,作業周期明顯縮短。CCE turobo配套HCE操作系統提供全方位資源隔離全方位資源隔離,為在線實時業務保駕護航。Volcano智能調度,組調度搭配TensorFlow作業拓撲感知,AIAI訓訓練性能提升練性能提升30%;30%;訓練模型優化,模型更新時效由天
30、縮短至分鐘 案例:基于云原生基礎設施打造案例:基于云原生基礎設施打造AIAI大科學裝置,加速創新大科學裝置,加速創新鵬城實驗室是實現國家使命的創新基礎平臺,其“鵬城云腦II”探索構建E級AI超算系統,打造新一代人工智能基礎開源開放平臺鵬城實驗室鵬城實驗室鵬城云腦鵬城云腦II II國家級人工智能平臺國家級人工智能平臺降低并行門檻提高資源效率全棧協同加速加速創新支持萬億參數大模型支持萬億參數大模型40964096卡并行卡并行大規模分布式大規模分布式AIAI計算性能提升計算性能提升40%+40%+自動異構加速 網絡親和性調度 自適應無阻塞通信 高效收斂算法AIAI應用落地效率提升應用落地效率提升3+
31、3+倍倍集群資源利用率提高集群資源利用率提高20%+20%+自動并行 自動部署 E級算力調度 預訓練大模型 彈性訓練 任務混部 AI智能調度 算力精細化管理 數據自動處理 參數自動調優 算法自動優化 模型智能診斷云腦平臺系統AI計算中心軟件AI計算中心硬件基礎容器云平臺AI使能平臺了解更多技術實踐案例了解更多技術實踐案例麥思博(msup)有限公司是一家面向技術型企業的培訓咨詢機構,攜手2000余位中外客座導師,服務于技術團隊的能力提升、軟件工程效能和產品創新迭代,超過3000余家企業續約學習,是科技領域占有率第1的客座導師品牌,msup以整合全球領先經驗實踐為己任,為中國產業快速發展提供智庫。高可用架構主要關注互聯網架構及高可用、可擴展及高性能領域的知識傳播。訂閱用戶覆蓋主流互聯網及軟件領域系統架構技術從業人員。高可用架構系列社群是一個社區組織,其精神是“分享+交流”,提倡社區的人人參與,同時從社區獲得高質量的內容。