一、背景介绍
随着人工智能(AI)技术的快速发展,越来越多的企业开始在其业务中引入AI能力,以提高运营效率、优化用户体验,以及创造新的商业价值。像我们这种小型企业也不例外,希望通过集成先进的AI技术来提升业务运营的智能化水平。在这样的背景下,阿里云容器服务ACK推出了云原生AI套件,它能够帮助企业在Kubernetes容器平台上快速构建和运行AI应用,实现全栈优化。
二、产品能力
通过开通云原生AI套件的界面,我们可以看到它提供了丰富的组件。其中包含了弹性、加速、调度、交互方式、工作流、监控等组件。
- 异构资源统一管理:阿里云容器服务ACK云原生AI套件提供了强大的资源运维管理能力,包括资源监控、告警、日志管理、性能分析等功能。
- 任务调度和弹性伸缩:该套件支持AI任务的动态调度和资源的弹性伸缩,能够根据业务负载自动调整计算资源,确保AI应用的性能和稳定性。
- 数据访问加速:通过数据访问加速服务,企业可以快速、高效地处理大量数据,提高AI模型的训练和推理速度。
- 工作流组件:提供可视化工作流编排工具,方便企业根据实际业务需求定制AI生产流程,提高生产效率。
- 监控组件:支持与阿里云的大数据服务集成,方便企业实时了解系统运行状态和性能指标。
详细的功能描述在官方文档上有给出,我这里就不再赘述。官方文档链接》》》
三、应用场景分析
以“一键训练大模型及部署GPU共享推理服务”实验为例,使用阿里云容器服务ACK云原生AI套件如何快速实现大模型的推理服务。本次实验的目的是基于容器服务ACK,使用云原生AI套件,提交Bloom模型的微调训练作业,并使用GPU共享能力部署推理服务。
3.1、实验准备
- 1、准备实验需要的资源。
本次实验需要用到的产品有ACK、云原生AI套件、GPU云服务器、资源编排ROS、NAS、弹性公网IP、负载均衡SLB等相关产品。
产品名 |
计费类型 |
预估费用 |
计费链接 |
按量付费 |
0.64元/小时 *1个 |
||
按量付费 |
本实验免费 (8张GPU卡及以下免费) |
||
按量付费 |
10.345元/小时 * 1台 |
||
免费 |
免费 |
免费 |
|
按量付费 |
0.75元/小时 * 1个 |
||
按量付费 |
0.03元/小时 * 2个 (流量费:0.8元/GB) |
||
按量付费 |
0.195元/CU * 2个 |
||
按量付费 |
0.22元/小时 * 2个 (流量费:0.8元/GB) |
- 2、通过ROS资源编排快速创建基础环境(这个必须给产品同学一个大大的赞,如果一个个去创建需要大量的时间及精力)
- 3、安装云原生AI套件(本次讨论主要产品)
- 4、文件存储NAS配置
- 5、在GPU云服务器上安装arena客户端等
- 6、创建Bloom模型微调训练任务
- 7、在GPU云服务器上提交共享模型推理服务
3.2、实验步骤
由于实验提供较丰富的实验手册,这次我不详细介绍实验的过程,我主要描述下实验的主过程及碰到的问题。
1. 首先我通过ROS资源编排快速创建基础环境。
问题一:通过实验链接,我们快速创建发现没有可用区。而在切换地域的选择中,只有中国与新加坡的选项,怎么切换都没法进入下一步创建资源。
解决办法:
我们发现在实验室的环境下,界面无法显示顶部的地域选择,我们只能通过浏览器单独打开访问进入ROS控制台进行一键创建基础环境资源。(https://ros.console.aliyun.com/cn-shanghai/stacks/create?spm=a2c6h.13858378.0.0.792e5e860LiMXt&templateUrl=https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/file-manage-files/zh-CN/20230731/ekut/ack-ai-fine-tuning(2).yaml&isSimplified=true)
在解决可用区之后,我们进入到下一步,发现又出现了新的问题,NAS及CS(容器服务ACK)服务没有开通,我需要先开通之后才能进行下一步的操作。
问题二:在解决资源权限的问题之后,我点击继续创建。然后系统给了我一个大大的惊喜。根据提示,我提交了一键诊断。
解决方案:
通过诊断描述,应该是某些服务产品的权限没有开通,于是逐一排查该实验所需要的所有产品权限,最后发现是容器服务ACK的权限没有开通。按照要求我把授权开通后,可以顺利进入到下一步。
问题三:在通过ROS提交创建之后,我们进入资源栈信息页签中,等待资源创建成功。然而这个等待过程太漫长,实验手册上没有任何的相关提示。这点体验非常不好。
直到最后创建完,我大概用了13分钟。
2. 安装云原生AI套件
古语有云“好事多磨”,在历经一番努力后,我们终于成功汇集了所有资源。接下来,我们将进入本次任务的核心——“安装云原生AI套件”。在开通云原生AI套件的过程中,我们见证了流畅无阻的整个过程,仿佛在欣赏一部完美的乐章。各个环节的衔接让人感受到阿里云的专业与细致。(大赞)
3. 接着我们将进行文件存储NAS配置。
整个配置过程还算比较顺畅,只是在进行数据下载到NAS服务的节点操作的时候,操作入口文案理解有误,导致入口找错了。还好手册中给出了截图,再次核对之后,找到了正确的配置入口。
接下来就是执行NAS文件挂载命令。在这个操作过程中,我建议把需要修改为自定义配置的信息标红并把字体调大。
然后就开始下载bloom模型和训练数据,在这个过程我们有需要进入一个等待过程。
执行过程有点慢,需要5分钟左右!!!
4. 接下来进行我们就要进行提交Bloom模型微调训练任务,然后我们在执行以下命令的时候,系统报错了。
arena submit pytorchjob \ --name=bloom-sft \ --gpus=1 \ --image=registry.cn-hangzhou.aliyuncs.com/acs/deepspeed:v0.9.0-chat \ --data=training-data:/model \ --tensorboard \ --logdir=/model/logs \ "cd /model/DeepSpeedExamples/applications/DeepSpeed-Chat/training/step1_supervised_finetuning && bash training_scripts/other_language/run_chinese.sh /model/bloom-560m-sft"
最后是发现命令中的--image=registry.cn-hangzhou.aliyuncs.com/acs/deepspeed:v0.9.0-chat 需要改为--image=registry.cn-shanghai.aliyuncs.com/acs/deepspeed:v0.9.0-chat,而在操作手册中,没有任何提示。
5. 最后提交GPU共享模型推理服务
6. 吐槽资源释放的问题
3.3、实验结果
- 成功安装云原生AI套件。
- 成功创建并提交了基于Bloom模型的微调训练作业。
- 使用GPU云服务器共享能力成功部署了推理服务。
- 使用样本代码进行模型推理,得到了预期的结果。
3.4、实验总结
我成功地在阿里云的容器服务ACK和云原生AI套件的帮助下,快速构建了一个在Kubernetes容器平台上的AI生产系统。通过本次实验,我学会了如何在云环境下开发和部署AI应用,同时也证明了ACK和云原生AI套件在GPU共享、模型训练和推理方面的高效性能。这将为未来在云环境下进行大规模AI应用开发和部署提供指导意义。
四、优势与不足
- 优势:
- 能够满足企业在AI生产流程中的需求,提供全栈优化服务;
- 强大的资源运维管理和弹性伸缩能力,能够保证系统稳定性和性能;
- 高效的数据访问加速和大数据服务集成,提高数据处理效率;
- 可视化工作流编排和工作流管理,简化AI生产流程的编排和管理;
- 统一监控运维平台简化AI应用的运维工作,提高系统稳定性。
- 不足:
- 对于非阿里云用户来说,可能需要额外的学习和适应;这次实验我整整用了差不多3个小时,耗费了巨资哈。
- 在某些特定场景下,可能需要额外的定制化开发。
五、性价比评价
考虑到阿里云容器服务ACK云原生AI套件的综合功能和性能,以及提供的服务质量,我们认为该套件的性价比相对较高。对于需要快速构建和运行AI应用的企业,尤其是中小型企业业务平台,该套件可以节省大量的开发成本和时间,提高业务运营效率和质量。
六、总结
阿里ACK云原生AI套件是一种能够帮助企业在容器平台上构建、管理和部署AI系统的技术和产品方案。它结合了机器学习、自然语言处理、计算机视觉等多种技术,支持异构算力的管理和调度,可以一键训练大模型和部署GPU共享推理服务。它在智能客服、图像处理、语音识别等多个领域都能提供高效、稳定的AI服务,有助于企业实现智能化升级和数字化转型。这是一个值得信赖的AI技术和产品方案,可以帮助企业在智能化浪潮中获得成功。