Day 0 部署:昇腾 910B DeepSeek-V4 部署指南与压测表现

📅 2026/6/24 3:01:45
Day 0 部署:昇腾 910B DeepSeek-V4 部署指南与压测表现
GPUStack 安装与集群初始化GPUStack 是一个开源 GPU 集群管理与 AI 模型服务平台旨在高效部署 AI 模型。它可以配置并编排多种推理引擎——如 vLLM、SGLang、TensorRT-LLM甚至自定义引擎——以在 GPU 集群上实现最佳性能。核心功能包括多异构 GPU 集群池化调度、可插拔推理引擎架构、Day 0 模型支持、性能优化配置低延迟/高吞吐、以及企业级运维能力如故障恢复、负载均衡、监控与权限管理。GPUStack 可以帮助我们高效地管理vLLM、SGLang等推理引擎并推动模型从部署走向企业生产落地运营。在开始部署DeepSeek V4之前首先完成 GPUStack 控制面的安装并将 昇腾 NPU 节点纳入管理。准备容器环境GPUStack 以容器方式运行因此需要提前准备好容器运行环境如 Docker、Podman 或 Kubernetes。本文以 Docker 为例进行说明。在各节点上安装 Docker确保服务已正常启动docker info启动 GPUStack ServerGPUStack Server 无需依赖 GPU可运行在普通 CPU 节点上也可运行在 GPU 节点。本文以八卡昇腾 910B2为实验环境在该节点上启动 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.2 \ --debug --bootstrap-password GPUStack123关键参数说明-p 80:80用于对外暴露 Web 控制台端口如需修改为其他端口例如 9999可调整为 -p 9999:80。--volume持久化平台数据包括模型服务、计量数据、API Key 等--bootstrap-password初始化 admin 用户密码--debug开启调试日志便于排查问题容器启动后可以通过日志确认服务是否正常运行docker logs -f gpustack访问控制台并初始化打开浏览器访问http://Server 主机 IP:80使用默认账号登录用户名admin密码GPUStack123登录后首先创建一个 Docker 类型的集群用于统一管理后续接入的 GPU 节点。添加 昇腾 NPU Worker 节点在集群创建完成后可以接入 昇腾 NPU 节点。在添加节点之前先完成基础环境检查。1驱动版本检查在目标节点上执行以下命令npu-smi info该命令会显示当前安装的 NPU 驱动版本。建议驱动版本≥ 25.5以保证对 DeepSeek V4 模型的兼容性和稳定性。2Ascend Docker Runtime 检查执行以下命令检查 Docker 是否正确配置了Ascend Docker Runtimesudo docker info 2/dev/null | grep -q ascend echo Ascend Container Toolkit OK || (echo Ascend Container Toolkit not configured; exit 1)未安装请下载并安装https://gitcode.com/Ascend/mind-cluster/releases/download/v7.3.1/Ascend-docker-runtime_7.3.1_linux-aarch64.run该命令会从docker info输出中查找是否存在ascend运行时配置。如果输出 Ascend Container Toolkit OK说明 Docker 已正确配置可在容器中访问 GPU。如果输出 Ascend Container Toolkit not configured则说明未正确配置需要安装并启用 Ascend Container Toolkit否则推理容器无法使用 GPU 资源。3接入 Worker 节点在 GPUStack 控制台中选择添加节点Worker并复制系统生成的接入命令在目标节点执行。该命令本质上会启动一个 Worker 容器并自动注册到 Server。4验证 Worker 状态节点接入后可以在节点上查看容器日志docker logs -f gpustack-worker同时在 GPUStack 控制台中也可以看到节点状态是否为Ready。至此GPUStack 的控制面已成功部署昇腾 NPU 节点也顺利接入集群并能够正常采集设备名称、索引、厂商信息、温度、利用率及显存使用等指标。接下来即可在该环境中部署具体的推理服务。​添加自定义 vLLM 和 SGLang 版本GPUStack 支持可插拔的推理引擎架构允许自定义推理后端及其版本用于引入 GPUStack 未内置的 vLLM / SGLang / MindIE 版本或接入其他自定义推理引擎镜像。为了部署DeepSeek V4模型需要添加 vLLM Ascend 最新发布的v0.13.0rc3版本。vLLM在推理后端菜单编辑 vLLM在版本配置中选择添加版本添加一个新的 vLLM 版本指向 vLLM Ascend 官方镜像配置值版本0.13.0rc3镜像名称quay.io/ascend/vllm-ascend:v0.13.0rc3框架CANN覆盖镜像入口命令ENTRYPOINTvllm serve执行命令{{model_path}} --host {{worker_ip}} --port {{port}} --served-model-name {{model_name}}自定义添加 vLLM Ascend 0.13.0rc3 配置如图所示注意GPUStack 会自动调用主机容器运行时拉取容器镜像需要确保 Worker 节点可访问 Quay.io或者提前拉取好并重新 tag并按需修改 UI 配置中的镜像地址保持执行命令中的 {{}} 变量内容不变此为模板化配置。也可以切换到 YAML 模式直接使用以下的 YAML 导入公众号复制可能存在特殊格式可以发送给 AI 重新整理 YAML 格式backend_name: vLLM version_configs: 0.13.0rc3-custom: image_name: quay.io/ascend/vllm-ascend:v0.13.0rc3 entrypoint: vllm serve run_command: - {{model_path}} --host {{worker_ip}} --port {{port}} --served-model-name {{model_name}} env: {} custom_framework: cann注意如果当前已经有其它自定义版本需要将其它自定义版本一同添加在 version_configs 中一起导入。部署 DeepSeek V4 模型vLLM Ascend 已提供关于 DeepSeek V4 模型的部署与使用教程详情可参考DeepSeek-V4 — vllm-ascend以下将介绍在 GPUStack 上部署 DeepSeek V4 Flash 模型的配置流程。在在线环境下可直接通过 ModelScope 搜索Eco-Tech/DeepSeek-V4-Flash-w8a8-mtp模型并进行部署具体步骤参考下方。在离线环境中需要提前下载好模型权重并将其分发到 Worker 节点同时挂载到对应的 Worker 容器中。随后在GPUStack 控制台 - 模型文件菜单中选择添加模型文件 - 本地路径填写对应的模型权重路径。需要注意这里填写的应为容器内路径例如联网环境在GPUStack 控制台 - 部署菜单下选择部署模型 → ModelScope直接搜索Eco-Tech/DeepSeek-V4-Flash-w8a8-mtp模型进行部署。离线环境可从GPUStack 控制台 - 模型文件菜单中选择已添加的DeepSeek-V4-Flash-w8a8-mtp模型进行部署。vLLM后端选择vLLM版本选择前面自定义添加的0.13.0rc3-customGPU8 块 910B2 64GB NPU使用以下后端参数和环境变量启动后端参数支持单行或多行形式注意已设置 TP 8 DP 1请确保有八块 NPU 可分配其它环境请根据实际情况调整并行策略# 后端参数 --gpu-memory-utilization 0.9 --max-model-len 65536 --max-num-batched-tokens 8192 --max-num-seqs 16 --data-parallel-size 1 --tensor-parallel-size 8 --enable-expert-parallel --quantization ascend --block-size 128 --async-scheduling # 注意修改 chat_template.jinja 路径为实际路径 --chat-template /var/lib/gpustack/cache/model_scope/Eco-Tech/DeepSeek-V4-Flash-w8a8-mtp/chat_template.jinja --additional-config {enable_cpu_binding: true, multistream_overlap_shared_expert: true} --speculative-config {num_speculative_tokens: 1,method: deepseek_mtp} --compilation-config {cudagraph_mode:FULL_DECODE_ONLY} # 环境变量 USE_MULTI_BLOCK_POOL1 OMP_PROC_BINDfalse OMP_NUM_THREADS10 PYTORCH_NPU_ALLOC_CONFexpandable_segments:True ACL_OP_INIT_MODE1 TRITON_ALL_BLOCKS_PARALLEL1等待模型启动时可以在操作中点击查看日志实时观察启动过程当模型实例状态显示为Running时说明模型已经成功启动可以进行后续的测试。模型测试试验场单请求31 Tokens/s考虑初始支持后续还有优化空间基准测试通过 GPUStack 提供的基准测试功能对模型进行一键性能压测此处选择吞吐模式压测结果如下加入 GPUStack 社区GPUStack 社区聚焦AI 基础设施与大模型实践。社区中持续分享真实环境下的部署经验、问题排查案例以及推理引擎、算力管理和系统架构相关讨论。欢迎扫码加入 GPUStack 社区与更多关注 AI Infra 与大模型推理实践的伙伴一起交流、学习与分享。