ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

在 GPUStack 集群上使用分布式 vLLM 运行 DeepSeek R1 671B 完整指南

2026/10/4 10:23:43 拓冰建站 浏览量
在 GPUStack 集群上使用分布式 vLLM 运行 DeepSeek R1 671B 完整指南 后端人工智能模型推理服务集群管理可观测性【免费下载链接】gpustackA GPU cluster manager for high-performance AI model serving (vLLM, SGLang) and on-demand SSH-accessible GPU instances.项目地址https://gitcode.com/gh_mirrors/gp/gpustack点击查看免费下载GPUStack 是一款面向高性能 AI 模型推理vLLM、SGLang与按需 SSH GPU 实例的 GPU 集群管理器。本教程以原始DeepSeek R1 671B为对象讲解如何在 GPUStack 集群中通过Distributed vLLM将其部署为单个模型实例由于该模型体量极大单台机器通常无法容纳分布式推理是唯一可行的路径。读完本文你将掌握 GPUStack 的安装、多节点 worker 接入、模型部署、状态监控与 Playground 推理验证的完整实战流程并理解 vLLM 分布式执行Ray / MultiProcessing 双路径在 GPUStack 内部是如何被自动编排的。前置条件开始之前请确保满足以下硬件与环境要求拥有足够数量的 Linux 节点每个节点配备满足需求的 GPU。例如H100/H800:82 个节点A100/A800-80GB:84 个节点A100/A800:88 个节点推荐使用NVLink 或 InfiniBand 等高速互联以获得最佳性能。跨节点张量并行与通信对互联带宽高度敏感。模型文件需在每个节点下载到相同路径。虽然 GPUStack 支持按需下载模型但考虑到网络速度预先下载通常更稳妥——671B 量级的权重文件下载耗时较长且分布式推理要求所有参与节点在同一路径访问模型文件见 内置推理后端 中的已知限制。本教程场景约定以下操作以4 个节点、每节点 8 张 A800-80GB、节点间 200G InfiniBand 互联的集群为示例。A100/A800 GPU不支持DeepSeek R1 原生使用的 FP8 精度因此这里使用来自 Unsloth 的BF16 版本unsloth/DeepSeek-R1-BF16。为什么必须使用分布式推理DeepSeek R1 671B 的完整权重即使以 FP8/BF16 存储也高达数百 GB显存需求远超单卡容量。GPUStack 内置的 vLLM 后端支持将一个模型实例拆分到多个 worker 上协作推理勾选Allow Distributed Inference Across Workers后GPUStack 会把这些跨节点进程编排为一个模型实例对外只暴露一个 OpenAI 兼容端点参见 内置推理后端。这也是本教程最小手工配置、即可运行 671B 大模型的底层原理。Step 1安装 GPUStack ServerGPUStack 服务端以统一容器镜像发布v2 起所有 GPU 设备类型共用同一镜像。参照 安装指南执行以下命令启动服务端sudo docker run -d --name gpustack \ --restart unless-stopped \ -p 80:80 \ --volume gpustack-data:/var/lib/gpustack \ --volume /path/to/your/model:/path/to/your/model \ gpustack/gpustack注意请将/path/to/your/model替换为实际路径。该卷挂载用于把 DeepSeek R1 模型文件所在目录映射进容器服务端与后续 worker 都需要访问到同一模型路径。服务端启动后获取初始管理员密码sudo docker exec gpustack \ cat /var/lib/gpustack/initial_admin_passwordStep 2访问 GPUStack UI在浏览器中打开如下地址使用admin用户与上一步获得的密码登录http://your_gpustack_server_ip_or_hostnameStep 3安装 GPUStack Workers在 GPUStack UI 中进入Workers页面点击Add Worker按钮获取添加 worker 的命令。在每个 worker 节点上运行该命令启动 GPUStack workersudo docker run -d --name gpustack \ --restart unless-stopped \ --privileged \ --network host \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume gpustack-data:/var/lib/gpustack \ --volume /path/to/your/model:/path/to/your/model \ --runtime nvidia \ gpustack/gpustack \ --server-url http://your_gpustack_server_ip_or_hostname \ --token your_gpustack_cluster_token注意请替换命令中的占位路径、IP 地址/主机名与集群 token其中/path/to/your/model应替换为各节点上 DeepSeek R1 模型文件存放的实际路径。Worker 命令与 server 命令同名但参数不同worker 使用--privileged访问 GPU/设备、--network host高性能互联、挂载 Docker socket用于拉起推理容器与--runtime nvidiaNVIDIA 容器运行时并通过--server-url与--token向服务端注册。所有 worker 添加完成后回到 GPUStack UI进入Workers页面确认所有 worker 均处于Ready状态且 GPU 已被列出。Step 4部署 DeepSeek R1 模型按以下步骤创建部署进入Deployments页面。点击Deploy Model。在 source模型来源中选择Local Path。在Name字段输入名称例如DeepSeek-R1。在Model Path中指定各 worker 节点上包含 DeepSeek R1 模型文件的目录。确保Backend设置为vLLM。通过兼容性检查后点击Save完成部署。提示由于 A100/A800 不支持 FP8这里选择 BF16 权重unsloth/DeepSeek-R1-BF16GPUStack 的 vLLM 后端会根据模型元数据自动估算实例所需的显存见 内置推理后端 中的--gpu-memory-utilization默认 0.9 说明。关于分布式编排GPUStack 内部做了什么当勾选Allow Distributed Inference Across WorkersvLLM、SGLang、MindIE 后端均支持参见 模型部署管理后GPUStack 会自动完成如下工作自动调度参与节点 GPU 数量一致、全部 GPU 满足gpu_memory_utilization默认 0.9、张量并行下注意力头数可整除、总显存 claim 大于估算值等条件满足时自动将 GPU 分散到多个 worker 上见 内置推理后端 的自动调度条件条件不满足时则需在配置中手动选择 worker/GPU。选择执行路径GPUStack 通过 vLLM 的--distributed-executor-backend参数提供两条分布式执行路径一般无需手动设置按镜像与 vLLM 版本自动选择Ray 路径官方 runner 镜像默认路径——每个参与节点启动 Ray sidecar 组成集群leader 节点运行主 vLLM 进程并暴露 API 服务Ray 负责跨节点任务调度。MultiProcessing 路径显式指定--distributed-executor-backendmp时使用不依赖 Ray sidecarGPUStack 根据集群布局注入--nnodes、--node-rank、--master-addr、--master-port等拓扑参数从 vLLM 0.18.0 起自定义镜像场景还会自动回退到mp以避免启动失败。被调度为 follower 的实例会自动附加--headless只参与分布式计算、不启动 OpenAI API 服务follower 日志中出现--headless是预期行为。以上双路径的编排逻辑可以在源码中得到印证gpustack/worker/backends/vllm.py中的_build_mp_multinode_arguments按dp_only/mp_only/nested三种拓扑形状注入对应参数并为 follower 附加--headless参见 vllm.py。也就是说你在 UI 上只做了一个勾选与一次Save剩下的跨节点参数注入与端口分配DP RPC 端口、PyTorch master 端口等全部由 GPUStack 完成。Step 5监控部署状态你可以在Deployments页面监控部署状态将鼠标悬停在distributed across workers上查看各 GPU 与 worker 的使用情况。点击View Logs查看实时日志观察模型加载进度。671B 模型加载可能需要几分钟。模型运行起来后进入Workers页面检查 GPU 利用率。默认情况下 vLLM 使用90% 的 GPU 显存--gpu-memory-utilization默认 0.9如需调整可以在模型配置设置中修改。提示跨节点分布式场景下模型文件必须能被所有参与 worker 以相同路径访问——要么使用共享文件系统要么预先在各节点下载到相同路径见 内置推理后端 中的已知限制。此外 Ray 模式下每个 worker 同一时间只能被分配给一个分布式 vLLM 模型实例。Step 6通过 Playground 运行推理验证模型部署并运行后使用 GPUStack 自带的 Playground 进行验证进入Playground-Chat。若只部署了一个模型它会默认被选中否则通过下拉菜单选择DeepSeek-R1。输入提示词并与模型交互。你还可以使用Compare选项卡测试并发推理场景——同时向多个模型或同一模型发起多路对话直观对比吞吐与响应差异。至此你已在 GPUStack 集群上使用 Distributed vLLM 成功部署并运行了 DeepSeek R1 671B。此后你可以在此基础上通过模型详情页暴露的 OpenAI 兼容端点/v1/chat/completions等将模型接入自己的应用参考 模型部署管理 调整--max-model-len、--tensor-parallel-size等 vLLM 参数以匹配业务需求如需在多个数据并行副本间做更精细的并行度拆分TP DP 组合、--enable-expert-parallel等可进一步阅读 使用 MultiProcessing 后端运行分布式 vLLM 教程它演示了跨两节点显式选择 MP 后端并组合张量并行与数据并行部署单实例的完整方法。常见问题速查现象排查方向模型加载耗时很长671B 权重体积大属正常建议预先下载模型文件到各节点同一路径避免按需下载受网络影响follower 日志出现--headless预期行为——follower 只参与分布式计算不启动 API 服务请求统一经 leader 分发自动调度未分配资源检查是否满足自动调度条件GPU 数量一致、显存满足gpu_memory_utilization等不满足时手动选择 worker/GPU 调度部署后 GPU 利用率偏低确认--gpu-memory-utilization默认 0.9配置符合预期并按需在模型配置中调整赞分享后端人工智能模型推理服务集群管理可观测性【免费下载链接】gpustackA GPU cluster manager for high-performance AI model serving (vLLM, SGLang) and on-demand SSH-accessible GPU instances.项目地址https://gitcode.com/gh_mirrors/gp/gpustack点击查看免费下载相关推荐GPUStack分布式训练实战在多GPU集群上运行大规模模型GPUStack是一个强大的开源GPU集群管理平台专门用于运行AI模型。在当今AI模型规模日益增长的背景下如何高效利用多GPU集群进行分布式训练成为了许多开后端人工智能模型推理服务集群管理可观测性使用 SkyPilot 与 SGLang 分布式部署 DeepSeek-R1 671B 高吞吐推理服务使用 SkyPilot 与 SGLang 分布式部署 DeepSeek R1 671B 高吞吐推理服务 本文以 SkyPilot 仓库中的 llm/deepse后端任务调度MLOps集群管理Horovod on Ray 实战指南用 RayExecutor 在 Ray 集群上运行分布式训练Horovod on Ray 实战指南用 RayExecutor 在 Ray 集群上运行分布式训练 导读 本文基于 Horovod 官方文档中 Horovo深度学习机器学习分布式训练上一篇DVA应用的无障碍色彩对比度WCAG标准实现下一篇EGG tegg 框架 EventBus 事件驱动单元测试实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考