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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 本实验指导您如何基于容器服务ACK,使用云原生AI套件提交Bloom模型的微调训练作业,并使用GPU共享能力部署推理服务。

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


1. 计费说明

必看!!必看!!必看!!本实验为付费体验,需要消耗账号费用。体验后若不再需要使用,请及时释放资源,避免持续产生费用。

计费说明

产品名

计费类型

预估费用

计费链接

容器服务ACK

按量付费

0.64元/小时 *1个

ACK Pro版集群计费说明

云原生AI套件

按量付费

本实验免费 (8张GPU卡及以下免费)

云原生AI套件计费说明

GPU云服务器

按量付费

10.345元/小时 * 1台

GPU云服务器计费说明

资源编排ROS

免费

免费

免费

文件存储NAS

按量付费

0.75元/小时 * 1个

通用型NAS计费

弹性公网IP

按量付费

0.03元/小时 * 2个

(流量费:0.8元/GB)

弹性公网IP计费说明

NAT网关

按量付费

0.195元/CU * 2个

公网NAT网关计费

负载均衡SLB

按量付费

0.22元/小时 * 2个

(流量费:0.8元/GB)

传统型负载均衡CLB计费说明

整体预估费用:12.625 元/小时 页面。 详细活动说明的超划算活动!关于GPU云服务器新客活动的信息请见1.9折 1台 100小时,您可享受本实验所使用的A10卡云服务器新客户若您是GPU云服务器2. 通过ROS资源编排创建基础环境

打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板。在页面设置配置项,单击创建。

配置项

配置项

示例

资源栈名称

支持自定义。

stack_2023-06-12_cBesTX8FB

集群名称

支持自定义。说明 不能与现有ACK集群重名。

ai-test

可用区

选中可用区。如果当前可用区下为空,请切换地域重新选择。

可用区K

设置节点登录密码

设置节点登录密码。

请自行设置。

您可在创建前查看费用情况,如下图。

打开自动刷新,将每隔5秒自动刷新一次,方便您观察资源创建情况。

在资源栈信息页签中,显示状态为创建成功,表示快速创建成功。

若在资源栈信息页签中,显示状态不为创建成功,表示快速创建不成功。可以根据界面提示单击创建一键诊断,查看详细信息。说明: 3. 安装云原生AI套件

登录容器服务管理控制台,在左侧导航栏选择集群。

在集群列表页面,单击目标集群ai-test,然后在左侧导航栏,选择应用>云原生AI套件。

在云原生AI套件页面,单击一键部署。

在部署页面,参考下图所示完成设置。然后单击部署云原生AI套件。

4. 配置NAS共享存储并下载数据

一、查找NAS实例的挂载点

登录文件存储NAS控制台,在左侧导航栏,选择文件系统 > 文件系统列表,在页面顶部选择NAS实例所在地域华东1(杭州)。

在文件系统列表页面,找到系统自动ROS自动创建的NAS实例,即在文件系统ID列包含ack-ai-nas的NAS文件系统。

单击目标文件系统ID进入文件详情页面,单击挂载使用,悬浮鼠标至 ,查看NAS实例的挂载地址,并记录此处的挂载地址和挂载命令以备后续使用。

二、 配置目标ai-test集群的存储卷PV和存储声明PVC

登录容器服务管理控制台,在左侧导航栏选择集群。

在集群列表页面,单击目标集群ai-test,然后在左侧导航栏,选择存储 > 存储卷。

在存储卷页面右上方,单击创建。

在创建存储卷对话框中,参考如下图示进行参数配置,选择挂载点域名为您上一步查询的挂载点地址,然后单击创建,创建名为training-data的存储卷。

然后在左侧导航栏,选择存储 > 存储声明。

在存储声明页面右上方,单击创建。

在创建存储声明对话框中,参考如下图示进行参数配置,然后单击创建,创建名为training-data的存储声明。

三、 下载数据到NAS中

在左侧导航栏,选择节点管理 > 节点。

在节点页面,单击节点名称进入节点的实例详情页面。记录此处节点的弹性公网IP为121.41.XX.XX。

在控制台顶部单击云命令行入口,通过以下命令登录GPU节点。登录密码为创建集群时,设置的节点登录密码。

ssh root@121.41.XX.XX

复制之前记录的NAS文件挂载命令,输入终端。(下方命令为示意,请替换成您自己的NAS文件挂载命令,如果您忘记了怎么查看,请见上方 1-c 步骤)。

sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 0bbfb4915a-sdm14.cn-hangzhou.nas.aliyuncs.com:/ /mnt

执行以下命令,下载bloom模型和训练数据。

cd /mnt/
wget http://ai-training-data.oss-cn-hangzhou.aliyuncs.com/bloom-560m-sft-data.tar
tar -xvf bloom-560m-sft-data.tar
出现如下提示,说明数据下载完成。

四、 在GPU节点上配置集群证书

登录容器服务管理控制台,在左侧导航栏选择集群。

在集群列表页面,单击目标集群ai-test进入集群信息页面,单击连接信息,在内网访问页签下,复制内网访问凭证。

在cloudshell中执行以下命令

mkdir -p ~/.kube
vi ~/.kube/config

将ai-test集群的内网访问的证书内容复制到节点的config文件中。保存并退出(按下键盘ESC键,然后输入:wq,即可完成保存并退出 )。

五、在GPU节点上安装arena客户端

执行如下命令,在GPU节点上安装arena客户端。
# 下载arena客户端并安装
cd /root && wget https://aliacs-k8s-cn-hongkong.oss-cn-hongkong.aliyuncs.com/arena/arena-installer-0.9.9-ce4a78d-linux-amd64.tar.gz
tar -xzvf arena-installer-0.9.9-ce4a78d-linux-amd64.tar.gz
cd arena-installer
bash install.sh  --only-binary
出现如下提示,说明arena客户端安装成功。 5. 提交Bloom模型微调训练任务

执行以下命令,提交一个Bloom模型的微调训练任务。训练任务大概需要运行8分钟。

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"

执行以下命令,查看当前通过Arena提交的所有作业。

arena list
预期输出:
NAME       STATUS   TRAINER     DURATION  GPU(Requested)  GPU(Allocated)  NODE
bloom-sft  RUNNING  PYTORCHJOB  17m       1               1               192.168.26.152

执行以下命令,获取作业详情。

arena get bloom-sft
预期输出:
Name:        bloom-sft
Status:      RUNNING
Namespace:   default
Priority:    N/A
Trainer:     PYTORCHJOB
Duration:    1m
CreateTime:  2023-07-20 15:06:19
EndTime:
Instances:
  NAME                STATUS   AGE  IS_CHIEF  GPU(Requested)  NODE
  ----                ------   ---  --------  --------------  ----
  bloom-sft-master-0  Running  1m   true      1             cn-hangzhou.192.168.XX.XX
Tensorboard:
  Your tensorboard will be available on:
  http://192.168.XX.XX:32560
记录此处GPU节点名称cn-hangzhou.192.168.XX.XX,用于后续部署推理服务。同时,记录此处Tensorboard的Web服务地址 http://192.168.XX.XX:32560,此处端口号为32560,以您的输出显示为准。

将上一步记录的端口号加入GPU实例的入方向安全组,例如32560。

通过浏览器访问Tensorboard。在浏览器中输入http://112.124.XX.XX:32560,此处将IP地址替换为GPU节点公网IP。

等待任务训练完成,大概需要10分钟。训练完成后,微调后的模型存储在NAS中的bloom-560m-sft目录下。

执行以下命令,在GPU节点上查看目录。

# 进入微调后的模型目录, training.log 为训练日志
cd /mnt/bloom-560m-sft/
# 目录内容如下
.
├── config.json
├── merges.txt
├── pytorch_model.bin
├── training.log
└── vocab.json

6. 提交GPU共享模型推理服务

使用中文数据集对bloom-560m模型进行了监督微调,接下来可以通过GPU显存共享的能力,将多个推理服务部署在同一块GPU卡上以提高GPU的利用率。下文介绍如何使用Arena,将步骤一微调后的模型部署成推理服务。

执行以下命令,开启GPU共享调度能力和显存隔离能力,替换下列节点为您的GPU节点名称。

kubectl label node cn-beijing.192.168.XX.XX ack.node.gpu.schedule=cgpu
如需关闭GPU共享调度能力,您可以将标签设置为ack.node.gpu.schedule=default。 说明:

执行以下命令,查看集群GPU资源。

arena top node
预期输出:
NAME                       IPADDRESS      ROLE    STATUS  GPU(Total)  GPU(Allocated)
cn-beijing.192.168.x.xxx   101.xx.xx.162  <none>  Ready   1           0
---------------------------------------------------------------------------------------------------
Allocated/Total GPUs of nodes which own resource nvidia.com/gpu In Cluster:
0/1 (0.0%)

执行以下命令,提交一个bloom的推理服务,部署2个副本,每个副本使用8G显存。

arena serve custom \
  --name=bloom-infernece \
  --gpumemory=8 \
  --version=alpha \
  --replicas=2 \
  --restful-port=8080 \
  --data=training-data:/model \
  --image=registry.cn-hangzhou.aliyuncs.com/acs/djl-serving:v0.23.0 \
  "djl-serving -m /model/bloom-inference"

查看提交的任务的详细信息。

4.1 执行以下命令,查看GPU使用情况。
arena top node
预期输出: 4.2 执行以下命令,查看提交任务的详细信息。
arena serve get bloom-infernece
预期输出: 预期输出表明,两个推理服务的副本成功运行在同一张GPU卡上,同时记录此处的Address 172.16.xxx.xxx。

等待推理服务启动后,在GPU节点上执行以下命令,在本地调用推理服务。您需要将下列IP替换为上一步记录的Address地址。

curl -X POST http://172.16.xxx.xxx:8080/predictions/bloom_inference -H "Content-type: text/plain" -d "四川美食"
预期输出:
"generated_text":"四川美食》介绍四川的特色小吃,包括美食、名菜、小吃、酒馆、小吃一条街等,这些小吃构成了四川的饮食文化。<|endoftext|>"

7. 释放资源

一、释放NAS文件存储系统

登录文件存储NAS控制台,在左侧导航栏选择文件系统 > 文件系统列表,在页面顶部选择NAS实例所在地域华东1(杭州)。

文件系统列表页面,找到系统自动ROS自动创建的NAS实例,即在文件系统ID列包含ack-ai-nas的NAS文件系统。然后在页面右侧的操作列,单击 图标,然后单击删除

二、删除资源栈

登录资源编排控制台

在左侧导航栏单击资源栈

资源栈列表页面,找到需要删除的资源栈,单击右侧操作列中的删除

删除资源栈对话框,选中释放资源,然后单击确定

输入手机验证码,然后单击确定

5. 实验链接:https://developer.aliyun.com/adc/scenario/99e00d4dea0e4fbf952780b30136209d

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
2天前
|
人工智能 前端开发 算法
参加完全球开发者大会之后,我一个小前端尝试使用了一些AI模型
参加完全球开发者大会之后,我一个小前端尝试使用了一些AI模型
|
3天前
|
人工智能 数据安全/隐私保护
Sora超逼真视频引恐慌!Nature刊文警示AI视频模型,或在2024年颠覆科学和社会
【4月更文挑战第27天】OpenAI公司的新型AI工具Sora能根据文字提示生成超逼真视频,引发关注。尽管已有类似产品,如Runway的Gen-2和谷歌的Lumiere,Sora以其高质量生成效果领先。该技术的进步可能导致2024年全球政治格局的颠覆,同时带来虚假信息的挑战。OpenAI已组建“红队”评估风险,但虚假视频识别仍是难题。尽管有水印解决方案,其有效性尚不确定。Sora在教育、医疗和科研等领域有潜力,但也对创意产业构成威胁。
13 2
|
3天前
|
人工智能 数据库 芯片
【报告介绍】中国AI大模型产业:发展现状与未来展望
【4月更文挑战第27天】中国AI大模型产业快速发展,受益于政策支持、技术创新及市场需求,已在电商等领域广泛应用,展现巨大潜力。但面临算力瓶颈、技术局限和数据不足等挑战。未来,AI大模型将向通用化与专用化发展,开源趋势将促进小型开发者参与,高性能芯片升级也将助力产业进步。[报告下载链接](http://download.people.com.cn/jiankang/nineteen17114578641.pdf)
15 2
|
4天前
|
机器学习/深度学习 人工智能 算法
AI大模型学习理论基础
本文探讨了AI大模型学习的理论基础,包括深度学习(模拟神经元工作原理,通过多层非线性变换提取特征)、神经网络结构(如前馈、循环和卷积网络)、训练方法(监督、无监督、强化学习)、优化算法(如SGD及其变种)、正则化(L1、L2和dropout防止过拟合)以及迁移学习(利用预训练模型加速新任务学习)。这些理论基础推动了AI大模型在复杂任务中的应用和人工智能的发展。
|
4天前
|
人工智能 Ubuntu 机器人
AI电销机器人系统源码部署之:freeswitch安装Linux
在Linux服务器上安装FreeSWITCH的简要步骤:更新软件包,安装依赖(如build-essential,libssl-dev等),下载v1.10.7源代码,解压并配置,编译,然后运行`./bootstrap.sh -j`,`./configure`,`make`,`make install`。启动FreeSWITCH服务,配置SIP用户和路由,测试连接与通话,并确保防火墙打开SIP(5060)和RTP端口。注意,实际部署可能需按需求调整。
|
5天前
|
机器学习/深度学习 人工智能 安全
模型被投毒攻击,如今有了新的安全手段,还被AI顶刊接收
【4月更文挑战第25天】研究人员提出了一种结合区块链和分布式账本技术的联邦学习系统,以增强对抗投毒攻击的安全性。该系统利用智能合约支持的点对点投票和奖励惩罚机制,提高模型聚合的鲁棒性。此创新方法首次将区块链应用于联邦学习,减少中心化服务器的风险,但同时也面临计算成本增加、延迟问题以及智能合约安全性的挑战。论文已被AI顶刊接收,为金融、医疗等领域提供更安全的机器学习解决方案。[[1](https://ieeexplore.ieee.org/document/10471193)]
16 3
|
6天前
|
人工智能 搜索推荐
杨笛一新作:社恐有救了,AI大模型一对一陪聊,帮i人变成e人
【4月更文挑战第24天】杨笛一团队研发的AI大模型,以“AI伙伴”和“AI导师”框架帮助社恐人群提升社交技能。通过模拟真实场景和个性化反馈,该方法降低训练门槛,增强学习者自信。但也有挑战,如保持AI模拟的真实性,防止反馈偏见,并避免过度依赖。研究强调,AI应作为辅助工具而非替代。[论文链接](https://arxiv.org/pdf/2404.04204.pdf)
12 1
|
7天前
|
人工智能 搜索推荐 决策智能
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
【AI Agent系列】【阿里AgentScope框架】1. 深入源码:详细解读AgentScope中的智能体定义以及模型配置的流程
42 0
|
7天前
|
存储 人工智能 数据库
【AI大模型应用开发】MemGPT原理与快速上手:这可能是目前管理大模型记忆的最专业的框架和思路
【AI大模型应用开发】MemGPT原理与快速上手:这可能是目前管理大模型记忆的最专业的框架和思路
21 0
|
7天前
|
存储 人工智能 数据库
【AI大模型应用开发】以LangChain为例:从短期记忆实战,到如何让AI应用保持长期记忆的探索
【AI大模型应用开发】以LangChain为例:从短期记忆实战,到如何让AI应用保持长期记忆的探索
19 0

相关产品

  • GPU云服务器