ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径

作者:胡玉瑜(稚柳)

前言

在过去几年中,人工智能技术取得了突飞猛进的发展,涵盖了机器学习、深度学习和神经网络等关键技术的重大突破,这使得人工智能在各个领域都得到广泛应用,对各行各业产生了深远的影响。

特别值得一提的是,近年来,ChatGPT 的快速发展,使得人工智能技术在自然语言处理和对话生成方面取得了显著进展,让人工智能进一步走进人们的日常生活,改变我们的生活和工作方式。

随着人工智能技术的快速发展和应用,AI 工程化作为“人工智能业务创新的加速器”,也在不断地升级和演进。
为了满足日益增长的算力需求、更高的业务稳定性要求,以及更快的创新和迭代交付,越来越多企业选择在云上开发、训练和部署 AI 模型,利用云计算的优势,获取稳定、弹性的大规模异构算力,从而提高算法迭代和应用落地的效率,并提升规模化服务的可靠性。

同时,云原生技术和架构,如容器、Kubernetes、服务网格和 Serverless 等,也被广泛应用于支持 AI、大数据等多种工作负载类型,以及构建多角色协同的 AI 生产系统,进一步增强了 AI 工程化的弹性、可扩展性和灵活性。

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第1张图片

随着越来越多的企业在容器服务 ACK 上构建 AI 系统和应用,无论是 ACK 集群和 AI 平台的运维人员,还是使用容器技术调试和运行深度学习任务的算法工程师,他们都在享受云原生技术和架构带来的便利和高效的同时,仍然面临着持续的运维成本和生产效率的挑战。

因此,为了帮助客户更轻松、高效地在容器服务 ACK 上构建 AI 系统,并提升 AI 生产效率,我们推出了容器服务 ACK 云原生 AI 套件。

旨在利用云原生的技术和架构,为客户提供一个全面的云原生 AI 技术和产品方案,能够帮助客户在容器服务 ACK 上快速、定制化构建 AI 生产系统,并持续优化异构资源效率、高效运行异构负载。 让客户的 AI 工程化落地更加快速和有效,从而提升企业的竞争力和创新能力。

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第2张图片

什么是云原生 AI 套件

那云原生 AI 套件是以什么样的形态提供给客户的,适合什么样的客户场景,又具有哪些能力优势呢?

首先,我们看下云原生 AI 套件的产品形态,如何把云原生 AI 的能力提供给客户?

云原生 AI 套件通过多个可组装、可扩展、可定制的组件来提供云原生 AI 能力。以 Kubernetes 容器服务为底座,向下封装对各类异构资源的统一管理,向上提供标准 Kubernetes 集群环境和 API,运行各个核心组件。并结合容器镜像服务,以及可观测、智能诊断、弹性伸缩等容器服务相关能力,提供更加全面的产品方案。

云原生 AI 套件的核心组件能力包括四大分层模块,以满足企业客户不同角色、不同架构层级的场景需求。从下往上依次是异构算力管理、AI 任务管理、AI 数据加速、AI 工程管理。

云原生 AI 工程化的第一步,就是搭建一个 K8s 集群管理云上的异构算力,因此第一层就是异构算力管理模块,包括对异构资源的管理运维、弹性伸缩,以及调度与共享。

有了异构计算集群,算法工程师就可以开始提交 AI 作业,通过 K8s 集群的标准接口访问存储服务,以及进行 AI 作业调度和 GPU 资源分配,最后训练好的模型部署在集群中,这样基本实现了 AI 开发和生产流程。因此,往上一层是 AI 任务管理,包括对 AI 任务的提交运行、调度与弹性。

紧接着,企业对生产效率有了更高要求,也遇到更多问题。包括训练数据访问慢,缺少数据集、模型管理,模型发布缺乏质量和性能验证,上线后缺少服务化运维和治理手段,以及团队协作效率低下,Kubernetes 和容器对于算法工程师和数据科学家有一定使用门槛,等等。

因此,往上就 AI 数据加速和 AI 工程管理。AI 数据加速,包括数据集的抽象和管理、数据的访问加速、数据集的编排等等。AI 工程管理,包括命令行工具和 SDK、AI 开发和运维控制台,以及 MLOps 或者 LLMOps 的优化。客户可以根据具体需求选择不同的组件进行使用,快速、定制化构建自己的 AI 平台,或者直接使用云原生 AI 套件集成的阿里云 AI 平台和服务,从而全栈优化 AI 生产系统的性能、效率和成本。

使用云原生 AI 套件可以实现 GPU 利用率提升 100%,数据访问效率提升 30%,AI 训练速度提升 20%。

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第3张图片

那接下来我们具体看一下,四大分层能力模块,分别具备哪些优势特性,如何满足不同角色、不同架构层级、不同业务阶段的需求。

还是以从下往上的顺序来看,让我们看一下异构算力管理模块,我们基于容器服务 ACK 提供了资源的管理运维和弹性伸缩,能够支持 CPU、GPU、vGPU、NPU、FPGA 等异构资源的统一接入、监控、诊断和成本分析,帮助运维人员降低管理大规模 GPU 的复杂度,以及提供智能的削峰填谷,减少资源浪费。云原生 AI 套件还提供了资源调度与共享功能,包括 CPU/GPU 拓扑感知调度和 GPU 共享调度与隔离。CPU/GPU 拓扑感知调度基于节点异构资源的拓扑信息,如 GPU 卡之间的 NVLink、PcleSwitch 等通信方式,以及 CPU 的 NUMA 拓扑结构等,在集群维度进行最佳的调度选择,为工作负载提供更好的性能。GPU 共享调度与隔离,能够实现一个 GPU 供多个任务使用,同时也能够实现一个 GPU 上对各应用申请的显存进行隔离以及 GPU 的算力分割,从而提升 GPU 的资源利用率。

接着看一下 AI 任务管理模块,云原生 AI 套件兼容主流 AI 框架和工具,包括 tensorflow、pytorch、JupyterLab、TF-Serving、Triton 等等,也在不断的适配新的分布式训练和推理的框架,如 deepspeed、fasttransformer 等等,能够用统一的方式提交和管理任务。同时,支持集成 Kubeflow Pipelines 或 Argo 云原生工作流引擎,为复杂的 AI 任务提供工作流编排服务。AI 任务管理模块还提供多种调度策略,适用于各种典型的批量任务类型,如 AI 分布式训练。通过 ACK 调度器扩展 Kubernetes 原生调度框架,实现多种典型批量调度策略,包括 Gang Scheduling、Capacity Scheduling、Fair sharing、Binpack/Spread 等,以满足不同任务的调度需求。还支持任务队列,提供自定义的任务优先级管理和租户弹性资源配额控制,提高任务调度和资源利用的效率。此外,还支持弹性训练和推理任务,以提升任务运行的效率和优化成本。

再看一下 AI 数据加速模块,该模块主要通过面向云原生数据密集型应用的数据编排框架 Fluid 来支持。Fluid 提出弹性数据集的概念,将不同位置和类型的存储服务作为数据源聚合到同一数据集中,以实现数据的统一管理。Fluid 支持多种分布式缓存引擎,包括阿里云 JindoRuntime、EFCRuntime,以及开源社区提供的 AlluxioRuntime、JuiceFSRuntime,同时还可以通过对接 Fluid 的标准接口来扩展第三方或者自建的存储系统。结合 Fluid 提供数据集缓存预热,以及缓存数据的容量监控和弹性伸缩等功能,来降低计算任务拉取数据的开销,提升 GPU 计算效率。Fluid 还支持 Serverless 数据访问加速,实现数据访问吞吐的弹性扩容,以及混合云数据访问加速,在弹性上云的同时能够安全、快速地访问自建存储。Fluid 还支持应用协同编排和自动化数据流等功能,让用户在云上使用数据的过程更加简单化和自动化。

最后是 AI 工程管理模块,除了提供 Arena 命令行工具和 SDK,来屏蔽底层复杂性,简化任务管理之外,还提供简单的运维大盘和开发控制台,满足用户快速浏览集群状态、提交和查看任务的需要。同时,云原生 AI 套件致力于持续优化 AI 生产效率和体验,并且全面拥抱大模型生态,支持 MLOps、LLMOps 等相关领域的需求。

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第4张图片

通过前面的介绍,相信您已经基本了解了云原生 AI 套件,接下来让我们一起看两个典型的客户案例吧!

客户案例

第一个是任意门: 基于云原生 AI 套件打造人工智能社交网络平台的案例。

任意门的 SoulAPP 是基于兴趣图谱和游戏化玩法构建的移动社交网络,有丰富的 AI 业务场景,包括语音匹配、聊天机器人、文本识别、图像识别、多模态等。

但在传统的虚拟机构建部署方式下,缺乏一个统一的管控平台,导致:

  • 业务迭代速度慢:研发工程师需要花费大量时间在底层资源和环境的准备、管理和运维上,无法专注于业务开发。
  • 运维工作重复:需要做很多重复的环境配置和问题处理,人力投入大,运维效率低。
  • 资源性价比低:有大量堆积机器,且资源利用率低,导致资源闲置浪费。

任意门在阿里云上,通过容器服务 ACK 云原生AI 套件,构建了符合开源标准、自主掌控的 AI PaaS 平台,管理了从初期的数十张 GPU 卡到近千张的超大规模,节省 1 倍运维成本。并且开发迭代效率提升 2~5 倍,日承载 AI 业务发布数百次,很好地支撑了业务的高速发展。通过 GPU 共享及 Fluid 数据加速能力,提升业务效能,资源成本节约 50%。

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第5张图片

第二个案例是小米机器学习平台: 基于 Fluid 的 Serverless 混合云容器 AI 平台。

小米机器学习平台(CloudML)承载了图像、NLP、声学、搜索推荐等应用业务,是小米针对机器学习进行全流程优化的高性能、分布式云服务。

支撑 CloudML 的自建集群由于资源池容量、资源弹性能力相对有限,导致业务低谷时资源闲置成本高,业务高峰时资源紧张。迁移到基于 Serverless 容器架构的混合云之后,获得了 Serverless 容器带来的敏捷、安全、弹性、低成本等优势,然而也遇到了几个重要的技术挑战:

  • 无法定制扩展存储类型:公有云集群只支持阿里云存储类型(如 NAS、OSS等),无法直接适配内部自研的分布式文件存储(StarFS)。
  • 缺乏可信透明的数据接入方式:如何在 Serverless 容器的黑盒系统使用过程中规避数据泄露,如何确保数据存储、传输、访问过程中安全可靠,缺乏对应的解决方案。
  • 基础设施差异导致用户体验不一致:混合云场景中,当用户任务在公有云和自建集群之间进行迁移时,用户使用体验需要与自建集群上保持一致,不需要做过多的变更。

通过阿里云 ACK 云原生 AI 套件中提供的 Fluid 存储系统接入方案可以很好的解决以上问题:

首先,对于自建存储 StarFS 的访问提供了很好的扩展支持,并且得益于 Fluid 提供的数据集可观测性功能,能够获取云上工作负载的数据访问特性,从而支持数据热加载和资源分配调优。

其次,方案接入简单、管理便捷。可以自行完成 StarFS 与 Kubernetes 环境的对接工作,整个 thinRuntime开发简单,无需具备复杂的 Kubernetes 定制开发知识。

基于这套方案,只需要了解 Dockerfile 构建就可以完成,开发工作 2-3 小时左右,显著降低了使用 ECI 接入 StarFS 的工作成本。

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第6张图片

了解了云原生 AI 套件的能力优势和客户案例,如果您的业务也有类似的需求,那接下来我们就介绍一下云原生 AI 套件怎么用,并且会提供一些有趣的实验让您快速上手。

云原生 AI 套件用法

云原生 AI 套件通常存在两类用户角色,运维管理员主要负责搭建 AI 基础架构和日常管理,而数据科学家和算法工程师则使用云原生 AI 套件提交和管理任务。

这两类角色可以通过命令行工具和控制台进行高效的操作和协同。

首先运维管理员需要先创建和配置 ACK 集群,以及相关的资源和服务,并添加异构资源进行管理和运维。接着进行系统与环境搭建,包括开通和安装云原生 AI 套件,管理用户和配额,准备数据等工作。完成这些准备工作后,算法工程师和数据科学家就可以开始使用云原生 AI 套件提供的命令行工具 Arena 或 AI 套件开发控制台,进行模型的开发、训练与部署,利用调度、弹性、数据访问加速等能力,提高 AI 生产效率和性能,以及进行推理的服务化运维。运维管理员则可以通过运维控制台查看集群、节点、训练任务、资源配额、成本分析等监控大盘,从而对集群进行实时监控和管理。

这种高效协同的工作模式,能够提高生产效率,优化资源利用和管理。

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第7张图片

如果您想先从部分简单的功能入手,快速入门云原生 AI 套件,我们为您准备了低门槛、低成本的保姆级实验教程,让您通过简单有趣的小场景,感受云原生 AI 套件加速 AI 工程化的过程。

关于费用呢,云原生 AI 套件是按量计费,先试用,后付费。

使用云原生 AI 套件所产生费用 = 云原生 AI 套件费用 + ACK 费用 + 其他云产品费用

云原生 AI 套件采用阶梯型计费方式,若 GPU 卡数当日最大值不超过 8 张,云原生 AI 套件本身免费。

如果您希望全面、深入地了解云原生 AI 套件的更多能力,我们还为您提供了云原生 AI 工程化实践系列课程,这些课程将帮助您上手云原生 AI 套件的更多功能和最佳实践,让您能够更好地应用于实际项目中。

除了课程,我们还为您提供了交流群,您可以与我们进行互动和交流。在交流群中,您可以及时了解云原生 AI 套件的产品动态,探讨云原生 AI 最新的技术发展。同时,我们也将根据您的业务场景,为您提供更加针对性的解决方案和服务支持。

实验 1:云原生 AI 套件:五分钟微调宝可梦风格 StableDiffusion [ 1]

实验 2:云原生 AI 套件:一键训练大模型及部署 GPU 共享推理服务 [ 2]

更多实验请见:云原生 AI 工程化实践系列课 [ 3]

ACK 云原生 AI 套件:云原生 AI 工程化落地最优路径_第8张图片

希望您能够持续关注云原生 AI 套件,让我们帮助您以云原生的技术和架构加速 AI 工程化落地,提高 AI 生产效率并优化成本,同时,我们也将不断发掘云原生 AI 的技术和应用,为您提供更加丰富的产品能力,更加优质的服务和体验。欢迎使用钉钉通过搜索群码的方式与我们一起沟通。(钉钉群号:33214567)

相关链接:

[1] 云原生 AI 套件:五分钟微调宝可梦风格 StableDiffusion

https://developer.aliyun.com/adc/scenario/5d4b9f5be5104302b9c4ca2fd1a4755e

[2] 云原生 AI 套件:一键训练大模型及部署 GPU 共享推理服务

https://developer.aliyun.com/adc/scenario/99e00d4dea0e4fbf952780b30136209d

[3] 云原生 AI 工程化实践系列课

https://developer.aliyun.com/adc/scenarioSeries/e5427732f6e94cde939a7aeed1d19180

你可能感兴趣的:(云原生,人工智能)