《云原生場景下 Fluid 加速 AIGC 工程化實踐-車漾.pdf》由會員分享,可在線閱讀,更多相關《云原生場景下 Fluid 加速 AIGC 工程化實踐-車漾.pdf(23頁珍藏版)》請在三個皮匠報告上搜索。
1、Fluid加速云原生場景下AIGC工程化實踐阿里云高級技術專家車漾餐aConInfoQ極客傳媒全球較件開發大全#page#大模型推理對基礎設施帶來更多挑戰AI商業化的時代,大模型推理比訓練會被更加廣泛的使用大模型推理對基礎設施服務能力的挑戰是階躍式的有限計算資源下運行更多服務按需使用,避免浪費對“成本、性能、效率”的要求,成為LLM/AIGC快速落地的高門檻成本NLPs Moores Law:Everyyearmodelsizeincreasesby101800Cooge:4401.6T效率性能1080GPTRMicrosofT-NLG8no78360BERTGPT2GPT用戶等待時間模型數據
2、不斷選代8-38800.34B1580.058更高的彈性性能更新低耗時至關重要2017201820202021389https/modlaconInfoQ極客傳媒#page#基于容器的AI/大數據成為云原生時代的技術超勢Kubernetes和容器技術幫助用戶簡化GPU資源運維流程,承載用戶業務AIGC應用的同時利用彈性優勢節省成本AI工程化向云原生架構演進從無狀態應用,到企業核心應用,到Al/大數據應用傳統架構云原生架構資源管理分散資源池化:彈性、靈活生產流程割裂、效率低生產流程高效閉環Kbos團隊協作、共享困難多角色協同,加速送代CopuleNetcrkSioroeSecurilyPubli
3、e CoudEdeComputingPriyate Ckoud更快的創新和選代交付更高的穩定性要求更彈性的算力需求Gartner預測:到2023年70%的AI應用是基于容器和Serverless技術開發IDC預測:By2025,Nearly50%ofAllAccIntegratedwith Enterprise SoftwareaconInfoQ極客傳媒#page#AIGC模型推理服務在云原生場景下的痛點云原生計算存儲分離架構導致的數據訪問高延退、帶寬受限問題在AIGC大模型時代越發明顯,同時影響成本、性能和效率Kubernetes例子PodPodPod北京上海杭州如果一個Pod啟動Bloom
4、-175B模型(FP16精度模型大小約340GiB),耗時約4970秒,其中加載模型4300秒(85%)ContainerContainerContainer-HPA創建Pod(10秒)一創建節點(約45-60秒)ne(PV)Storage PersistentVolur-拉取鏡像(600秒)nas drwars3fs/ossfsdisk drwerVPC Network業務初始化,加載模型(4300秒)Disk/NAS/Object StorageaConInfoQ極客傳媒#page#AIGC模型推理服務在云原生場景下的痛點緩存可以加速數據訪問的效率,但在云原生AI模型推理場景中實際使用仍然
5、面臨許多工程問題Kubernetes運維管理問題資源成本問題PodPodPod緩存系統如何管理生命周期?緩存需要額外的計算和存儲資源。運維可觀測性如何隆低資源成本ContainerContainerContainer模型跨區域同步額用戶體驗問題緩存性能問題如何訪問緩存中的數據?緩存與應用之間的親和性怎么對接容器應用?調度怎么配置?存儲配置問題性能調優問題Data Cache緩存數據如何分布?根據業務場景緩存如何參數優?用什么介質存儲?VPC NetworkfeFluIdDisk/NAS/object StorageaConInfoQ極客傳媒#page#Fluid是什么?Data-Intensi
6、ve AppsICLOUDNATIVE(HuggingFace,Tensorlow.PyTorch,Spark,Presto,)PSANDBOXFluid核心功能FluId數據抽象與管理:通過Dataset、Runtime、DataDatasetOperations概念分別描述數據源、緩存運行時和數DataAlluxioJuiceFsEFCThin據緩存運維操作。OperationsRuntimRuntimRuntin親和性調度:結合緩存位置信息,提升數據訪問效率。緩存彈性:自動彈性伸縮控制緩存規模,平衡性能和Data FlowData AbstractionData AccessCache
7、Scalin成本。AcceleratonOrchestration&Scheduling&Management異構環境無縫兼容:支持原生K8s、ServerlessK8s、混合云等運行環境。兼容云上云下異構存儲系統。Heterogeneous Storage Systems數據流任務編排:支持多個數據消費和操作間的依賴定義,自動化數據消費過程。05SNASaconInnfoQ極客傳媒#page#Fluid在云原生AIGC模型推理場景的優化概述AIGC模型推理場景的特點和現存問題:Fluid提供的能力分布式緩存使用的復雜度高和運行環境差異大,AIGC應用需要適配不同運行時標準統一的使用體驗,開箱
8、即用的加速能力可彈性伸縮的計算側分布式緩存性能和成本的平衡:如何適配AIGC模型推理業務屬性變化導致緩存需求變化數據和工作負載的親和性調度調度影響性能:不當調度計算集群訪問可能緩存集群跨可用區,導致高延時運維復雜耗時:龐大數據規模導致各類數據管理和處理操作耗時長數據流編排自動化數據管理和消費流程讀取性能受限:模型加載效率受客戶端讀取文件邏輯限制,需求側性能受限數據訪問客戶端性能優化aConInfoQ極客傳媒#page#開箱即用的計算側分布式緩存daa.fuid./valpha部署緩存,掛載數據源ama-chatControl PlaneFluid WebhookMount via CSl(Se
9、rverful)Mount vleSidecar(Serverless)Dataset CRDMEMKube-apiAppPodApp PodsserverFluid Dataset PvCRuntime CRDsAOPFUSE SldecaContainerContainerFluidFUSE PodCSL PluginFluid ControllersdvnCacheRFluidComponentCache Runtime CompoCloud or on-prom StorageDatal/O Flow0Ss/83SaoHO pomSVNControl FlowQConInnfoQ極客傳
10、媒#page#到處運行的計算側分布式緩存現存問題:Fluid:大模型服務常在Serverless環境運行,但因存儲組件擴展性及用FUSEsidecar替換PVC,用戶體驗不變安全限制,無法使用第三方分布式緩存。支持緩存組件在Serverless容器上安全運行Serverless肉SoverossAVusa Sidecar ContaWorke揮綿口法Control PlanenjoctorCache Rutime ControllerApplicationControorQConInfoQ極客傳媒#page#可擴容的計算側分布式緩存現存問題:可用帶寬有限。嚴重影響冷啟動問題如:100個服務共享
11、10GbpsOSSBucket帶寬,每個僅獲0.1Gbps=30GB文件順序讀取預期耗時2400sFluid:利用彈性伸縮的計算側分布式緩存提供可伸縮的帶寬,可實現帶寬與緩存節點規模正100Pod并發拉取OSS對象存儲中30GIB數據耗時(單位:秒)數據訪問服務端有效聚合帶寬(單位:Gbps)30001502471120.6隨緩存副本近線性提升的2500有效聚合帶寬200010067.031500數據訪問耗時降低-10x1000503585001999.710口OSS口Fluid緩存(5副本)口Fluid緩存(10副本)口OSS口Fluid緩存(5副本)口Fluid緩存(10副本)注:相關數據
12、從阿里云ASK環境測得。測試環境配置:應用Pod所在ECI實例規格:ecs.g6e.4xlarge緩存Pod所在ECI實例規格:ecs.d1ne.6xlargeaconInfoQ極客傳媒#page#可縮容的計算側分布式緩存Fluid:業務需求驅動數據緩存成本策略精細化控制數據緩存生命周期,根據業務需求LLM模型一次密集加載無需重圖文模型頻繁加載業務高峰需緩存臨時擴容復,適應縮容緩存節省資源需保留熱點緩存提速服務冷啟動彈性擴容、縮容數據緩存LLM模型場景Step1:緩存部署Step2:推理服務拉起Step3.a:緩存縮容(無需保留緩存Cache Replicas=0ModelModelStep3
13、.b:緩存副本維持ServingServing文生圖場景(保留熱點模型)CacheCacheCacheCacheWorkerWorkerWorkerWorkerStep3.c:業務感知擴容CacheCacheworkerWorkerCache Worker業務洪峰場景CacheCacheWorkerWorkeraconInnfoQ極客傳媒#page#分層的數據親和性調度現存問題:Fluid:分布式緩存和AIGC應用之間的實際部署物理位置差異帶來的應用容器采用配置的分層親和性調度策略網絡延退和吞吐受限2.注入親和性信息1.創建PodKubemnetesClientFluid Webhookapi
14、Version:v1Schedulerkind:Podmetadata;name:resnet5o反親和性labels3.調度到NodeDataset ADataset Bfluid.io/dataset.tnespec:containersZone AZoneBname:train帝點親和性可用區親和性image:rasnat50VolumeMountsPodmountPath:/dataNorkename:imagenetNode 1Node2COPONvolumes:name:imagenetpersistentVolu數據請問政率提升了5%至10%6caimName:AaConInfo
15、Q極客傳媒#page#數據操作&數據流編排現存問題:一次推理服務發布過程模型數據從存儲到應用實際使用涉及許多步驟,整體流程較為復雜。AIGC模型數據規模較大,導致每一個步驟都十分耗時。費名皖皖88Fluid:提供常用的數據操作+數據流編排功能=簡化自動化模型推理時間5m35m50m服務的數據使用過程Fluid支持的數據操作數據預熱(DataLoad)數據遷移(DataMigrate)數據處理(DataProcess)加載指定數據到緩存,避免初次Cache在數據源之間移動數據,如冷熱存儲間自定義的數據處理和任務,靈活接入各Miss的數據流動類數據使用任務或服務aConInfoQ極客傳媒#page
16、#數據操作&數據流編排如何利用Fluid自動化運維平衡AIGC模型推理服務場景的性能和成本?滿型下李1.模型文件遷移DataMigrate熱存儲Model HubCacheCacheCache Replicas=0DataProcess2.分布式緩存擴容WorkeWorker提交Data緩存預熱FluidCacheCache3.分布式緩存預熱DataLoad熱存儲WorkerWorkerControllersModelModelCacheCacho因加款DataProcess4.推理服務發布WorkeWorkerServingServing5.服務就緒后CacheCacheCache Repl
17、=0DataProcessWorkerWorker分布式緩存縮容aconInfoQ極客傳媒#page#數據訪問客戶端性能優化新的問題:AIGC模型推理服務Pod所實際使用的帶寬理論可用的帶模型加載性能在客戶端側仍有優化空間32Gbps(ECS規格帶寬)1200MB/s(9.6Gbps)寬(以通過Fluid緩存使用“gn6v-c10g1.20xlarge”ECS實例加載Llama-30B模型為例)模型推理框架加載模型文件時Lama-30B模型加載過程節點吞吐情況ApplicationFUSEDaemor以單線程方式加載模型參數Remote RPC1600CahsystomDKCache Sysl
18、em號14001200LIbfuseread/n/myfle1000glibc800600VFSewus400200FUSEModuleFluid緩存Fluid緩存通過FUSE文件系統掛載提供POSIX訪問接口,推理框架單個GPU推理服務啟動時,所在ECS節點網絡I0帶寬采樣情況read請求延時高,無法充分利用節點帶寬。測試場景:Fluansformers框架加載Lama-30B模型參數文件aconInfoQ極客傳媒#page#數據訪問客戶端性能優化FluidSDK:使用多線程讀和預讀等手段優化客戶端模型加載過程,匹配Fluid緩a存架構模型推理服務程序使用方式:1.安裝PythonPacka
19、ge:Cachipipinstallfluidsdk_fiuidcloudnativ-0.0.1-py3.w2.在推理服務程序啟動時增加以下內容:Fuld sDKfrom fluidsdkimport im_optimizations分布式級存系統LLM模型加載耗時對比(單位:秒)Uama-30B模型加載過程節點吞吐情況4503000測試環境388.84000CGC阿里云ecs.gnev-c10g1.20xlarge規格ECS270.930020002502001500測試場景150112.889.1100100056Fluid緩存中數據全部預熱前提下,通過HF50Transformers框架
20、加載Llama-30B模型參500特數文件Fakcon-40BFluid緩存+客戶遙優化OSSFhid級存-Fluid緩存d緩存+客戶端憂化aconInfoQ極客傳媒#page#Fluid演示測試環境:GPU節點配置:8vCPU,30GiBMem,1GPU,16Gbps緩存節點配置:264VCPU,256GiBMem,30Gbps測試場景:使用HuggingFace框架,基于OSS存儲的LLM模型進行推理服務搭建比較直接讀取和通過Fluid讀取情況下推理服務啟動就緒時間模型為Llama-2-7b-chat-hf,參數文件大小12.55GiBaConInfoQ極客傳媒#page#無優化下Llam
21、a-2模型彈性測試過程概述,在OSS對象存儲直接拉取情況下推理服務啟動就緒時間。,待加載模型為Llama-2-7b-chat-hf,模型參數文件(.safetensors文件)總大小為12.55GiB。Kube-api-server測試環境CECIECIECIGPU節點配置:8VCPU,30GiBMem,1GPU,16GbpsPodPodPodPod差異分析比較通過OSS和通過Fluid加速OSS啟動大模型兩種方案(1)使用無變化OSS(2)模型彈性的性能差異aConInfoQ極客傳媒#page#to1-110#page#基于Fluid的Llama-2模型彈性測試過程概述,在通過Fluid透明
22、加速情況下推理服務啟動就緒時間。待加載模型為Llama-2-7b-chat-hf,模型參數文件(.safetensors文件)總大小為12.55GiB。Kube-api-server測試環境滬CCECIECPodPodPodPodGPU節點配置:8vCPU,30GiBMem,1GPU,16Gbps緩存節點配置:264VCPU,256GiBMem,30GbpsFluid Cache Layer差異分析T比較通過OSS和通過Fluid加速OSS啟動大模型兩種方案:(1)使用無變化(2)模型彈性的性能差異SSOaConInfoQ極客傳媒#page#tg1-110#page#歡迎交流社區釘釘群Flutd開源社區技術交流群Fluid On GitHub:https:/ ls Redefining The World1鍋aconInfoQ極客傳媒全球較件開發大全#page#