全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:云原生AI套件概述

更新时间:Oct 19, 2023

云原生AI套件是阿里云容器服务ACK提供的云原生AI技术和产品方案。使用云原生AI套件,您可以充分利用云原生架构和技术,在Kubernetes容器平台上快速定制化构建AI生产系统,并为AI/ML应用和系统提供全栈优化。本文介绍云原生AI套件产品架构、核心功能、使用场景、使用流程等内容。

产品架构

云原生AI套件以Kubernetes容器服务为底座,向下封装对各类异构资源的统一管理,向上提供标准Kubernetes集群环境和API,以运行各核心组件,实现资源运维管理、AI任务调度和弹性伸缩、数据访问加速、工作流编排、大数据服务集成、AI作业生命周期管理、AI制品管理、统一运维等服务;再向上针对AI生产流程中的主要环节,支持AI数据集管理,AI模型开发、训练、评测,以及模型推理服务等。

您可以通过统一的命令行工具、多种语言SDK和控制台界面,直接使用各核心组件。您也可以进行灵活地扩展、组装或二次开发,快速定制化构建AI生产系统。通过同样的组件和工具,云原生AI套件也支持阿里云AI服务、开源AI框架和第三方AI能力的集成。

此外,云原生AI套件支持与阿里云机器学习平台PAI无缝集成,提供高效、灵活的一站式AI平台。一方面,您可以直接使用PAI平台提供的DSW、DLC、EAS等服务。这些服务借助ACK为AI模型开发、训练和推理带来了更好的弹性和效率。另一方面,云原生AI套件支持在ACK集群中一键部署轻量化机器学习PAI平台,降低AI使用门槛。在Kubernetes应用中,您可以灵活地集成PAI平台深度优化的算法和引擎,依托其最佳实践沉淀,极大优化训练与推理效果。关于机器学习平台PAI的更多信息,请参见什么是机器学习PAI

云原生AI套件的产品架构如下图所示。

AI套件架构图..png

核心功能

云原生AI套件基于Kubernetes容器服务,为AI/ML应用和系统提供了自底向上的全栈支持和优化。云原生AI套件有以下核心功能。

功能项

说明

相关文档

异构资源统一管理

  • 多种异构资源支持:在容器服务ACK上,云原生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任务提供工作流编排服务。

弹性AI任务

弹性调度分布式深度学习训练任务:训练过程中,支持动态伸缩子任务Worker实例数量和节点数量,同时基本维持整体训练进度和模型精度。在集群资源空闲时,支持增加更多Worker加速训练;在资源紧张时,释放部分Worker,以保证训练的基本运行进度。这种模式可以极大提升集群的总体利用率,避免计算节点故障影响,同时显著减少用户提交作业之后等待作业启动的时间。

弹性训练

AI数据编排与加速

Fluid:提出弹性数据集(Dataset)的概念。对“计算任务使用数据的过程”进行抽象,并创建数据编排与加速系统Fluid,以实现数据集管理、权限控制和访问加速等能力。Fluid支持将多个不同类存储服务作为数据源聚合到同一个Dataset中使用,还可以接入不同位置的存储服务实现混合云环境下的数据管理与访问加速。此外,Fluid可扩展兼容多种分布式缓存服务,为每个Dataset配置缓存服务,还提供数据集预热、缓存容量监控和弹性伸缩等功能,可以大大降低计算任务远程拉取数据的开销,实现GPU计算效率提升。

AI作业生命周期管理

  • Arena:将数据准备与管理、模型开发构建、模型训练、模型评测、模型推理服务上线运维等AI生产过程的主要工作环节进行抽象,并以命令行工具Arena实现管理。Arena完全屏蔽底层资源和环境管理、任务调度、GPU分配和监控的复杂性,兼容主流AI框架和工具,包括Tensorflow、Pytorch、Horovod、Spark、JupyterLab、TF-Serving、Triton等。Arena还支持Golang、Java、Python语言SDK,便于用户二次开发。

  • 可视化运维:提供简单的运维大盘和开发控制台,满足用户快速浏览集群状态、提交训练任务的需要。

使用场景

云原生AI套件的核心场景包括持续优化异构资源效率、高效运行AI等异构工作负载。使用场景..png

场景一:持续优化异构资源效率

对云上各种异构计算资源(如CPU、GPU、NPU、VPU、FPGA)、存储(OSS、NAS、CPFS、HDFS)、网络(TCP、RDMA)资源,云原生AI套件支持对其进行抽象,统一管理、运维和分配,通过弹性和软硬协同优化,持续提升资源利用率。

场景二:高效运行AI等异构工作负载

云原生AI套件兼容Tensorflow、Pytorch、Horovod、Spark、Flink等主流开源或者用户自有的各种计算引擎和运行时,统一运行各类异构工作负载,统一管理作业生命周期,统一调度任务工作流,保证任务规模和性能。云原生AI套件一方面不断优化运行任务的性能、效率和成本,另一方面持续改善开发运维体验和工程效率。

用户角色

云原生AI套件存在两种用户角色。

角色类型

说明

运维管理员

负责搭建AI基础架构和日常管理。更多信息,请参见部署云原生AI套件管理用户管理弹性配额组管理数据集

算法工程师、数据科学家

使用云原生AI套件管理任务。更多信息,请参见模型训练模型管理模型评测模型分析优化

使用流程

基于用户角色,云原生AI套件的使用流程如下图所示。

使用流程..png

流程

说明

操作界面

1、准备工作

(运维管理员)

注册账号

注册阿里云账号并完成实名认证。具体操作,请参见注册阿里云账号

阿里云账号注册页面

创建ACK集群

开通ACK服务并创建ACK集群。推荐配置如下。关于配置的详情说明,请参见创建Kubernetes托管版集群

  • 集群类型:ACK Pro版集群、ACK Serverless集群Pro版ACK Edge集群Pro版

  • 集群版本:1.18及以上。

  • 地域:以ACK集群开服的地域为准。

容器服务管理控制台

配置ACK集群依赖项及创建依赖云资源(可选)

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

    • 需在集群中安装监控插件和日志服务。

    • 需在访问控制(RAM)控制台为集群添加授权策略。详情请参见授权

    • 若使用私网、公网域名访问控制台,需要在集群中安装Nginx Ingress(私网、公网)。

    • 若控制台数据存储方式选择集群内置MySQL,集群节点需要挂载ESSD类型云盘。

    • 若控制台数据存储方式选择阿里云关系型数据库RDS(Relational Database Service),需购买RDS实例,并在集群kube-ai命名空间下创建名为kubeai-rds的Secret。

    关于以上配置的具体操作,请参见安装配置云原生AI控制台

  • 若需安装配置工作流Kubeflow Pipelines:

    • 若工作流数据存储方式选择集群内置MinIO,集群节点需要挂载ESSD类型云盘。具体操作,请参见安装配置工作流

    • 若工作流数据存储方式选择阿里云对象存储OSS(Object Storage Service),需开通并购买OSS,并在集群kube-ai命名空间下创建名为kubeai-oss的Secret。具体操作,请参见开通OSS服务安装配置工作流

2、系统与环境搭建

(运维管理员)

开通安装

  1. 打开云原生AI套件开通页面,开通云原生AI套件服务。

  2. 安装云原生AI套件和相关组件。具体操作,请参见安装云原生AI套件。关于安装过程中涉及的组件介绍,请参见组件介绍及发布记录

容器服务管理控制台

管理用户和配额

  1. 添加配额节点,并限定资源使用额度。

  2. 创建用户和用户组,分配资源并关联配额组。

    具体操作,请参见管理用户管理用户组管理弹性配额组

  3. 为新增用户生成访问集群的KubeConfig和登录Token。具体操作,请参见为新增用户生成KubeConfig和登录Token

AI运维控制台、kubectl

准备数据

  1. 创建数据集。

  2. 加速数据集(可选)。更多信息,请参见数据加速Fluid概述

(算法工程师、数据科学家)

云原生AI套件支持命令行工具Arena、Web控制台和一站式AI平台等多种方式,帮助算法工程师和数据科学家进行模型开发、训练、推理和任务管理。

  • 使用命令行工具或开发控制台

    安装配置命令行工具Arena或云原生AI套件开发控制台。具体操作,请参见配置Arena客户端安装配置云原生AI控制台

  • 使用轻量化机器学习PAI平台

    安装轻量化机器学习PAI平台。

容器服务管理控制台

3、模型训练与部署

(算法工程师、数据科学家)

使用云原生AI套件提供的命令行工具Arena或AI套件开发控制台时,模型训练与部署如下。

模型开发

  1. 创建并使用Jupyter Notebook。具体操作,请参见创建并使用Jupyter Notebook

  2. 通过Jupyter Notebook开发测试。

  3. 在Jupyter Notebook中提交代码至Git仓库。

模型训练

  1. 通过AI套件开发控制台或Arena提交训练任务。

  2. 查看任务日志或Tensorboard数据。

    更多信息,请参见模型训练

模型管理和测评

  1. 创建模型并关联训练任务。

  2. 提交模型评测任务。

  3. 对比评测结果。

    更多信息,请参见模型管理模型评测

模型部署

将模型发布为推理服务。更多信息,请参见AI服务部署

AI开发控制台、Arena

使用轻量化机器学习平台PAI提供的模型开发、训练、部署等服务。

PAI轻量化控制台

4、运维观测

(运维管理员)

运维观测

查看资源大盘,包括集群、节点、训练任务、资源配额等监控大盘。更多信息,请参见使用云原生AI监控大盘

AI运维控制台

配额管理

  • 对配额组及配额组资源进行新增、查询、更新、删除等操作。

  • 变更资源类型。

    以上具体操作,请参见管理弹性配额组

用户管理

新增、查询、更新、删除用户或用户组。具体操作,请参见管理用户管理用户组

数据集管理

弹性任务管理

查看提交的弹性任务及任务详情。具体参照,请参见查看弹性任务

5、出账及扣费

(运维管理员)

准备付费

阿里云用户中心

对账

  • 查询账单流水。

  • 查询明细账单。

  • 查询用量明细。

  • 查询产品量价汇总。

    更多信息,请参见云原生AI套件计费说明

产品计费

关于云原生AI套件的计费详情,请参见云原生AI套件计费说明

更多信息

信息项

说明

快速入门(新手)

通过简单的实践,带您体验和了解如何使用云原生AI套件进行开发或运维。更多信息,请参见云原生AI套件开发者使用指南云原生AI套件管理员运维指南

功能发布记录

介绍云原生AI套件相关内容的最新动态。