国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐

這篇具有很好參考價值的文章主要介紹了為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

作者:張凱

背景

以 GPT(Generative Pre-trained Transformer)和 Diffusion model 為代表的大語言模型(Large language model,LLM)和生成式人工智能(Generative artificial intelligence,GAI)在過往兩年,將人們對 AI 的夢想與期待推向了一個新高峰。這一次,AI 帶來的“智能”效果和“涌現(xiàn)”能力,吸引著千行百業(yè)都在積極思考如何在業(yè)務(wù)中利用大模型。即便訓(xùn)練一次千億參數(shù)量模型的成本可能就高達(dá)百萬美元,依然有很多企業(yè)希望擁有自己的專屬大模型。

今天的云計算已經(jīng)承載了從業(yè)務(wù)應(yīng)用,到數(shù)據(jù)庫、大數(shù)據(jù)、機器學(xué)習(xí)和高性能計算等大多數(shù)計算負(fù)載。面對 LLM 和 GAI 這類對算力和數(shù)據(jù)都有極高量級需求的新負(fù)載,云計算也迎來了“智算”時代。 一方面以服務(wù)化資源池的方式提供千 GPU 卡,甚至萬卡的算力,PB 級存儲和單機 TB 級高性能網(wǎng)絡(luò)互聯(lián),另一方面以云原生標(biāo)準(zhǔn)化交付算力給大模型的生產(chǎn)者和使用者。

阿里云云原生容器服務(wù)借助容器、Kubernetes、微服務(wù)等云原生技術(shù),在阿里云彈性計算、存儲、網(wǎng)絡(luò)和靈駿智算服務(wù)基礎(chǔ)之上,推出了 ACK 云原生 AI 套件產(chǎn)品和解決方案, 幫助企業(yè)在“智算”時代,更快、更高效地落地云原生 AI 系統(tǒng)。

此次云棲大會的分享共分三部分,介紹云原生 AI 領(lǐng)域的基礎(chǔ)知識。首先,解析云原生 AI 所遇到的技術(shù)挑戰(zhàn)和應(yīng)對方案,隨后介紹云原生 AI 領(lǐng)域的關(guān)鍵技術(shù)與架構(gòu)細(xì)節(jié),最后分享我們在 ACK 的相關(guān)經(jīng)驗及工程實踐。

大模型帶來的技術(shù)挑戰(zhàn)

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

近年來,深度學(xué)習(xí)引領(lǐng) AI 的再次快速發(fā)展,并已成為主流方向。其中涉及到多種技術(shù),包括有監(jiān)督學(xué)習(xí)、強化學(xué)習(xí)、無監(jiān)督學(xué)習(xí)等。以深度學(xué)習(xí)為代表的技術(shù)已在計算機視覺、語音識別等領(lǐng)域取得巨大進展,推動了許多行業(yè)的創(chuàng)新。通過云化服務(wù)的方式,交付 AI 能力也成為一種趨勢。

總結(jié)深度學(xué)習(xí)任務(wù)的特性包括:

  • 首先, 它是一種端到端的工作流程,旨在從大量原始數(shù)據(jù)中提取特征,進而創(chuàng)建可執(zhí)行模型。
  • 其次, 通常需要長時間的訓(xùn)練,任務(wù)運行時間可能以小時,甚至以月為單位。在訓(xùn)練過程中,需反復(fù)迭代優(yōu)化,不斷調(diào)整參數(shù),以使模型能夠更好地接近真實數(shù)據(jù)特征分布。這會導(dǎo)致算力資源和數(shù)據(jù)的巨大消耗。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

理解了深度學(xué)習(xí)為代表的 AI 工作負(fù)載特性后,我們可以發(fā)現(xiàn)在實際生產(chǎn)和應(yīng)用中,AI 和深度學(xué)習(xí)工程會面臨幾個主要挑戰(zhàn),尤其是在效率、性能和成本方面。

例如,管理 GPU 集群是一項非常復(fù)雜的工作。只有少量 GPU 機器時,個人數(shù)據(jù)科學(xué)家或計算工程師可以獨立操作和維護。然而,隨著 GPU 數(shù)量增長到數(shù)十臺甚至數(shù)百臺,形成大規(guī)模 GPU 集群時,環(huán)境一致性、版本依賴性、配置多樣性、效率提升以及運維生命周期復(fù)雜度等問題將變得尤為突出。許多算法工程師不得不花費大量時間和精力解決 GPU 集群管理和資源分配等基礎(chǔ)問題,從而拖延真正用于深度學(xué)習(xí)模型開發(fā)和訓(xùn)練的工作。

另一方面,即使解決了 GPU 管理問題,AI 工程效率仍然受到生命周期復(fù)雜性的限制。整個流程,從開發(fā)環(huán)境搭建、數(shù)據(jù)準(zhǔn)備到模型開發(fā)、模型訓(xùn)練、優(yōu)化、可視化控制、錯誤處理等,直到模型推理上線和運維,每一個環(huán)節(jié)都可能導(dǎo)致 AI 模型的開發(fā)周期延長且效率低下。

而且這些環(huán)節(jié)大多需要手動操作或使用各種腳本串聯(lián),開發(fā)效率較低,協(xié)同難度大。因此,提高 AI 的工程效率是另一個亟待解決的問題。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

當(dāng)面對 LLM 和 AIGC 等新領(lǐng)域,AI 對基礎(chǔ)設(shè)施服務(wù)能力提出了更多挑戰(zhàn)。主要體現(xiàn)在規(guī)模、性能和效率三個方面。

在規(guī)模上, 要訓(xùn)練出具有廣泛知識和專業(yè)領(lǐng)域理解及推理能力的大語言模型,往往需要高達(dá)萬卡級別的 GPU 集群和 PB 級的數(shù)據(jù)存儲以及 TB 級的數(shù)據(jù)吞吐。此外,高性能網(wǎng)絡(luò)也將達(dá)到單機 800Gbps 甚至 3.2Tbps 的 RDMA 互聯(lián)。

在性能方面, 隨著模型體積和參數(shù)量的增長,單張顯卡已無法承載完整的模型。因此需要使用多張顯卡進行分布式訓(xùn)練,并采用各種混合并行策略進行加速。這些策略包括數(shù)據(jù)并行、模型并行、流水線并行以及針對語言模型的序列并行等,以及各種復(fù)雜的組合策略。

在推理階段, 模型需要提供高效且穩(wěn)定的推理服務(wù),這需要不斷優(yōu)化其性能,并確保服務(wù)質(zhì)量(QoS)得到保證。

在此基礎(chǔ)上,最重要的目標(biāo)是提高資源效率和工程效率。 一方面,持續(xù)提高資源利用效率,并通過彈性擴展資源規(guī)模,以應(yīng)對突發(fā)的計算需求。另一方面,要最優(yōu)化算法人員的工作效率,提高模型迭代速度和質(zhì)量。因此,資源效率和工程效率成為了最優(yōu)先考慮的優(yōu)化目標(biāo)。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

隨著云原生技術(shù)和架構(gòu)發(fā)展,我們明顯觀察到 IT 架構(gòu)的變化。傳統(tǒng)的企業(yè)級應(yīng)用、Web 應(yīng)用、微服務(wù)等領(lǐng)域都在從傳統(tǒng)架構(gòu)轉(zhuǎn)向云原生架構(gòu)?;ヂ?lián)網(wǎng)應(yīng)用大多是基于容器、Kubernetes,Prometheus 等云原生技術(shù)實現(xiàn)的,追求彈性、靈活性以及最佳性價比。同時,通過標(biāo)準(zhǔn)化交付,提升生產(chǎn)流程的高效閉環(huán)。

在標(biāo)準(zhǔn) API 和標(biāo)準(zhǔn)架構(gòu)的指導(dǎo)下,進一步提高多角色之間的協(xié)作和迭代效率。同樣地,為了獲得更多彈性算力供給、更高穩(wěn)定性保證以及更快的交付,越來越多 AI 和大數(shù)據(jù)工作負(fù)載也運行在云原生架構(gòu)上。

右圖清晰地顯示了這一趨勢:最早是從可水平擴展的無狀態(tài)應(yīng)用程序(如 Web 應(yīng)用、移動后端應(yīng)用)開始;然后是 NoSQL 數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、TensorFlow、PyTorch、Spark、Flink 等大數(shù)據(jù)和典型機器學(xué)習(xí)的 AI 計算任務(wù)。都能夠在 Kubernetes 容器集群上大規(guī)模運行。

三方研究機構(gòu)的預(yù)測,顯示出同樣的趨勢。早在 2019 年,Gartner 就曾預(yù)測,到 2023 年,70% 的人工智能應(yīng)用程序?qū)⒒谠圃燃夹g(shù)進行開發(fā)。IDC 的研究則預(yù)測,到 2025 年,接近 50% 的企業(yè)內(nèi)部的數(shù)據(jù)密集型或性能密集型計算工作負(fù)載都將遷移到基于云的架構(gòu)上,而基于云的架構(gòu)正是典型的 Cloud Native 云原生架構(gòu)。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

此前概述了傳統(tǒng)的機器學(xué)習(xí)、深度學(xué)習(xí)以及目前流行的 LLM 和 AIGC ,帶來了一些技術(shù)上的挑戰(zhàn),和對基礎(chǔ)設(shè)施造成的壓力。為了應(yīng)對這些挑戰(zhàn),我們期待借助云原生 AI 來找到解決方案。那么,什么是云原生 AI 呢?

云原生 AI 是指利用云計算的彈性資源、異構(gòu)算力以及容器、自動化、微服務(wù)等云原生技術(shù),提升 AI/ML 的工程效率,降低整體成本,提高可擴展性,并實現(xiàn)端到端的解決方案。在這其中,我們尤為注重工程效率、成本效益、可擴展性和可復(fù)制性等因素。

云原生 AI 最核心的兩個應(yīng)用場景:

統(tǒng)一管理異構(gòu)資源,提升資源利用率。

對 IaaS 云服務(wù)或者客戶 IDC 內(nèi)各種異構(gòu)的計算(如 CPU,GPU,NPU,VPU,F(xiàn)PGA,ASIC)、存儲(OSS,NAS, CPFS,HDFS)、網(wǎng)絡(luò)(TCP, RDMA)資源進行抽象,統(tǒng)一管理、運維和分配,通過彈性和軟硬協(xié)同優(yōu)化,持續(xù)提升資源利用率。

通過統(tǒng)一工作流和調(diào)度,實現(xiàn) AI、大數(shù)據(jù)等多類復(fù)雜任務(wù)的高效管理。

兼容 Tensorflow,Pytorch,Horovod,ONNX,Spark,F(xiàn)link 等主流或者用戶自有的各種計算引擎和運行時,統(tǒng)一運行各類異構(gòu)工作負(fù)載流程,統(tǒng)一管理作業(yè)生命周期,統(tǒng)一調(diào)度任務(wù)工作流,保證任務(wù)規(guī)模和性能。一方面不斷提升運行任務(wù)的性價比,另一方面持續(xù)改善開發(fā)運維體驗和工程效率。

圍繞這兩個核心場景,可以擴展出更多用戶定制化場景,比如構(gòu)建符合用戶使用習(xí)慣的 MLOps 流程;或者針對 CV 類(Computer Vision,計算機視覺)AI 服務(wù)特點,混合調(diào)度 CPU,GPU,VPU(Video Process Unit)支持不同階段的數(shù)據(jù)處理流水線;還可以針對大模型預(yù)訓(xùn)練和微調(diào)場景,擴展支持更高階的分布式訓(xùn)練框架,配合任務(wù)和數(shù)據(jù)調(diào)度策略,以及彈性、容錯方案,優(yōu)化大模型訓(xùn)練任務(wù)成本和成功率。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

接下來探討支持這些場景,云原生 AI 所需的主要功能。

首先,從異構(gòu)資源管理的角度,需要一鍵部署和運行的能力,能夠統(tǒng)一管理和操作各種類型的異構(gòu)資源,如 CPU、GPU 以及各種虛擬化的設(shè)備和專業(yè)存儲、網(wǎng)絡(luò)設(shè)備。在運維過程中,需要多維度的異構(gòu)資源可觀測性,包括監(jiān)控、健康檢查、告警、自愈等自動化運維能力。對于“寶貴”的計算資源,如 GPU 和 NPU 等加速器,需要通過各種調(diào)度、隔離和共享的方法,最大限度地提高其利用率。在存儲和網(wǎng)絡(luò)方面,通過統(tǒng)一接口和方式供給上層工作負(fù)載。在此過程中,我們還將利用云資源的彈性特征,持續(xù)提高資源的交付和使用效率。

另一個主要能力是能夠在分鐘級內(nèi)準(zhǔn)備好開發(fā)環(huán)境和集群測試環(huán)境,幫助算法工程師開始執(zhí)行深度學(xué)習(xí)任務(wù)。把端到端的 AI 生產(chǎn)過程通過相同的編程模型、運維方式進行交付。在整個流水線執(zhí)行過程中,天然支持主流計算框架,如 TensorFlow、PyTorch、Deepspeed 等。

對于大規(guī)模分布式 AI 任務(wù),提供豐富的任務(wù)調(diào)度策略,如 Gang scheduling、Capacity scheduling、Topology aware scheduling、優(yōu)先級隊列等。并使用工作流或數(shù)據(jù)流的方式串聯(lián)起整個任務(wù)流水線。

此外,在計算框架與算法層面適配資源彈性能力,提供彈性訓(xùn)練和彈性推理服務(wù),優(yōu)化任務(wù)整體運行成本。除了計算任務(wù)優(yōu)化,還應(yīng)關(guān)注數(shù)據(jù)使用效率的優(yōu)化。為此,需要統(tǒng)一的數(shù)據(jù)集管理、模型管理和訪問性能優(yōu)化等功能,并通過標(biāo)準(zhǔn) API 和開放式架構(gòu)使其易于被業(yè)務(wù)應(yīng)用程序集成。

隨著 AI 和 LLM 的不斷發(fā)展,我們還將面臨一些新的挑戰(zhàn)和需求。例如,如何快速適應(yīng)新的開源大模型訓(xùn)練方法(無論是預(yù)訓(xùn)練、監(jiān)督微調(diào)還是強化學(xué)習(xí)),以及如何提高大模型推理性能并確保其質(zhì)量和穩(wěn)定性。同時,也需要關(guān)注一些前沿技術(shù)和創(chuàng)新能力,通過標(biāo)準(zhǔn)化和可編程的方式來集成,不斷迭代業(yè)務(wù)應(yīng)用,形成 AI+ 或 LLM+ 的新應(yīng)用開發(fā)模式和編程模型。

例如 AutoGPT、多智能體任務(wù)等,這些都是我們需要快速掌握、理解,并應(yīng)用于應(yīng)用智能化升級的重要工具。

云原生 AI 支持大模型生產(chǎn)的關(guān)鍵技術(shù)

前述詳細(xì)分析了云原生 AI 領(lǐng)域的發(fā)展歷程、現(xiàn)狀以及未來趨勢,幫助大家更好地理解這一交叉技術(shù)領(lǐng)域。后續(xù)我們將轉(zhuǎn)向更為具體的技術(shù)層面,介紹已經(jīng)落地并相對成熟的一些云原生 AI 關(guān)鍵技術(shù)。

首先,介紹整個云原生 AI 的系統(tǒng)架構(gòu),這是一個典型的分層架構(gòu)。最底層是云資源服務(wù)或數(shù)據(jù)中心的線下資源,由容器服務(wù)平臺進行統(tǒng)一的封裝和管理。在這一層之上,又分為幾個層面來構(gòu)建云原生 AI 系統(tǒng)。

  • 第一層是高異構(gòu)資源管理層,包括對 AI 計算、存儲和網(wǎng)絡(luò)資源的統(tǒng)一管理和運維。
  • 第二、三層負(fù)責(zé) AI 任務(wù)的調(diào)度和流水線的構(gòu)建,支持各種計算框架和訓(xùn)練、推理運行時。
  • 第四、五層是任務(wù)性能優(yōu)化和 AI 作業(yè)生命周期管理。
  • 最后一層是通過統(tǒng)一的工具鏈和標(biāo)準(zhǔn) API 向上提供所有這些能力,并與內(nèi)外部生態(tài)集成,包括開源模型、數(shù)據(jù),私有業(yè)務(wù)系統(tǒng)或服務(wù),以及第三方生態(tài)系統(tǒng)。

在整個系統(tǒng)中,彈性、運維和安全貫穿于各個層面。此外,我們還注重數(shù)據(jù)、模型和實驗等各種制品的統(tǒng)一管理,以及安全性和隱私性的保障。

在阿里云的容器服務(wù)(ACK)之上,我們提供了云原生 AI 套件的產(chǎn)品,以此作為上述系統(tǒng)架構(gòu)的一種參考實現(xiàn)。幫助大家更容易理解云原生 AI 系統(tǒng)分層架構(gòu)的構(gòu)建方式以及每層的關(guān)鍵技術(shù)點。

右圖展示了基于 ACK 的云原生 AI 套件產(chǎn)品的系統(tǒng)架構(gòu)。每個方塊代表一層的關(guān)鍵技術(shù)組件,整個架構(gòu)是可以組件化拼裝、交付和擴展的。用戶可以通過組件插拔組合的方式來定制自己的云原生 AI 平臺。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

我們將自底向上地闡述每一層的關(guān)鍵技術(shù)點。

首先,在統(tǒng)一資源管理這一層,實現(xiàn)對各類異構(gòu)資源(如 GPU、NPU)進行統(tǒng)一運維、多維度監(jiān)控和健康檢查,并具備自動異常發(fā)現(xiàn)和告警功能。此外,還需要追求性價比、彈性交付能力和自動彈性伸縮能力,充分利用云計算的價格優(yōu)勢和技術(shù)優(yōu)勢。

其次,使用阿里云提供的競價實例、按需服務(wù)等彈性資源,以降低成本并提高性價比。

在高性能網(wǎng)絡(luò)方面,采用 KBS 集群統(tǒng)一調(diào)度和管理 RDMA 和 GPU 等高性能設(shè)備,進行資源抽象與運維屏蔽,實現(xiàn)網(wǎng)絡(luò)與計算的高效協(xié)同工作。

再次,我們需要對 Nvidia GPU 進行全方位精細(xì)化支持,包括對 NVIDIA Direct 和 NCCL 的支持,以及針對多 GPU 設(shè)備場景的網(wǎng)絡(luò)拓?fù)涓兄{(diào)度策略,優(yōu)化通信效率,加速分布式訓(xùn)練。

在 GPU 資源利用率優(yōu)化方面,提供 GPU 共享調(diào)度方案,使得多個容器可以在同一張 GPU 卡上共享顯存和算力,顯著提升 GPU 利用率。同時,我們還將結(jié)合阿里云 cGPU 技術(shù)實現(xiàn)輕量級設(shè)備資源隔離化,確保顯存、算力和錯誤隔離,并最大限度地節(jié)省虛擬化開銷。

通過以上關(guān)鍵技術(shù)點提供堅實的基礎(chǔ)支撐,不斷優(yōu)化高性能資源的成本效益,最終提升整體訓(xùn)練效率。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

上升到 AI 任務(wù)調(diào)度層。如果我們理解 AI 或大數(shù)據(jù)作業(yè)的特征,就會發(fā)現(xiàn)它們不是簡單、獨立的多副本組合,而是相互依賴、有拓?fù)潢P(guān)聯(lián)的批量任務(wù)。然而,Kubernetes 原生調(diào)度器支持批量任務(wù)的能力相對缺乏,例如復(fù)雜的任務(wù)調(diào)度與搶占、資源額度分配、優(yōu)先級管理和調(diào)度性能優(yōu)化。

Kubernetes 調(diào)度器框架已經(jīng)發(fā)展成一個可插拔式的體系結(jié)構(gòu),允許我們通過 Plug-ins 進行擴展,以實現(xiàn)更復(fù)雜的任務(wù)級調(diào)度能力。ACK 團隊已經(jīng)在 Kubernetes 調(diào)度器中貢獻了多個 Plug-ins,如 gang scheduling、彈性容量調(diào)度、優(yōu)先級隊列、公平調(diào)度、拓?fù)涓兄{(diào)度等,以最大化滿足復(fù)雜的訓(xùn)練或推理任務(wù)的整體調(diào)度效率和成功率。

這些調(diào)度能力可以有效解決復(fù)雜任務(wù)編排和不合理的資源分配導(dǎo)致的資源浪費,以及不同租戶作業(yè)之間的資源爭搶等問題。此外,我們也擴展了數(shù)據(jù)親和性的調(diào)度策略,讓數(shù)據(jù)與計算更加緊密耦合,減少數(shù)據(jù)傳輸?shù)膸拤毫脱舆t。

阿里云還在 Kubernetes 社區(qū)推動成立 Batch Job 工作組,致力于制定標(biāo)準(zhǔn)規(guī)范,定義標(biāo)準(zhǔn) API,以便能夠高效結(jié)合這些復(fù)雜的任務(wù)管理和調(diào)度功能。同時,我們將一些主要的批量調(diào)度或任務(wù)級別調(diào)度策略插件貢獻給上游開源社區(qū),并已被眾多社區(qū)用戶使用。例如 Open AI 在其高達(dá) 7500 節(jié)點的模型訓(xùn)練集群中使用了 Co-scheduling 調(diào)度功能。

總的來說,在調(diào)度方面,仍有許多更復(fù)雜、更高級的功能需要繼續(xù)加強,如租戶間的公平性、虛擬配額管理、任務(wù)級搶占等。這些能力將通過 ACK 云原生 AI 套件持續(xù)提供給用戶和社區(qū)。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

在解決了任務(wù)調(diào)度的問題后,我們將探討如何將訓(xùn)練任務(wù)或推理服務(wù)與云資源的彈性相結(jié)合,從而使訓(xùn)練過程和推理服務(wù)能夠伸縮自如。

我們可以通過自動或手動方式,在有更多資源閑置的情況下,將這些資源動態(tài)添加到訓(xùn)練任務(wù)中。在資源緊張時,則可以出讓一些資源供給其他高優(yōu)先級的任務(wù)使用。同時確保運行中的任務(wù)不被打斷,并且其執(zhí)行效率和模型性能不受影響。

我們通過結(jié)合 K8S 任務(wù)管理和調(diào)度、Pytorch、Horovod 等計算框架,實現(xiàn)對常見的 CV 模型、NLP 模型和推薦類模型的支持,使訓(xùn)練任務(wù)可以使用從幾張 GPU 卡動態(tài)擴展到幾十張、上百張 GPU 卡,同時也可以反向縮容。確保任務(wù)在整個過程中不中斷,并保持收斂性能。

彈性訓(xùn)練的收益會相對明顯,尤其是在使用競價實例的場景下。雖然競價實例的優(yōu)勢在于可以用較低的價格獲取 GPU 或其他高性能計算資源,但也存在每小時就會回收的風(fēng)險。如果運行中的任務(wù)無法在此時間段內(nèi)結(jié)束,則可能會面臨縮容問題。

我們可以結(jié)合彈性訓(xùn)練和彈性推理等能力,充分利用像 spot instance 和 ECI 這樣的高性價比資源。同時,由于大模型訓(xùn)練任務(wù)(如 175B 參數(shù)級別的 GPT3)需要近千張 GPU 卡并訓(xùn)練近一個月的時間。任何一張 GPU 卡都可能出現(xiàn)故障,這會導(dǎo)致任務(wù)失敗,造成極大的損失和資源浪費。

可以結(jié)合彈性訓(xùn)練的能力,構(gòu)建容錯場景,即使部分資源失效或計算任務(wù)出錯,整體任務(wù)仍然可以通過縮容形式繼續(xù)進行訓(xùn)練,以最大化容錯。并確保計算資源的投入和計算過程都不會被浪費。這是一種非常有趣且富有挑戰(zhàn)的技術(shù)問題,即如何利用云的彈性資源來適應(yīng)算法和計算過程的彈性伸縮。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

我們之前提到了任務(wù)調(diào)度和如何更好地使用彈性資源。其中,計算效率最大化和減少數(shù)據(jù)讀取的時間是非常關(guān)鍵的問題。云計算中,存儲和計算分離是一種常見架構(gòu),它可以提供更大的靈活性,但也帶來了遠(yuǎn)程訪問延遲和帶寬限制的問題。

為了解決這些問題,我們通過開源項目 Fluid,結(jié)合分布式緩存技術(shù),將數(shù)據(jù)緩存能力內(nèi)置到數(shù)據(jù)集對象中,并將其作為有生命周期的對象進行管理。這樣,數(shù)據(jù)集可以根據(jù)應(yīng)用程序的需求進行緩存數(shù)據(jù)的親和性調(diào)度,最大程度地減少遠(yuǎn)程數(shù)據(jù)訪問延遲。還能夠在自定義監(jiān)控的情況下,進行緩存數(shù)據(jù)的自動彈性伸縮,緩解高并發(fā)計算任務(wù)訪問遠(yuǎn)程存儲的聚合帶寬壓力。

Fluid 彈性數(shù)據(jù)集編排和加速項目已經(jīng)在 ACK 云原生 AI 套件中有相應(yīng)的產(chǎn)品實現(xiàn),一些功能子集也已開源至 CNCF 社區(qū),目前正在積極向孵化階段推進。

通過分布式緩存加速技術(shù),我們可以顯著提高分布式訓(xùn)練的效率,如右下角所示的 ResNet-50 訓(xùn)練效果示例。當(dāng)我們不斷增加 GPU 卡的數(shù)量時,如果不使用緩存加速,性能加速比并趨于平坦(藍(lán)色線條),不會得到很好的提升。而通過 Fliud 的彈性分布式緩存加速后,隨著 GPU 資源的增加,訓(xùn)練性能加速比基本保持線性增長(綠色線條),大幅度地提高了 GPU 計算效率。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

我們不僅將 Fluid 彈性數(shù)據(jù)集加速的能力應(yīng)用于分布式訓(xùn)練場景,也可以將其應(yīng)用大模型的推理服務(wù)。在大模型推理服務(wù)中存在一個問題,即隨著模型體積的增長(現(xiàn)在模型常常達(dá)到幾 GB 或幾十 GB),首次創(chuàng)建,或在運行過程中動態(tài)擴容這樣的模型服務(wù)的冷啟動延遲問題會變得非常嚴(yán)重。

這是因為我們需要從遠(yuǎn)程對象存儲或 HDFS 中拉取大模型參數(shù),而這種操作往往具有較高的延遲。我們測試過,在一個 165GB 的大模型情況下,拉取所有參數(shù)可能需要近一個小時的時間,這在生產(chǎn)環(huán)境中是無法接受的,因為它不能提供在線服務(wù)。

為了解決這個問題,我們?yōu)?Fluid 緩存加速功能擴展了數(shù)據(jù)預(yù)取、并發(fā)加載、 Pagecahce 預(yù)熱等優(yōu)化手段,并應(yīng)用到模型服務(wù)冷啟動的優(yōu)化中。結(jié)果表明,對于 Llama 30B 等流行的大模型,可以實現(xiàn) 70% 至 80%,甚至更高的加速啟動效果。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

ACK 云原生 AI 套件提供的所有組件都以 Kubernetes 標(biāo)準(zhǔn)接口(CRD)和 API 形式,交付給 AI 平臺開發(fā)運維人員調(diào)用。這對基于 Kubernetes 構(gòu)建云原生 AI 平臺來說是非常方便和易用的。

但對于數(shù)據(jù)科學(xué)家和算法工程師開發(fā)訓(xùn)練 AI 模型來說,Kubernetes 的語法和操作卻是一種“負(fù)擔(dān)”。他們更習(xí)慣在 Jupyter Notebook 等 IDE 中調(diào)試代碼,使用命令行或者 Web 界面提交、管理訓(xùn)練任務(wù)。任務(wù)運行時的日志、監(jiān)控、存儲接入、GPU 資源分配和集群維護,最好都是內(nèi)置的能力,使用工具就可以簡單操作。

為此,我們創(chuàng)建了一款名為 Arena 的工具,來屏蔽底層資源、Kubernetes、運行環(huán)境等各種復(fù)雜度的能力,以統(tǒng)一的方式來管理系統(tǒng)、任務(wù)、模型開發(fā)、分布式訓(xùn)練、模型評估推理、循環(huán)迭代等全生命周期。它可以自動化處理復(fù)雜的任務(wù),包括調(diào)度、Kubernetes 管理和實時監(jiān)控。此外,Arena 還支持 Go、Java 和 Python SDK,支持二次開發(fā)和封裝。

我們還為運維人員和開發(fā)者提供了可視化的控制臺,使他們在不同終端上都能實現(xiàn)統(tǒng)一的任務(wù)管理。只需使用 Arena 的一條命令,就可以將分布式的任務(wù)提交到 Kubernetes 集群中,自動運行,并保存訓(xùn)練結(jié)果。另一條命令則可以用于創(chuàng)建模型推理服務(wù),也包括發(fā)布、A/B 測試、流量管理等運維操作。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

目前我們也為 Arena 擴展了對大模型的支持,兼容了主流的 LLM/ AIGC 模型和訓(xùn)練、推理框架。例如,用戶可以通過兩條命令快速訓(xùn)練和推理 ChatGLM,Llama,Bloom,Baichuan,Qwen 等模型。

ACK 云原生 AI 套件工程實踐

前述所有這些關(guān)鍵技術(shù),我們需要考慮如何將它們應(yīng)用起來,怎樣將它們快速應(yīng)用于用戶的生產(chǎn)環(huán)境中,以啟動用戶的第一個 AI 訓(xùn)練和推理任務(wù)。為此,在阿里云的容器服務(wù)(ACK)上,我們提供“云原生 AI 套件”,旨在將上述所有技術(shù)及架構(gòu)在一個完整的產(chǎn)品中提供給我們的客戶和合作伙伴。

云原生 AI 套件完全遵循之前介紹的分層參考架構(gòu)進行實現(xiàn)和交付。用戶可以根據(jù)自己的需求,在其中選擇所需的組件。例如,如果用戶對 GPU 管理有特殊要求,則可以利用異構(gòu)算力中的調(diào)度、共享、隔離等能力。如果對任務(wù)管理有很多需求,可以利用我們的高級調(diào)度策略。如果您需要一個方便快捷的 AI 生產(chǎn)流程管線管理工具,那么 Arena 等套件的能力也可以迅速為您提供幫助。

借助這些功能,可以幫助用戶實現(xiàn) AI 訓(xùn)練速度提高 20% 以上,數(shù)據(jù)訪問效率提高 30% 以上,而 GPU 利用率則可提高 100% 以上。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

ACK 的云原生 AI 套件能夠帶來什么效果?

這里有兩個案例來說明。

首先,任意門是一個需要大量用戶多模態(tài)數(shù)據(jù)進行人工智能驅(qū)動的社交平臺??蛻粜枰粋€能夠充分利用云計算彈性資源并具有快速迭代和擴展能力的 AI 平臺。借助 ACK 的云原生 AI 套件,任意門構(gòu)建了一個定制化的基于容器的 AI 平臺?,F(xiàn)在,該平臺已經(jīng)承載了客戶的語音合成、人臉匹配、圖像識別和智能聊天等業(yè)務(wù)場景。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

第二個案例是小米的機器學(xué)習(xí)平臺

客戶采用混合云方式,既使用自有 IDC 中的 GPU 資源,又使用阿里云的彈性 GPU 資源,構(gòu)建 AI 平臺。由于跨地域,使得計算存儲分離的架構(gòu),在數(shù)據(jù)復(fù)制延遲和聚合帶寬的問題非常突出。通過使用 Fluid 的分布式緩存加速和數(shù)據(jù)統(tǒng)一管理方案,解決了線下自建 StarFS 存儲的標(biāo)準(zhǔn)化接入和管理問題,并增加了分布緩存線下數(shù)據(jù)能力,以解決數(shù)據(jù)加載性能問題。幫助小米構(gòu)建了一個高效混合云架構(gòu)下的分布式 AI 平臺。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

如何使用 ACK 的云原生 AI 套件?只需在阿里云創(chuàng)建一個 ACK 集群,無論是否添加 GPU 節(jié)點。一鍵安裝即可將整個云原生 AI 套件部署到集群中。用戶可以根據(jù)需求選擇所需組件,以定制自己的基礎(chǔ) AI 平臺。在該平臺上進行二次開發(fā)和擴展后,開發(fā)人員可以通過 Arena 或 Jupyter Notebook 進行模型開發(fā),并向 GPU 集群提交模型訓(xùn)練任務(wù)。同時,AI 平臺的運維人員可以通過 AI 套件中的運維控制臺和運維命令進行模型生產(chǎn)和線上推理服務(wù)的便捷運維。

為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐,阿里云,云原生,人工智能

AI 平臺或 AI Infra 運營人員如何使用 ACK 云原生 AI 套件進行工作的流程:首先,創(chuàng)建 ACK 集群,接著配置調(diào)度策略、創(chuàng)建訓(xùn)練數(shù)據(jù)集或模型集,并通過 AI 運維控制臺監(jiān)控集群運行狀況、GPU 分配情況和健康狀況等。

作為開發(fā)團隊的數(shù)據(jù)科學(xué)家和算法工程師,則通過 Arena 命令行或 SDK 進行模型開發(fā)、訓(xùn)練的迭代實驗。最后通過評測和壓測,選擇出符合預(yù)期的模型版本,通過 Arena 創(chuàng)建推理服務(wù),將其發(fā)布到生產(chǎn)集群中。我們還提供了 AI 開發(fā)控制臺,以便于不習(xí)慣使用命令行或無需二次開發(fā)需求的用戶,在可視化界面上完成所有開發(fā)、訓(xùn)練任務(wù)的操作。

ACK 是基于阿里云容器服務(wù)托管的 Kubernetes 服務(wù),經(jīng)過大量國內(nèi)外客戶的驗證。ACK 在今年首次參加 Gartner 年度容器管理魔力象限評選,并榮幸地進入了領(lǐng)導(dǎo)者象限,是亞洲地區(qū)唯一入選該象限的云服務(wù)商。

在 ACK 平臺上,我們提供了穩(wěn)定高效的托管 Kuberntes 集群,以及云原生 AI 能力、服務(wù)網(wǎng)格能力、多集群、多云管理能力、邊緣計算能力、專有云和混合云交付能力,以及對大規(guī)模計算服務(wù)的高效支持。所有這些能力都以標(biāo)準(zhǔn) Kubernetes API 和架構(gòu)提供出來。

歡迎廣大用戶和合作伙伴在 ACK 容器服務(wù)上,利用云原生 AI 套件快速構(gòu)建自己的云原生 AI 平臺。文章來源地址http://www.zghlxwxcb.cn/news/detail-814422.html

到了這里,關(guān)于為大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化實踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 阿里云 ACK 云原生 AI 套件中的分布式彈性訓(xùn)練實踐

    阿里云 ACK 云原生 AI 套件中的分布式彈性訓(xùn)練實踐

    作者:霍智鑫 眾所周知,隨著時間的推移,算力成為了 AI 行業(yè)演進一個不可或缺的因素。在數(shù)據(jù)量日益龐大、模型體量不斷增加的今天,企業(yè)對分布式算力和模型訓(xùn)練效率的需求成為了首要的任務(wù)。如何更好的、更高效率的以及更具性價比的利用算力,使用更低的成本來訓(xùn)

    2024年01月25日
    瀏覽(89)
  • 某制造企業(yè)基于 KubeSphere 的云原生實踐

    某制造企業(yè)基于 KubeSphere 的云原生實踐

    隨著業(yè)務(wù)升級改造與軟件產(chǎn)品專案的增多,常規(guī)的物理機和虛擬機方式逐漸暴露出一些問題: 大量服務(wù)部署在虛擬機上,資源預(yù)估和硬件浪費較大; 大量服務(wù)部署在虛擬機上,部署時間和難度較大,自動化程度較低; 開發(fā)人員和運維人員,由于開發(fā)和部署服務(wù)環(huán)境不同,服

    2024年02月15日
    瀏覽(23)
  • 某物聯(lián)網(wǎng)數(shù)智化園區(qū)行業(yè)基于 KubeSphere 的云原生實踐

    某物聯(lián)網(wǎng)數(shù)智化園區(qū)行業(yè)基于 KubeSphere 的云原生實踐

    作為物聯(lián)網(wǎng) + 數(shù)智化園區(qū)一體化解決方案提供商,我們致力于為大中型園區(qū)、停車場提供軟硬件平臺,幫助園區(qū)運營者實現(xiàn)數(shù)字化、智能化運營。 在使用 K8s 之前我們使用傳統(tǒng)的方式部署上線,使用 spug(一款輕量級無 Agent 的自動化運維平臺) 自動化在單節(jié)點完成代碼部署上

    2024年02月09日
    瀏覽(21)
  • ModaHub魔搭社區(qū):基于阿里云 ACK 搭建開源向量數(shù)據(jù)庫 Milvus

    目錄 一、準(zhǔn)備資源 二、集群創(chuàng)建: 本集群基于Terway網(wǎng)絡(luò)構(gòu)建 二、連接剛剛創(chuàng)建的ACK集群 三、部署Milvus數(shù)據(jù)庫 四、優(yōu)化Milvus配置 簡介: 生成式 AI(Generative AI)引爆了向量數(shù)據(jù)庫(Vector Database)市場,基于大模型的各種應(yīng)用場景會需要使用到向量數(shù)據(jù)庫。 其中,Milvus 是一

    2024年02月12日
    瀏覽(26)
  • K8sGPT,基于 AI 的云原生終極工具

    K8sGPT,基于 AI 的云原生終極工具

    隨著人工智能和機器學(xué)習(xí)的興起,企業(yè)和組織越來越多地尋找創(chuàng)新方法來利用這些技術(shù)來獲得競爭優(yōu)勢。?該領(lǐng)域最強大的工具之一便是 K8sGPT,即基于 Kubernetes 的 GPT,它將 Kubernetes 編排的優(yōu)勢與 GPT 模型的高級自然語言處理能力結(jié)合在一起。 毫不夸張的說,K8sGPT 是一種 改變

    2024年02月07日
    瀏覽(18)
  • 【Quarkus技術(shù)系列】打造基于Quarkus的云原生微服務(wù)框架實踐(1)

    【Quarkus技術(shù)系列】打造基于Quarkus的云原生微服務(wù)框架實踐(1)

    前提介紹 本系列文章主要講解如何基于Quarkus技術(shù)搭建和開發(fā)\\\"專為Kubernetes而優(yōu)化的Java微服務(wù)框架\\\"的入門和實踐,你將會學(xué)習(xí)到如何搭建Quarkus微服務(wù)腳環(huán)境及腳手架,開發(fā)Quarkus的端點服務(wù),系統(tǒng)和應(yīng)用層級的配置介紹與Quarkus的編程模型分析,創(chuàng)建Quarkus的應(yīng)用Uber-jar文件以及

    2024年02月13日
    瀏覽(23)
  • 基于SPDK-vhost的云原生KubeVirt虛擬化IO的優(yōu)化方案(二)

    基于SPDK-vhost的云原生KubeVirt虛擬化IO的優(yōu)化方案(二)

    摘要 在上一篇文章《基于SPDK-vhost的云原生KubeVirt虛擬化IO的優(yōu)化方案》中我們分享了在云原生KubeVirt場景中引入SPDK-vhost從而加速虛機中IO存儲性能的方案,本文將在此方案基礎(chǔ)上介紹對云原生虛機的熱遷移(Live Migration)、熱恢復(fù)(Live Recovery)特性的支持,并分享我們基于I

    2024年01月23日
    瀏覽(23)
  • 阿里云——容器服務(wù)ACK

    助力企業(yè)高效運行云端Kubernetes容器化應(yīng)用 容器服務(wù) Kubernetes 版(簡稱 ACK)整合了阿里云虛擬化、存儲、網(wǎng)絡(luò)和安全能力,為您提供高性能可伸縮的容器應(yīng)用管理能力,支持企業(yè)級容器化應(yīng)用的全生命周期管理。 阿里云是全球首批通過 Kubernetes 一致性驗證的服務(wù)提供商,為您

    2023年04月08日
    瀏覽(19)
  • 阿里云ack介紹

    阿里云ack介紹

    k8s中的網(wǎng)絡(luò)(較詳細(xì)匯總) - jojoword - 博客園 (cnblogs.com) 1.集群信息 ?集群信息展示了集群的基本信息和連接信息 2.節(jié)點管理 2.1.節(jié)點池 ?簡單理解為機器,所有機器的池子 2.2.節(jié)點 每一臺機器 3.命名空間與配額 字面意義的命名空間,資源隔離 4.工作負(fù)載 4.1.無狀態(tài) 數(shù)據(jù)不需要

    2024年01月17日
    瀏覽(20)
  • 云原生場景下,AIGC 模型服務(wù)的工程挑戰(zhàn)和應(yīng)對

    云原生場景下,AIGC 模型服務(wù)的工程挑戰(zhàn)和應(yīng)對

    “成本”、“性能”和 “效率”正在成為影響大模型生產(chǎn)和應(yīng)用的三個核心因素,也是企業(yè)基礎(chǔ)設(shè)施在面臨生產(chǎn)、使用大模型時的全新挑戰(zhàn)。AI 領(lǐng)域的快速發(fā)展不僅需要算法的突破,也需要工程的創(chuàng)新。 首先,AI 商業(yè)化的時代,大模型推理訓(xùn)練會被更加廣泛的使用。比較理

    2024年02月02日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包