在当前大模型推理逐步走向生产化的背景下,如何在多样化硬件环境上高效、稳定地管理推理服务,在工程落地中尤其关键。尤其是在国产 GPU 场景中,不同推理引擎、驱动栈与部署方式之间的组合复杂度明显提升,单纯依赖手工部署或脚本维护,往往难以兼顾效率与可运维性。
GPUStack 是面向生产环境的开源 AI 模型服务平台。它提供从 GPU 集群管理、模型部署到服务化运行、访问控制、运维监控和计量计费的一体化能力。平台支持 vLLM、SGLang、MindIE 等主流推理引擎,原生兼容多厂商异构 GPU,并允许自定义推理镜像接入。
在异构 GPU 环境下,GPUStack 可以将原本分散的推理服务进行统一纳管,使模型部署、服务运行以及监控观测都集中在同一平台中完成,从而降低多环境运维复杂度。
本文将以沐曦 C500 为实践环境,重点关注一个更贴近真实工程的问题:
如何在异构 GPU 上,管理 vLLM、SGLang 等推理服务,并实现统一部署与可观测运维。
围绕这一目标,本文将从实际部署流程出发,逐步完成:
- GPUStack 的安装与集群创建
- vLLM 与 SGLang 推理服务的部署与运行
- 官方与自定义推理镜像的接入方式
- Benchmark 基准性能测试
- 基于内置监控面板的 GPU 资源与推理性能观测
- 模型调用数据的统计与计量
通过这一实践过程,可以更直观地理解:在异构 GPU 环境中,如何将原本分散的推理组件,组织成一个可管理、可观测、可扩展的服务体系。
1. GPUStack 安装与集群初始化
在开始部署推理服务之前,首先需要完成 GPUStack 控制面的安装,并将沐曦 GPU 节点纳入统一管理。
整个过程可以拆分为两个部分:Server 部署 + Worker 节点接入。
1.1 准备容器环境
GPUStack 以容器方式运行,因此需要提前准备好容器运行环境(如 Docker、Podman 或 Kubernetes)。本文以 Docker 为例进行说明。
在各节点上安装 Docker,确保服务已正常启动:
docker info
1.2 启动 GPUStack Server
GPUStack Server 无需依赖 GPU,可运行在普通 CPU 节点上。本文以一台虚拟机作为控制节点,在该节点上启动 GPUStack Server 容器:
sudo docker run -d --name gpustack \
--restart unless-stopped \
-p 80:80 \
--volume gpustack-data:/var/lib/gpustack \
swr.cn-south-1.myhuaweicloud.com/gpustack/gpustack:v2.1.1 \
--debug --bootstrap-password GPUStack@123
这里几个关键参数说明:
- -p 80:80:用于对外暴露 Web 控制台端口;如需修改为其他端口(例如 9999),可调整为 -p 9999:80。
- --volume:持久化平台数据(包括模型服务、计量数据、API Key 等)
- --bootstrap-password:初始化 admin 用户密码
- --debug:开启调试日志,便于排查问题
容器启动后,可以通过日志确认服务是否正常运行:
docker logs -f gpustack
1.3 访问控制台并初始化
打开浏览器访问:http://<Server 主机 IP>:80
使用默认账号登录:
- 用户名:admin
- 密码:GPUStack@123
登录后,首先创建一个集群(Cluster),用于统一管理后续接入的 GPU 节点。
1.4 添加沐曦 GPU Worker 节点
在集群创建完成后,可以开始接入沐曦 GPU 节点。
在添加节点之前,建议先完成基础环境检查。
(1)驱动状态检查
在目标节点执行:
mx-smi >/dev/null 2>&1 && echo "Metax driver OK" || (echo "Metax driver issue"; exit 1)
如果输出为:
Metax driver OK
说明驱动已正确安装。
(2)运行时目录检查
确认以下目录存在:
ll /opt/mxdriver
ll /opt/maca
这两个目录分别对应沐曦驱动与运行时环境,是推理服务正常运行的基础依赖。
对于其他类型的 GPU,可参考 GPUStack 控制台中“添加节点”页面提供的环境检查命令进行验证。
(3)接入 Worker 节点
在 GPUStack 控制台中,选择添加节点(Worker),并复制系统生成的接入命令,在目标节点执行。
该命令本质上会启动一个 Worker 容器,并自动注册到 Server。
(4)验证 Worker 状态
节点接入后,可以在节点上查看容器日志:
docker logs -f gpustack
同时,在 GPUStack 控制台中也可以看到节点状态是否为 Ready。
至此,GPUStack 的控制面已成功部署,沐曦 GPU 节点也顺利接入集群,并能够正常采集 GPU 名称、索引、厂商信息、温度、利用率及显存使用等指标。接下来即可在该环境中部署具体的推理服务。
1.5 添加沐曦 GPU K8s 集群(可选)
GPUStack 也支持导入 Kubernetes 集群,以纳管 K8s 集群中的 GPU 节点:
- 在沐曦 GPU 节点上部署 Kubernetes 集群,并确认 kubectl 可正常操作。
- 在 GPUStack 控制台创建一个 Kubernetes 类型的集群,厂商选择 MetaX。
- 参考 1.4 章节中的(1)驱动状态检查和(2)运行时目录检查,在各节点进行验证确认。
-
复制 GPUStack 提供的导入 Kubernetes 命令,在节点上执行注册节点。
-
确认节点已成功注册,GPU 状态正常,并能够采集各项指标。
2. vLLM 与 SGLang 推理服务部署与运行
在 GPUStack 集群准备完成后,即可开始部署具体的推理服务。本章节以 vLLM 和 SGLang 为例,展示模型部署与试验操作流程。
请注意,在部署前需自行确认沐曦 GPU 上对应的 vLLM/SGLang 版本是否支持目标模型。
2.1 使用 vLLM 部署模型
- 在 GPUStack 模型库中选择目标模型,本次测试以 Qwen/Qwen3-30B-A3B-Instruct-2507 为例。
- 选择内置的 vLLM 后端进行模型部署。
- 部署完成后,可在试验场进行模型对话测试,验证模型推理是否正常。
2.2 使用 SGLang 部署模型
- 在 GPUStack 模型库中选择目标模型,本次测试同样使用 Qwen/Qwen3-30B-A3B-Instruct-2507。
- 选择内置的 SGLang 后端进行模型部署。
- 部署完成后,在试验场进行对话测试,确保模型运行正常。
⚠️ 注意:在部署模型前,请确认当前使用的 vLLM 或 SGLang 后端版本已支持该模型在沐曦 GPU 上运行,否则可能出现部署失败或运行异常。
3. 官方与自定义推理镜像接入
GPUStack 支持接入官方及自定义推理镜像,以满足不同版本的 vLLM 和 SGLang 后端部署需求。
以下示例展示如何在沐曦 GPU 上接入官方镜像并部署自定义版本模型。
3.1 自定义 vLLM 后端部署
- 在 GPUStack 控制台中进入 推理后端 → vLLM,编辑后端并添加新版本,使用沐曦官方 vLLM 镜像:
| 参数 | 示例 |
|---|---|
| 版本 | 0.15.0 |
| 镜像 | cr.metax-tech.com/public-ai-release/maca/vllm-metax:0.15.0-maca.ai3.5.3.203-torch2.8-py310-ubuntu22.04-amd64 |
| 框架 | MACA |
| 镜像入口命令 | /opt/conda/bin/vllm serve |
| 执行命令 | {{model_path}} --host {{worker_ip}} --port {{port}} --served-model-name {{model_name}} |
⚠️ 注意:使用相应镜像前,需要先在沐曦开发者社区获取下载链接(**developer.metax-tech.com/softnova/do…
-
在 ModelScope 中使用自定义 vLLM 后端版本 0.15.0-custom 部署模型,本次测试选择 Qwen/Qwen3-30B-A3B-Instruct-2507。
-
部署完成后,可在试验场进行模型对话测试,确认推理服务正常运行。
3.2 自定义 SGLang 后端部署
- 在 GPUStack 控制台 推理后端 → SGLang 中编辑后端,添加新版本,使用沐曦官方 SGLang 镜像:
| 参数 | 示例 |
|---|---|
| 版本 | 0.5.8 |
| 镜像 | cr.metax-tech.com/public-ai-release/maca/sglang:0.5.8-maca.ai3.5.3.104-torch2.8-py310-ubuntu22.04-amd64 |
| 框架 | MACA |
| 镜像入口命令 | /opt/conda/bin/sglang serve |
| 执行命令 | --model-path {{model_path}} --host {{worker_ip}} --port {{port}} |
⚠️ 注意:使用相应镜像前,需要先在沐曦开发者社区获取下载链接(**developer.metax-tech.com/softnova/do…
-
在 ModelScope 中使用自定义 SGLang 后端版本 0.5.8-custom 部署模型,本次测试同样选择 Qwen/Qwen3-30B-A3B-Instruct-2507。
-
部署完成后,可在试验场测试模型对话,确认模型推理服务正常运行。
⚠️ 提示:通过自定义后端版本,可确保在沐曦 GPU 上顺利部署新版本支持的模型,保持与官方镜像的兼容性。
4. Benchmark 基准性能测试
在模型部署完成后,可以通过 GPUStack 的基准测试功能验证模型的推理性能。
- 打开基准测试菜单,创建新的 Benchmark 测试,选择之前部署的模型实例。
- 提交任务并等待执行完成,测试结束后查看结果,包括推理延迟、吞吐量等关键指标。
通过 Benchmark 测试结果,可以直观了解模型在不同硬件和配置下的推理性能,为后续模型调度和集群容量规划提供数据支撑。
5. 内置监控 Dashboard:GPU 资源与模型推理性能
GPUStack 内置的监控 Dashboard 可以直接观测集群 GPU 资源和模型推理性能。
5.1 GPU 资源观测
- 打开集群或节点菜单,点击右上角监控,进入 GPU 监控面板。
- 可实时查看以下 GPU 资源指标:
- 集群节点与 GPU 总数、总显存大小、CPU 核心数、系统内存大小
- 平均 GPU 利用率、显存利用率、GPU 温度
- CPU 利用率、系统内存利用率、每 GPU 利用率、显存利用率、温度、显存使用趋势
- 每个 GPU 的温度、利用率、显存利用率等数据
通过这些指标,可快速判断 GPU 资源分配是否合理、集群负载情况以及硬件健康状态。
5.2 模型推理性能观测
- 在部署菜单中,点击右上角监控,进入模型监控面板。
- 选择目标模型,并筛选有请求的历史时间段,即可观察模型推理情况。
- 面板显示的关键指标包括:
- 当前处理请求数、排队请求数、每分钟请求数
- Token 生成速率、请求总延迟、请求延迟分布热力图
- 请求状态分布、Token 吞吐量
- P50–P99 首 Token 延迟(TTFT)、Token 间隔延迟(ITL)、单 Token 生成耗时(TPOT)
- KV 缓存使用率、KV 缓存命中率
- 输入长度分布、输出长度分布、请求结束原因等等
通过这些指标,可直观判断模型推理的负载、性能瓶颈及请求处理效率,从而为模型优化和调度提供数据支持。
通过内置 GPU 与模型监控面板,可以直观了解资源利用和推理性能,为调优模型部署和集群调度提供参考。
6. 模型调用数据统计与计量
GPUStack 提供对模型推理请求的细粒度计量功能,可按用户和模型维度采集调用数据,包括 API 请求次数、输入/输出 Token 数量等指标,支持多维度使用分析,为服务运营和资源管理提供参考。
- 打开概览菜单 → 使用量,可查看指定时间段内的模型调用数据。
- 可按用户或模型进行筛选,快速了解每个模型的请求量与 Token 使用情况。
- 结合 GPU 与模型监控数据,可评估服务负载、分析请求趋势,并为后续资源管理或计费提供数据支持。
通过计量数据,可实现对模型服务的透明管理,快速定位高负载或异常请求,为运营和调度提供依据。
7. 总结
通过本篇实践教程,我们完整演示了在以沐曦为例的异构 GPU 环境下,使用 GPUStack 部署和管理大模型推理服务的全流程:
- GPUStack 安装与集群接入:在控制节点部署 GPUStack Server,并接入沐曦 GPU 节点或 Kubernetes 集群,实现统一管理与资源监控。
- 推理服务部署:支持内置与自定义版本的 vLLM 与 SGLang 后端,灵活部署目标模型,并可在试验场进行即时对话验证。
- 性能与资源监控:通过内置 GPU 资源与模型服务监控 Dashboard,可实时观测 GPU 资源利用、模型推理性能及请求状况,为优化部署和调度提供依据。
- 模型调用数据统计与计量:采集按用户和模型维度的请求数据,包括 API 请求次数与 Token 数量,支持透明运营、资源管理及计费体系建设。
GPUStack 作为面向生产环境的开源 AI 模型服务平台,实现了在多厂商异构 GPU 上的统一管理、模型部署、推理服务运行、监控和计量能力,为企业和开发者提供了高效、可观测、可运维的模型服务管理方案,显著降低了复杂硬件环境下的运维难度,同时支持精细化资源调度和服务治理能力。
通过完整的管理与监控闭环,GPUStack 将大模型从实验室走向生产化落地,提供了可靠的技术支撑和实践路径。
加入 GPUStack 社区
GPUStack 社区聚焦 AI 基础设施与大模型实践。
社区中持续分享真实环境下的部署经验、问题排查案例,以及推理引擎、算力管理和系统架构相关讨论。
欢迎扫码加入 GPUStack 社区,与更多关注 AI Infra 与大模型推理实践的伙伴一起交流、学习与分享。
若群聊已满或二维码失效,请访问以下页面查看最新群二维码: github.com/gpustack/gp…