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

news2024/11/15 15:27:21

作者:胡玉瑜(稚柳)

前言

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

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

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

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

图片

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

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

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

图片

什么是云原生 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 提供了资源的管理运维和弹性伸缩,能够支持 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 等相关领域的需求。

图片

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

客户案例

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

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

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

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

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

图片

第二个案例是小米机器学习平台: 基于 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 的工作成本。

图片

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

云原生 AI 套件用法

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

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

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

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

图片

如果您想先从部分简单的功能入手,快速入门云原生 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]

图片

希望您能够持续关注云原生 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1078871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springcloud中间件-----分布式搜索引擎 Elasticsearch

该笔记是根据黑马程序员的课来自己写了一遍的,b站有对应教程和资料 第一部分 第二部分 第三部分 预计看完跟着练习5小时足够 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能&#xff…

【调试工具|mqtt-spy】mqtt客户端调试工具 mqtt-spy 详细使用教程

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

数据分析:小红书“情绪营销”如何拿捏年轻人

导语 小红书话题#不扫兴养成计划#上线,近30天话题浏览量破5000W,同比增长418.19%,数据表现良好。 图 | 千瓜数据 什么是不扫兴养成? 定义:想了解“不扫兴”的意思,那就先来看看它的反义“扫兴”吧。“扫…

2023版 STM32实战9 RTC实时时钟/闹钟

RTC简介 实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 注意事项 -1- 要手动配置中断寄存器 -2- 需要等待写操作完成 -3- 时钟闹钟中段…

JVM 性能监控与故障处理工具

基础工具 jps:虚拟机进程状态工具 jps 命令格式:jps [options] [hostid] 命令可选项解释: 选项解释-q只输出 LVMID,省略主类的名称-m输出传给 main 函数的参数-l输出主类的全名,如果进程运行的 JAR 包,…

ESP8266 WiFi物联网智能插座—下位机软件实现

目录 1、软件架构 2、开发环境 3、软件功能 4、程序设计 4.1、初始化 4.2、主循环状态机 4.3、初始化模式 4.4、配置模式 4.5、运行模式 4.6、重启模式 4.7、升级模式 5、程序功能特点 5.1、日志管理 5.2、数据缓存队列 本篇博文开始讲解下位机插座节点的MCU软件…

淘宝京东拼多多商品价格采集分析接口

淘宝、京东、拼多多商品价格采集分析接口的具体信息,但是可以为您提供一些参考内容: 登录京东、天猫、淘宝、拼多多、苏宁、国美、唯品会等电商平台,注册并获取开发者账号和API接口权限。通过开发者账号和API接口权限,访问京东、…

Java之实现添加文字水印、图片水印功能

文章目录 1 添加文字水印、图片水印1.1 给图片添加文字水印1.1.1 获取原图片对象信息1.1.1.1 读取本地图片1.1.1.2 读取网络图片 1.1.2 添加水印1.1.3 确定水印位置1.1.3.1 设置固定值1.1.3.2 根据原图大小进行设置 1.1.4 获取目标图片1.1.5 完整代码 1.2 java实现给图片添加图…

HomeView/主页 的实现

1. 创建数据模型 1.1 创建货币模型 CoinModel.swift import Foundation// GoinGecko API info /*URL:https://api.coingecko.com/api/v3/coins/markets?vs_currencyusd&ordermarket_cap_desc&per_page250&page1&sparklinetrue&price_change_percentage24…

论文中的小细节——为什么论文中总是写WX而不是XW?

这是最近一个师弟问我的问题,为什么在论文里面总是写的 Y W X YWX YWX,而不是 Y X W YXW YXW?就算有的时候需要转置 W W W 或者 X X X,都不写 Y X W YXW YXW? 这个问题我最开始回答的是这就是约定俗成的写法&…

新能源三电系统测试如何快速连接,避免多次插拔?安规测试电连接器的作用

新能源汽车行业高速发展,电机、电动、电池作为核心三部件,必须有严格的检测已确保产品性能、质量、安全性符合要求。其中会涉及多种测试,如:防水防尘/气密测试、EOL测试、DCR测试等,需要连接相应的检测设备仪器。如何快…

LLaVA:大型语言和视觉助手,图片识别和理解能力让人惊叹

01简介 视觉指令调整:针对多模式 GPT-4 级别功能而构建的大型语言和视觉助手。 视觉聊天:构建多模式 GPT-4 级聊天机器人构建了包含 30 个未见过的图像的评估数据集:每个图像都与三种类型的指令相关联:对话、详细描述和…

查找浏览器中保存的密码

edge浏览器 谷歌浏览器 设置-》自动填充密码-》点击密码管理工具 后就可以查看到浏览器保存的密码了

PyTorch 入门

一、说明 深度学习是机器学习的一个分支,其中编写的算法模仿人脑的功能。深度学习中最常用的库是 Tensorflow 和 PyTorch。由于有各种可用的深度学习框架,人们可能想知道何时使用 PyTorch。以下是人们更喜欢使用 Pytorch 来完成特定任务的原因。 Pytorch…

LeetCode918 环形子数组最大值

这里写自定义目录标题 题目: 思路: 1、破环成链。 由于是环形数组,则数组的末端会与开头相连呈环状。 只需要将长度为N的数组拷贝一次,拼接在原数组后,即得到长度为2N的数组,该数组即为环形数组。 如&am…

mars3d的api文档关于addDynamicPosition查找使用说明

示例链接:功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 api地址:Mars3D三维可视化平台 | 火星科技 说明: 1.用户反馈不知道如何搜索这个属性的用法 说明: 1. 示例代码中的graphic.addDynamicPosition()说明这个addDynam…

electron 升级 v22 遇到问题

Electron 漏洞 https://mp.weixin.qq.com/s/5LpSJb_5uV8EIDOl3fz9Tw 由于 23以上不在支持win 7 8 8.1 所以我选择安装 v22.3.24 electron 22.3.24 node-sass 6.0.1 sass-loader 10.4.1 对应的版本 npm i node-sass6.0.1 --sass_binary_sitehttps://npm.taobao.org/mirrors…

vscode安装svn扩展(windows)

一、安装 1.1 环境说明 操作系统 windows 10 1.2 安装过程 1. 安装svn 双击安装程序 点击next 继续next 继续next 点击Install 在弹出框中点击 是 开始安装进度,一会将安装成功 安装结束 右键菜单栏中已经有svn选项,并且能正常拉取以…

一区TOP期刊提出一种植被覆盖度估算新方法

研究背景:光合植被(PV)主要指绿色的叶片,而非光合植被(NPV)包括凋落物和茎等。利用遥感数据估算植被覆盖(FVC)主要有三种方法:1) 回归模型2)光谱混合物分析(SMA) 3) 数据驱动的模型。在这三种方法中,回归模型因其简单性…

网络安全--APT技术、密码学

目录 1. 什么是APT? 2. APT 的攻击过程? 3. 详细说明APT的防御技术 4. 什么是对称加密? 5. 什么是非对称加密? 6. 私密性的密码学应用? 7. 非对称加密如何解决身份认证问题? 8. 如何解决公钥身份认…