在ACS中使用真武810E快速搭建AI推理服务
首次使用阿里云容器计算服务ACS(Alibaba Container Compute Service)时,需要为服务账号授予系统默认角色。当且仅当该角色被正确授予后,容器计算服务才能正常地调用相关服务(ECS、OSS、NAS、CPFS、SLB等),创建集群以及保存日志等。本文介绍如何在ACS中使用真武810E快速搭建AI推理服务。
前提条件
已完成首次使用容器计算服务,需要开通容器计算服务ACS,并为其授权相应云资源的访问权限。
已开通NAS服务。本文使用NAS存储卷来持久化存储模型文件。
方案概览
首次使用ACS进行推理服务部署时,需要开通并授权容器计算服务ACS,然后创建ACS集群。集群创建完成后,先创建存储卷,再在集群中部署真武810E GPU算力,最后部署大语言模型并启动推理服务。
创建ACS集群
本步骤介绍如何通过配置主要参数快速创建一个ACS集群。
关于创建ACS集群的详细配置参数说明,请参见创建ACS集群。
登录容器计算服务控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击页面左上角的创建集群。
在创建集群页面,进行如下配置。其余配置项使用默认设置即可。
配置项
说明
示例值
集群名称
填写集群的名称。
ACS-PPU-Inference地域
选择集群所在的地域。
华北6(乌兰察布)单击确认配置,在满足所有依赖检查后,单击创建集群。
集群的创建时间需要约5-10分钟。
创建存储卷
本步骤介绍如何新建NAS文件系统作为模型的持久化存储卷。
使用NAS存储卷或OSS存储卷来持久化存储模型文件的更多内容,请参见使用ACS快速构建大语言模型数据存储卷。
在集群列表页面,单击集群名称ACS-PPU-Inference,进入基本信息页面,获取集群的VPC ID和交换机ID。
在网络区域的VPC部分,获取集群VPC ID。

在右侧控制面交换机部分,点击编辑。以乌兰察布可用区C为例,获取交换机ID。

在左侧导航栏,选择工作负载 > 自定义资源。选择资源定义(CustomResourceDefinition)页签,然后点击使用YAML创建资源,填入如下YAML,点击创建。
请分别修改YAML中的
vpcId和vSwitchId为上一步获取的VPC ID和交换机ID。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nas-llm-sc mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: filesystem fileSystemType: standard storageType: Performance regionId: cn-wulanchabu zoneId: cn-wulanchabu-c #示例为乌兰察布可用区C,需要与vSwitchId对应的可用区一致 vpcId: "vpc-0jljd55jeie816cxxxxxx" #需要修改为上一步获取的集群VPC ID vSwitchId: "vsw-0jl3qcn7m2gs449lxxxxx" #需要修改为上一步获取的集群交换机 ID accessGroupName: DEFAULT_VPC_GROUP_NAME deleteVolume: "false" provisioner: nasplugin.csi.alibabacloud.com --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: nas-llm-pvc spec: accessModes: - ReadWriteMany storageClassName: nas-llm-sc resources: requests: storage: 30Gi出现创建成功的提示后,点击nas-llm-pvc查看创建状态。当状态为Bound时,说明NAS存储卷创建和绑定成功。

部署真武810E GPU算力
本步骤介绍如何使用inference-xpu-pytorch推理镜像创建一个使用真武810E GPU算力资源的工作负载,挂载NAS存储卷,并关联到一个LoadBalancer类型的Service在公网提供服务。
在左侧导航栏,选择,点击使用YAML创建资源,填入如下YAML,点击创建。
apiVersion: apps/v1 kind: Deployment metadata: labels: app: llm-test name: llm-test namespace: default spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: llm-test template: metadata: labels: alibabacloud.com/compute-class: gpu alibabacloud.com/gpu-model-series: PPU810E alibabacloud.com/compute-qos: default app: llm-test spec: containers: - command: - sh - -c - sleep infinity image: acs-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.06-v1.5.2-vllm0.8.5-torch2.6-cu126-20250610 imagePullPolicy: IfNotPresent name: llm-test resources: limits: cpu: 8 memory: 16G alibabacloud.com/ppu: 1 ephemeral-storage: 30Gi requests: cpu: 8 memory: 16G alibabacloud.com/ppu: 1 ephemeral-storage: 30Gi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /mnt #NAS挂载路径 name: data - mountPath: /ppu-data name: ephemeral dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - name: data persistentVolumeClaim: claimName: nas-llm-pvc #nas-llm-pvc为步骤一创建的NAS存储声明 - name: ephemeral emptyDir: sizeLimit: 30G --- apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "internet" service.beta.kubernetes.io/alibaba-cloud-loadbalancer-ip-version: ipv4 labels: app: llm-test name: svc-llm namespace: default spec: externalTrafficPolicy: Local ports: - name: serving port: 8000 protocol: TCP targetPort: 8000 selector: app: llm-test type: LoadBalancer出现创建成功的提示后,点击llm-test查看创建状态。
由于只拉取镜像,暂未启动推理服务,Pod达到Running状态时间需要约5分钟。
部署大语言模型
本步骤以Qwen2.5-1.5B-Instruct大语言模型为例,介绍如何在容器中下载和使用模型文件。
可通过提升带宽的方式,进一步缩短下载时间,详细内容请参见如何提升模型下载速度?。
点击容器组名称llm-test-xxxxxxxxx-xxxxx右侧操作列的终端,进入llm-test容器终端。
执行以下命令,安装modelscope,并下载模型文件到指定目录。
模型下载时间需要约5分钟。
pip install modelscope modelscope download --model Qwen/Qwen2.5-1.5B-Instruct --local_dir /mnt/Qwen2.5-1.5B-Instruct预期输出:
... Installing collected packages: modelscope Successfully installed modelscope-1.27.1 ... Successfully Downloaded from model Qwen/Qwen2.5-1.5B-Instruct. | 1.00M/2.88G [00:00<16:35, 3.10MB/s]
启动推理服务
本步骤介绍如何在容器中通过命令行启动大模型推理服务。
模型下载完成后,执行模型启动命令。
python3 -m vllm.entrypoints.openai.api_server --model /mnt/Qwen2.5-1.5B-Instruct/ --trust-remote-code --gpu-memory-utilization 0.95预期输出:
... INFO: Started server process [150] INFO: Waiting for application startup. INFO: Application startup complete.说明由于通过在终端中手动执行命令的方式来启动推理服务,请保持终端处于开启状态。若希望将推理服务设置为自动启动,请继续执行以下步骤。
(可选)在ACS控制台中,选择,点击llm-test工作负载的右侧操作列的编辑。在生命周期区域,将启动执行的命令替换为以下内容,然后点击页面右侧更新并确认 。
["sh","-c","python3 -m vllm.entrypoints.openai.api_server --model /mnt/Qwen2.5-1.5B-Instruct/ --trust-remote-code --gpu-memory-utilization 0.95"]
在ACS控制台中,在左侧导航栏,选择网络 > 服务,可以看到已创建的svc-llm服务,该服务的外部IP地址(External IP)即为推理服务的公网IP。
在本地执行以下
curl命令,验证推理服务对话功能。请将
<IP>修改为上一步中创建的服务的外部IP地址。curl http://<IP>:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "/mnt/Qwen2.5-1.5B-Instruct/", "messages": [ {"role": "system", "content": "你是个友善的AI助手。"}, {"role": "user", "content": "介绍一下杭州的旅游景点。"} ]}'预期输出:

至此,在ACS中使用真武810E快速搭建AI推理服务已完成。
常见问题
开通ACS集群使用PPU后都涉及哪些费用,如何节省成本?
ACS集群不收取集群管理费,在ACS中使用PPU资源的费用包含集群所选配置费用和PPU算力资源费用。关于计费的详细说明,请参见计费说明。
集群所选配置费用:包括负载均衡 - API Server使用量计费、NAT网关、与NAT网关绑定的EIP的保有费用和公网访问流量费用、日志服务(SLS)、模型存储用的NAS存储费用。这部分费用为按使用时长或按使用量计费,在删除ACS集群时可以选择删除这些关联资源。

PPU算力资源费用:包括启动模型服务的容器占用的PPU卡、CPU和内存资源费用。计费时长为实际运行时长,从下载容器镜像(Pending状态)开始至实例停止运行(进入Succeeded或Failed状态)。可以将无状态工作负载伸缩成0个副本数来快速删除容器,设置成1或更多副本数来快速启动容器,以最大程度节省成本。

如何设置公网推理服务的访问控制?
本文中的推理服务是通过LoadBalancer类型的Service来实现的,该LoadBalancer会对应一个绑定公网IP地址的SLB实例。
请参考为负载均衡配置访问控制策略组,为对应SLB实例的监听设置访问控制,访问控制方式支持IP白名单、黑名单功能。
如何提升模型下载速度?
默认情况下,ACS集群创建的NAT网关绑定的EIP的带宽是100 Mbps。可参考以下操作,提升带宽峰值,提高模型下载速度。
进入公网NAT网关控制台,选择对应实例后,点击绑定的弹性公网IP页签。
点击实例ID进入弹性公网IP的实例信息页签。

点击右上角更多操作 > 变配,然后将带宽峰值提升至200 Mbps,点击立即购买。该操作不涉及计费变化。

如果模型较大,可为将该EIP加入共享带宽,共享带宽的速率可提升至2000 Mbps。该操作涉及费用变化,请仔细阅读费用说明。

相关文档
PPU Pod规格表
按量、容量预留、BestEffort实例共用相同规格表。
规格族 | PPU(卡) | vCPU | Memory(GiB) | Memory支持步长(GiB) | 系统盘大小 | 存储收费 |
单机规格族 | 1 | 2 | 2 ~ 16 | 1 | 30G ~ 384G |
|
4 | 4 ~ 32 | 1 | ||||
6 | 6 ~ 48 | 1 | ||||
8 | 8 ~ 64 | 1 | ||||
10 | 10 ~ 80 | 1 | ||||
2 | 4 | 4 ~ 32 | 1 | 30G ~ 768G | ||
6 | 6 ~ 48 | 1 | ||||
8 | 8 ~ 64 | 1 | ||||
16 | 16 ~ 128 | 1 | ||||
22 | 32,64,128,225 | N/A | ||||
4 | 8 | 8 ~ 64 | 1 | 30G ~ 1.5T | ||
16 | 16 ~ 128 | 1 | ||||
32 | 32,64,128,256 | N/A | ||||
46 | 64,128,256,450 | N/A | ||||
8 | 16 | 16 ~ 128 | 1 | 30G ~ 3T | ||
32 | 32,64,128,256 | N/A | ||||
64 | 64,128,256,512 | N/A | ||||
92 | 128,256,512,900 | N/A | ||||
16 | 32 | 32,64,128,256 | N/A | 30G ~ 6T | ||
64 | 64,128,256,512 | N/A | ||||
128 | 128,256,512,1024 | N/A | ||||
184 | 256,512,1024,1800 | N/A |





