阿里云容器服务在AI智算场景的创新与实践

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 2024年云栖大会,我们总结过往支持AI智算基础底座的实践经验、发现与思考,给出《容器服务在AI智算场景的创新与实践》的演讲。不仅希望将所做所想与客户和社区分享,也期待引出更多云原生AI领域的交流和共建。

【阅读原文】戳:阿里云容器服务在AI智算场景的创新与实践

本文整理自张凯在2024云栖大会的演讲

 

 

 

引言

 

 

 

2018年北美西雅图KubeCon上,阿里云容器服务团队为Kubernetes社区分享了业界第一套开源的GPU容器共享调度方案。从那以后,容器服务和GPU集群调度、深度学习、AI训练推理、大模型,这些热点技术走的越来越近。

 

2021年,容器服务开始在CNCF社区推广云原生AI的概念和参考架构,参与建设Kubeflow云原生机器学习开源社区,推动Kubernetes调度器框架支持batch任务调度,创建Kube-queue任务队列,和Fluid数据集编排加速等开源项目。

 

2023年,在CNCF社区发表Cloud Native AI白皮书之前,容器服务ACK云原生AI套件产品已商业化上线。同年云栖大会容器场,我们分享了容器产品在云原生AI领域的关键技术。通过支持PAI灵骏产品和客户的AIGC/LLM应用,容器进入到AI智算和大模型领域。

 

2024年云栖大会,我们总结过往支持AI智算基础底座的实践经验、发现与思考,给出《容器服务在AI智算场景的创新与实践》的演讲。不仅希望将所做所想与客户和社区分享,也期待引出更多云原生AI领域的交流和共建。

 

 

 

 

TL;DR

 

 

 

阿里云容器服务,聚焦智算和大模型场景需求,在云原生AI系统分层架构中,提供若干优化,以增强Kubernetes支持AI负载的稳定性、弹性、效率和开放性。主要工作包括:

 

1. 增强GPU的可观测性,实时Profiling和故障自愈能力;

 

2. AI任务在多集群、跨地域GPU资源池上统一调度,缓解GPU资源紧缺问题;

 

3. 优化vLLM,Kserve等开源大模型推理引擎在容器部署和管理实践;

 

4. 支持灵活的弹性伸缩策略,降低大模型推理冷启动延时,优化AI推理服务的性能和成本;

 

5. 集成Ray,Slurm等更多分布式计算和任务调度系统,优秀的LLM应用架构方案,比如Dify,Flowise,FastGPT等RAG方案,以及Nvidia NIM大模型推理加速方案等,优化它们与阿里云服务的集成方案,为客户的云原生AI系统提供与社区更广更深的连接。

 

 

 

 

容器服务支撑AI智算基础底座

 

 

 

 

经过10年发展,Kubernetes容器技术已经成为管理业务应用和微服务实际意义上的基础技术底座。人们常将Kubernetes类比为云时代的分布式操作系统。

 

在AI时代,Kubernetes继续快速演进,拓展出了新的云原生AI领域。用户可以在Kubernetes集群中管理调度GPU、NPU、RDMA等高性能异构资源,以容器化方式开发、运行AI、大数据任务,部署AI推理服务。

 

阿里云容器服务,通过托管Kubernetes集群和一系列面向云原生AI领域的创新能力扩展,构筑起云原生AI基础底座,支撑用户的AI智算生产系统。

 

 

多年来,容器服务ACK支持了大量客户的AI大数据负载和GPU集群调度的需求,我们将生产实践经验沉淀为ACK云原生AI套件产品,并在2023年正式商业化上线。

 

云原生AI套件兼容标准Kubernetes,支持ACK Pro,Edge,One,灵骏等各种集群类型,以及全新的ACS容器计算服务。已经在自动驾驶、AI for science、互联网、金融、大模型服务等众多领域客户生产落地。

 

同时,容器服务也在业界首先提出了云原生AI系统分层架构。面向不同角色,提供了从底层异构资源统一管理,任务编排调度,AI框架支持,到AI任务生命周期管理和性能优化,再通过标准API,与广泛的开源AI社区集成。

 

希望通过云原生AI套件,为AI/ML客户与社区,提供一整套工程效率高、成本低,可定制化组装的端到端解决方案。帮助用户的Kubernetes集群,30分钟构建起云原生AI平台的基础底座。

 

云原生AI套件及ACK产品帮助文档:

https://help.aliyun.com/zh/ack/cloud-native-ai-suite/

https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/product-overview/what-is-ack

 

 

 

 

 

聚焦大模型场景优化

 

 

 

回顾过去一年,大语言模型和AIGC领域的跨越式发展,极大推动了AI分布式训练和推理技术,以及大规模GPU智算集群调度管理技术的快速演进。

 

在这样的背景下,ACK云原生AI套件聚焦大模型场景,提供了一系列基础能力优化和创新实践。

 

 

大模型给底层基础服务带来了非常多挑战和需求,比如大规模GPU资源需求挑战,集群稳定性挑战,任务弹性策略和性能优化挑战,以及快速发展的模型和计算框架生态集成的需求。

 

云原生AI套件聚焦这些需求,在分层架构中逐层优化:

 

重点增强GPU的可观测性和故障自愈能力;

 

实现AI任务在多集群跨地域GPU资源池上统一调度,解决资源紧缺的问题;

 

内置基于vLLM,Kserve等开源大模型推理引擎的最佳实践;

 

通过更灵活的弹性伸缩策略,优化AI推理服务的性能和成本;

 

集成了Ray,Slurm等更多分布式计算和任务调度系统,也集成了众多优秀的LLM应用架构方案,比如Dify,Flowise等RAG方案,以及Nvidia NIM大模型推理加速方案,为客户的云原生AI系统提供与社区更广更深的连接。

 

下面将对ACK云原生AI套件的这些新能力做更详细的介绍。

 

 

首先,实时观测和分析GPU资源利用率和GPU任务的性能表现,对于洞察和优化AI智算系统的效率至关重要。

 

在监控方面,ACK GPU监控大盘默认支持40余种指标,覆盖了资源利用率和任务性能的不同视角。

 

在诊断方面,ACK新增了基于eBPF技术的实时GPU profiling能力。支持在AI任务运行过程中,动态开启,无侵入地持续追踪任务执行过程。

 

将CPU进程,系统调用,Python和Pytorch方法调度,CUDA算子,以及NCCL通信和Data IO操作的运行过程,关联在一致的Timeline上统一分析,可以更直观、更快地定位线上AI任务的性能瓶颈。

 

 

相较于NSight, Pytorch profiler等离线诊断工具,基于eBPF的实时GPU profiling方案,更加轻量级,可在不需要中断任务的情况下,动态开启。

 

更容易在线上出现问题的时候,动态发起诊断,及时发现优化点。帮助ACK上的AI任务性能诊断效率提升20%。

 

比如上面这个例子中,通过CUDA算子和torch训练代码的调用耗时的分析,很直观看到训练数据的加载耗时远大于训练计算,这里存在明确的优化空间。

 

 

AI智算集群的稳定性很大程度上影响了模型训练和推理的效率与成本。

 

Meta训练Llama3.1 405B模型的案例中,54天训练,发生了417非预期中断,其中58.7%中断是GPU相关的故障。

 

Llama3.1能够完成训练,故障的自动处理至关重要。Meta的技术报告中看到,除了3次人工处理介入,其他故障全部实现自动化处理。

 

在容器智算场景,ACK提供了CIS智能诊断自愈系统。支持GPU、节点池、Kubernetes Addons等组件自由扩展特定故障类型,自定义故障诊断和恢复工具与脚本。通过集成ACK AI助手,借助LLM知识库,加快故障根因分析。形成从发现故障到自愈的全流程自动化处理。

 

ACK将GPU资源故障自动处理流程,与AI任务的错误恢复能力相结合。在发现GPU故障之后,一方面通知底层IaaS进行资源诊断、迁移、维修,另一方面Kubernetes调度会自动隔离故障资源,防止影响新任务。同时结合训练框架启动模型快速checkpoint,并在合适的条件下,重新调度任务,恢复训练。

 

 

大模型scaling law,支撑了GPU算力需求持续增长。单个数据中心或云的单个地域可能无法满足大任务对GPU资源量的需求。业界已经在尝试多地域、多集群资源和AI任务统一调度的方案。

 

然而,多地域任务分发和数据同步,带来了一致性、效率和复杂度挑战。

 

容器服务增强ACK One的计算与数据协同调度能力,实现多Kubernetes集群跨地域统一调度AI负载。支持以库存优先,成本优化等策略,缓解GPU 资源供给挑战。进一步,还需要动态观测和调整AI作业分布,持续平衡GPU资源与AI负载的最优匹配。

 

需要注意到,大模型体积大的特点,会影响多地域部署模型服务的成本和性能。通过自动预热和缓存模型到不同地域,加速LLM推理服务在多集群中的启动和弹性伸缩,优化GPU资源使用效率和成本。

 

同时,也需要结合跨地域模型服务请求流量的统一管理,简化多集群环境下的用户体验复杂度。

 

 

AI推理服务也像很多在线业务一样,存在访问峰谷变化的特征。在云上,弹性伸缩是应对服务流量变化的最佳实践。

 

容器服务支持根据QPS,请求Latency,GPU利用率,token请求队列长度等自定义指标,实现AI推理服务的自动弹性扩缩容。

 

为了提供更加及时、精准的资源弹性,容器服务提供 AHPA,由时序数据预测算法加持的智能弹性策略,精准控制扩缩容时机和幅度。

 

同时,结合Knative,也支持AI推理实例缩容到零的能力,极致优化资源成本。

 

 

然而,使用推理服务的弹性伸缩能力,在大模型场景下,实际存在更多Scale上的挑战。比如:

 

大模型加载慢,推理服务冷启动延迟大;

 

无法及时应对AI请求峰谷变化,导致弹性伸缩失效;

 

并发加载模型,访问存储聚合带宽压力大,成本高。

 

ACK云原生AI套件,将Fluid数据集缓存加速能力,扩展到大模型推理领域。通过Fluid Dataset和 Preload实现自动预热远程大模型参数到本地page cache,通过Fluid SDK并发加载到GPU显存。

 

端到端的模型缓存和预热优化,帮助LLM/AIGC推理服务冷启动延迟降低85%以上。既能支持 ECS/EGS,裸金属实例上的模型服务容器加速,也能支持ECI/ACS serverless实例上的加速。有效支持大模型推理服务弹性伸缩的可行性和实际价值。

 

 

Fluid是阿里云联合南京大学、Alluxio等组织共同创立的云原生数据集编排和加速开源项目。Fluid定义了Kubernetes中应用访问各类异构数据源,使用数据的标准接口。Fluid提出了Dataset抽象,对任务使用数据的过程建模。支持分布式缓存技术加速访问 Dataset,以及极简的Dataset Centric的数据处理流水线。

 

Fluid既可以用于加速分布式训练任务读取训练数据,也可以用于加速大模型推理服务启动。可以通过Fluid DataProcess,自定义编排推理服务模型下载 - 预处理 - 部署流程。比如支持TensorRT-LLM自动执行convert model > build engine > serving 的操作。

 

 

很多客户的IT系统架构演进路径中,智算、超算、大数据应用云原生一体化正在形成趋势。社区在推动增强Kubernetes,成为管理和运行各种数据计算类工作负载的统一基础平台。

 

在ACK的Kubernetes集群上,用户已经可以便捷高效地运行AI训练任务,推理服务,以及Spark/Flink大数据任务。

 

此外,ACK新增加了对分布式计算框架Ray,和对传统HPC领域Slurm任务调度能力的支持。提出Ray on ACK和Slurm on ACK的产品化方案,通过标准的Operator机制管理Ray,Slurm的集群和任务。重点集合云和容器的优势,统一优化调度、弹性、混部、可观测、安全、数据访问加速等能力。同时,无缝兼容Ray和Slurm原生的用户体验。

 

容器服务也在积极推动上游开源社区,在Kubernetes体系下,定义支持各类计算框架和任务类型的云原生任务标准API和生命周期。帮助用户可以在Kubernetes集群上以统一的标准和接口,管理调度各类数据计算类工作负载。

 

 

ACK扩展了Kube-scheduler framework,与Slurm调度系统打通,即支持节点池维度的分节点调度,也支持共享节点资源的混部调度。借助Kube-queue,可以对Kubernetes jobs和Slurm jobs统一排队管理。

 

ACK还实现了Kubernetes资源和Slurm资源状态双向同步,通过可自定义的扩缩容策略判断,动态调整Slurm节点,实现Slurm集群的弹性伸缩。是的传统的HPC集群调度,也能利用云的弹性优势。

 

而对于HPC用户来说,不用关心底层的调度细节,依然保持了通过登陆节点提交sbatch,srun作业的原生体验。

 

 

开源开放,对于云原生和AI社区都是最重要的发展路径和驱动力。无论训练框架,推理引擎,分布式计算软件,还是开源模型以及新的AI应用架构,容器服务始终以开放架构和开源标准,持续帮助用户快速高效地集成到Kubernetes集群中。更重要的是,ACK会重点优化开源能力和生态方案的“弹性,调度能力,可观测,稳定性,安全性”,通过内置与阿里云服务的整合,提升可生产落地的成熟度。

 

 

我们将容器服务在AI智算场景的创新能力和实践经验,沉淀为开放的云原生AI参考架构。通过ACK云原生AI套件产品,帮助客户持续优化异构资源效率和AI工程效率,改善云原生AI的落地和使用成本。以开放的架构和实现,给客户AI业务最大的灵活度。帮助客户的云原生AI系统可持续演进。

 

 

 

 

诚邀共建

 

 

 

阿里云容器团队诚招内转开发&SRE】【产品经理】【PDSA】- 杭州、北京、深圳的岗位均可,欢迎大家帮助推荐。

 

也欢迎大家加入云原生AI技术和产品交流群,持续关注、共建与合作。

 

钉钉扫一扫群二维码,立即加入群聊

(2025.09.27前有效)


我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
转载:【AI系统】AI的领域、场景与行业应用
本文概述了AI的历史、现状及发展趋势,探讨了AI在计算机视觉、自然语言处理、语音识别等领域的应用,以及在金融、医疗、教育、互联网等行业中的实践案例。随着技术进步,AI模型正从单一走向多样化,从小规模到大规模分布式训练,企业级AI系统设计面临更多挑战,同时也带来了新的研究与工程实践机遇。文中强调了AI基础设施的重要性,并鼓励读者深入了解AI系统的设计原则与研究方法,共同推动AI技术的发展。
转载:【AI系统】AI的领域、场景与行业应用
|
2天前
|
机器学习/深度学习 人工智能 算法
X-AnyLabeling:开源的 AI 图像标注工具,支持多种标注样式,适于目标检测、图像分割等不同场景
X-AnyLabeling是一款集成了多种深度学习算法的图像标注工具,支持图像和视频的多样化标注样式,适用于多种AI训练场景。本文将详细介绍X-AnyLabeling的功能、技术原理以及如何运行该工具。
21 2
X-AnyLabeling:开源的 AI 图像标注工具,支持多种标注样式,适于目标检测、图像分割等不同场景
|
2天前
|
机器学习/深度学习 人工智能 运维
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
阿里云技术公开课预告:Elastic和阿里云搜索技术专家将深入解读阿里云Elasticsearch Enterprise版的AI功能及其在实际应用。
阿里云技术公开课直播预告:基于阿里云 Elasticsearch 构建 AI 搜索和可观测 Chatbot
|
10天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
1天前
|
人工智能 大数据 测试技术
自主和开放并举 探索下一代阿里云AI基础设施固件创新
12月13日,固件产业技术创新联盟产业峰会在杭州举行,阿里云主导的开源固件测试平台发布和PCIe Switch固件技术亮相,成为会议焦点。
|
1天前
|
弹性计算 人工智能 数据管理
AI场景下的对象存储OSS数据管理实践
本文介绍了ECS和OSS的操作流程,分为两大部分。第一部分详细讲解了ECS的登录、密码重置、安全组设置及OSSUTIL工具的安装与配置,通过实验创建并管理存储桶,上传下载文件,确保资源及时释放。第二部分则聚焦于OSSFS工具的应用,演示如何将对象存储挂载为磁盘,进行大文件加载与模型训练,强调环境搭建(如Conda环境)及依赖安装步骤,确保实验结束后正确清理AccessKey和相关资源。整个过程注重操作细节与安全性,帮助用户高效利用云资源完成实验任务。
35 10
|
1天前
|
存储 人工智能 开发工具
AI场景下的对象存储OSS数据管理实践
本文介绍了对象存储(OSS)在AI业务中的应用与实践。内容涵盖四个方面:1) 对象存储作为AI数据基石,因其低成本和高弹性成为云上数据存储首选;2) AI场景下的对象存储实践方案,包括数据获取、预处理、训练及推理阶段的具体使用方法;3) 国内主要区域的默认吞吐量提升至100Gbps,优化了大数据量下的带宽需求;4) 常用工具介绍,如OSSutil、ossfs、Python SDK等,帮助用户高效管理数据。重点讲解了OSS在AI训练和推理中的性能优化措施,以及不同工具的特点和应用场景。
27 10
|
10天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术深度解析:从基础到应用的全面介绍
人工智能(AI)技术的迅猛发展,正在深刻改变着我们的生活和工作方式。从自然语言处理(NLP)到机器学习,从神经网络到大型语言模型(LLM),AI技术的每一次进步都带来了前所未有的机遇和挑战。本文将从背景、历史、业务场景、Python代码示例、流程图以及如何上手等多个方面,对AI技术中的关键组件进行深度解析,为读者呈现一个全面而深入的AI技术世界。
52 10
|
5天前
|
机器学习/深度学习 人工智能 算法
探索AI在医疗诊断中的应用与挑战
【10月更文挑战第21天】 本文深入探讨了人工智能(AI)技术在医疗诊断领域的应用现状与面临的挑战,旨在为读者提供一个全面的视角,了解AI如何改变传统医疗模式,以及这一变革过程中所伴随的技术、伦理和法律问题。通过分析AI技术的优势和局限性,本文旨在促进对AI在医疗领域应用的更深层次理解和讨论。
下一篇
DataWorks