全部產品
Search
文件中心

Container Service for Kubernetes:雲原生AI套件概述

更新時間:Aug 02, 2024

雲原生AI套件是阿里雲Container ServiceACK提供的雲原生AI技術和產品方案。使用雲原生AI套件,您可以充分利用雲原生架構和技術,在Kubernetes容器平台上快速定製化構建AI生產系統,並為AI/ML應用和系統提供全棧最佳化。本文介紹雲原生AI套件產品架構、核心功能、使用情境、使用流程等內容。

產品架構

雲原生AI套件以阿里雲Container ServiceACK為底座,向下封裝對各類異構資源的統一管理,向上提供標準Kubernetes叢集環境和API,以運行各核心組件,實現資源營運管理、AI任務調度和Auto Scaling、資料訪問加速、工作流程編排、巨量資料服務整合、AI作業生命週期管理、AI製品管理、統一營運等服務;再向上針對AI生產流程中的主要環節,支援AI資料集管理,AI模型開發、訓練、評測,以及模型推理服務等。

您可以通過統一的命令列工具、多種語言SDK和控制台介面,直接使用各核心組件。您也可以進行靈活地擴充、組裝或二次開發,快速定製化構建AI生產系統。通過同樣的組件和工具,雲原生AI套件也支援阿里雲AI服務、開源AI架構和第三方AI能力的整合。

此外,雲原生AI套件支援與阿里雲Platform for AI無縫整合,提供高效、靈活的一站式AI平台。一方面,您可以直接使用PAI平台提供的DSW、DLC、EAS等服務。這些服務藉助ACK為AI模型開發、訓練和推理帶來了更好的彈性和效率。另一方面,雲原生AI套件支援在ACK叢集中一鍵部署輕量化Platform for AI平台,降低AI使用門檻。在Kubernetes應用中,您可以靈活地整合PAI平台深度最佳化的演算法和引擎,依託其最佳實務沉澱,極大最佳化訓練與推理效果。關於Platform for AI的更多資訊,請參見什麼是人工智慧平台 PAI

雲原生AI套件的產品架構如下圖所示。

核心功能

雲原生AI套件基於阿里雲Container ServiceACK,為AI/ML應用和系統提供了自底向上的全棧支援和最佳化。雲原生AI套件有以下核心功能。

功能項

說明

相關文檔

異構資源統一管理

  • 多種異構資源支援:在Container ServiceACK上,雲原生AI套件增加了對Nvidia GPU、NPU、FPGA、VPU、RDMA高效能網路等各種異構資源的支援,進行統一調度和營運管理。

  • 監控營運:針對GPU提供了多維度監控能力,支援可視化查看GPU的分配、使用和健康狀態。

  • 資源使用率最佳化:提供了GPU共用調度與隔離、GPU拓撲感知調度等多種資源使用率最佳化能力。

AI任務調度

  • 多種調度策略支援:針對AI分布式訓練等典型批量任務類型,ACK調度器擴充Kubernetes原生調度架構,支援實現多種典型批量調度策略,包括Gang Scheduling(Coscheduling)、FIFO Scheduling、Capacity Scheduling、Fair sharing、Binpack/Spread等。

  • 任務隊列:提供新的優先順序任務隊列,支援自訂的任務優先順序管理和租戶彈性資源配額控制

  • 工作流程編排:支援整合Kubeflow Pipelines或Argo雲原生工作流程引擎,為複雜的AI任務提供工作流程編排服務。

彈性調度

彈性調度分布式深度學習訓練任務:訓練過程中,支援動態伸縮子任務Worker執行個體數量和節點數量,同時基本維持整體訓練進度和模型精度。在叢集資源空閑時,支援增加更多Worker加速訓練;在資源緊張時,釋放部分Worker,以保證訓練的基本運行進度。這種模式可以極大提升叢集的總體利用率,避免計算節點故障影響,同時顯著減少使用者提交作業之後等待作業啟動的時間。

基於Kubernetes彈性訓練

AI資料編排與加速

Fluid:提出彈性資料集(Dataset)的概念。對“計算任務使用資料的過程”進行抽象,並建立資料編排與加速系統Fluid,以實現資料集管理、許可權控制和訪問加速等能力。ack-fluid組件支援將多個不同類型的儲存服務作為資料來源彙總到同一個Dataset中使用,還可以接入不同位置的儲存服務實現混合雲環境下的資料管理與訪問加速。此外,ack-fluid組件可擴充相容多種分布式快取服務,為每個Dataset配置快取服務,還提供資料集預熱、緩衝容量監控和Auto Scaling等功能,可以大大降低計算任務遠程拉取資料的開銷,提高GPU計算效率。

AI作業生命週期管理

  • Arena:簡化了AI生產流程,覆蓋資料管理、模型開發、訓練及推理服務部署等關鍵環節,同時隱藏了資源調度、環境配置及監控的複雜細節,確保相容TensorFlow、PyTorch等主流AI技術棧。它還支援多語言SDK,便於定製開發。ack-arena組件在整合Arena管理工具的基礎上進行了操作簡化,使使用者能直接在Container Service控制台一鍵安裝並快速使用Arena,提升了易用性和部署效率。

  • 可視化營運:提供簡單的營運大盤和開發控制台,滿足使用者快速探索叢集狀態、提交訓練任務的需要。

使用情境

雲原生AI套件的核心情境包括持續最佳化異構資源效率、高效運行AI等異構工作負載。使用情境..png

情境一:持續最佳化異構資源效率

對雲上各種異構計算資源(如CPU、GPU、NPU、VPU、FPGA)、儲存(OSS、NAS、CPFS、HDFS)、網路(TCP、RDMA)資源,雲原生AI套件支援對其進行抽象,統一管理、營運和分配,通過彈性和軟硬協同最佳化,持續提升資源使用率。

情境二:高效運行AI等異構工作負載

雲原生AI套件內建支援TensorFlow、PyTorch、DeepSpeed、Ray、Horovod、Spark、Flink、Kubeflow、KServe、vLLM、Triton inference server等主流開源或者使用者自有的各種計算引擎和運行時,統一運行各類異構工作負載,統一管理作業生命週期,統一調度任務工作流程,保證任務規模和效能。雲原生AI套件一方面不斷最佳化運行任務的效能、效率和成本,另一方面持續改善開發營運體驗和工程效率。

使用者角色

雲原生AI套件存在兩種使用者角色。

角色類型

說明

營運管理員

負責搭建AI基礎架構和日常管理。更多資訊,請參見部署雲原生AI套件系統管理使用者管理彈性配額組管理資料集

演算法工程師、資料科學家

使用雲原生AI套件管理工作。更多資訊,請參見基於Kubernetes部署運行模型訓練作業對MLflow模型倉庫中的模型進行管理模型分析最佳化

使用流程

基於使用者角色,雲原生AI套件的使用流程如下圖所示。

使用流程..png

流程

說明

操作介面

1、準備工作

(營運管理員)

註冊帳號

註冊阿里雲帳號並完成實名認證。具體操作,請參見註冊阿里雲帳號

阿里雲帳號註冊頁面

建立ACK叢集

開通ACK服務並建立ACK叢集。推薦配置如下。關於配置的詳情說明,請參見建立ACK託管叢集

  • 叢集類型:ACK Pro版叢集、ACK Serverless叢集Pro版ACK Edge叢集Pro版

  • 叢集版本:1.18及以上。

  • 地區:以ACK叢集開服的地區為準。

Container Service管理主控台

配置ACK叢集依賴項及建立依賴雲資源(可選)

  • 若需安裝配置AI套件控制台:

    • 需在叢集中安裝監控外掛程式和Log Service。

    • 需在存取控制(RAM)控制台為叢集添加授權策略。詳情請參見授權

    • 若使用私網、公網網域名稱存取控制台,需要在叢集中安裝Nginx Ingress(私網、公網)。

    • 若控制台資料存放區方式選擇叢集內建MySQL,叢集節點需要掛載ESSD類型雲端硬碟。

    • 若控制台資料存放區方式選擇阿里雲關係型資料庫RDS(Relational Database Service),需購買RDS執行個體,並在叢集kube-ai命名空間下建立名為kubeai-rds的Secret。

    關於以上配置的具體操作,請參見安裝配置雲原生AI控制台

  • 若需要安裝配置工作流程Kubeflow Pipelines:

    • 若工作流程資料存放區方式選擇叢集內建MinIO,叢集節點需要掛載ESSD類型雲端硬碟。具體操作,請參見安裝配置工作流程

    • 若工作流程資料存放區方式選擇阿里雲Object Storage Service(Object Storage Service),需開通併購買OSS,並在叢集kube-ai命名空間下建立名為kubeai-oss的Secret。具體操作,請參見開通OSS服務安裝配置工作流程

2、系統與環境搭建

(營運管理員)

開通安裝

  1. 開啟雲原生AI套件開通頁面,開通雲原生AI套件服務。

  2. 安裝雲原生AI套件和相關組件。具體操作,請參見安裝雲原生AI套件。關於安裝過程中涉及的組件介紹,請參見組件介紹及發布記錄

Container Service管理主控台

系統管理使用者和配額

  1. 添加配額節點,並限定資源使用額度。

  2. 建立使用者和使用者組,分配資源並關聯配額組。

    具體操作,請參見系統管理使用者系統管理使用者組管理彈性配額組

  3. 為新增使用者產生訪問叢集的KubeConfig和登入Token。具體操作,請參見為新增使用者產生KubeConfig和登入Token

AI營運控制台、kubectl

準備資料

  1. 建立資料集。

  2. 加速資料集(可選)。更多資訊,請參見資料加速Fluid概述

(演算法工程師、資料科學家)

雲原生AI套件支援命令列工具Arena、Web控制台和一站式AI平台等多種方式,協助演算法工程師和資料科學家進行模型開發、訓練、推理和任務管理。

  • 使用命令列工具或開發控制台

    安裝配置命令列工具Arena或雲原生AI套件開發控制台。具體操作,請參見配置Arena用戶端安裝配置雲原生AI控制台

  • 使用輕量化Platform for AI平台

    安裝輕量化Platform for AI平台。

Container Service管理主控台

3、模型訓練與部署

(演算法工程師、資料科學家)

使用雲原生AI套件提供的命令列工具Arena或AI套件開發控制台時,模型訓練與部署如下。

模型開發

  1. 建立並使用Jupyter Notebook。具體操作,請參見建立並使用Jupyter Notebook

  2. 通過Jupyter Notebook開發測試。

  3. 在Jupyter Notebook中提交代碼至Git倉庫。

模型訓練

  1. 通過AI套件開發控制台或Arena提交訓練任務。

  2. 查看任務日誌或Tensorboard資料。

    更多資訊,請參見模型訓練

模型管理

  1. 建立模型並關聯訓練任務。

  2. 用雲原生AI套件開發控制台或Arena命令列工具進行模型管理。更多資訊,請參見對MLflow模型倉庫中的模型進行管理

模型部署

將模型發布為推理服務。更多資訊,請參見AI服務部署

AI開發控制台、Arena

使用輕量化Platform for AI提供的模型開發、訓練、部署等服務。

PAI輕量化控制台

4、營運觀測

(營運管理員)

營運觀測

查看資源大盤,包括叢集、節點、訓練任務、資源配額等監控大盤。更多資訊,請參見使用雲原生AI監控大盤

AI營運控制台

配額管理

  • 對配額組及配額組資源進行新增、查詢、更新、刪除等操作。

  • 變更資源類型。

    以上具體操作,請參見管理彈性配額組

使用者管理

新增、查詢、更新、刪除使用者或使用者組。具體操作,請參見系統管理使用者系統管理使用者組

資料集管理

彈性任務管理

查看提交的彈性任務及任務詳情。具體參照,請參見查看彈性任務

5、出賬及計費

(營運管理員)

自2024年06月06日00:00:00起,由付費模式轉變為免費開放。更多資訊,請參見雲原生AI套件計費說明

阿里雲費用與成本

按天出賬

  • 查詢賬單流水。

  • 查詢明細賬單。

  • 查詢用量明細。

  • 查詢產品量價匯總。

    更多資訊,請參見雲原生AI套件計費說明

產品計費

關於雲原生AI套件的計費詳情,請參見雲原生AI套件計費說明

更多資訊

資訊項

說明

快速入門(新手)

通過簡單的實踐,帶您體驗和瞭解如何使用雲原生AI套件進行開發或營運。更多資訊,請參見雲原生AI套件開發人員使用指南雲原生AI套件管理員營運指南

功能發布記錄

介紹雲原生AI套件相關內容的最新動向。