使用分布式vLLM运行DeepSeek R1 671B
本教程将指导您如何在GPUStack集群上配置和运行未量化的DeepSeek R1 671B模型,使用分布式vLLM框架。由于该模型规模极其庞大,通常需要跨多个工作节点进行分布式推理。
GPUStack 能够轻松设置和编排使用 vLLM 的分布式推理,使得运行像 DeepSeek R1 这样的大规模模型只需最少量的人工配置。
先决条件
在开始之前,请确保满足以下要求:
- 您可以访问足够数量的Linux节点,每个节点都配备了所需的GPU。例如:
| GPU | 节点数量 |
|---|---|
| H100/H800:8 | 2 |
| A100/A800-80GB:8 | 4 |
| A100/A800:8 | 8 |
- 建议使用NVLink或InfiniBand等高速互连技术以获得最佳性能。
- 模型文件应下载到每个节点的相同路径下。虽然GPUStack支持实时模型下载,但建议预先下载,因为根据网络速度不同,下载过程可能耗时较长。
注意
- 在本教程中,我们假设配置了4个节点,每个节点配备8块A800-80GB GPU并通过200G InfiniBand互连。
- A100/A800 GPU不支持DeepSeek R1最初使用的FP8精度。因此,我们使用来自Unsloth的BF16版本。
步骤1:安装GPUStack服务器
在本教程中,我们将使用Docker来安装GPUStack。如果您愿意,也可以选择其他安装方式。
使用以下命令启动GPUStack服务器:
docker run -d --name gpustack \
--restart=unless-stopped \
--gpus all \
--network=host \
--ipc=host \
-v gpustack-data:/var/lib/gpustack \
-v /path/to/your/model:/path/to/your/model \
-e NCCL_SOCKET_IFNAME=eth2 \
-e GLOO_SOCKET_IFNAME=eth2 \
gpustack/gpustack --enable-ray
注意
- 将
/path/to/your/model替换为实际路径。 - 将
NCCL_SOCKET_IFNAME和GLOO_SOCKET_IFNAME设置为用于节点间通信的网络接口。我们以eth2为例。 --enable-ray标志用于启用Ray以支持分布式推理,这是vLLM所需的。
在GPUStack服务器启动并运行后,运行以下命令以获取初始管理员密码和工作节点注册令牌:
docker exec gpustack cat /var/lib/gpustack/initial_admin_password
docker exec gpustack cat /var/lib/gpustack/token
步骤2:安装GPUStack Workers
在每个工作节点上,运行以下命令以启动GPUStack工作进程:
docker run -d --name gpustack \
--restart=unless-stopped \
--gpus all \
--network=host \
--ipc=host \
-v gpustack-data:/var/lib/gpustack \
-v /path/to/your/model:/path/to/your/model \
-e NCCL_SOCKET_IFNAME=eth2 \
-e GLOO_SOCKET_IFNAME=eth2 \
gpustack/gpustack \
--server-url http://your_gpustack_server_ip_or_hostname \
--token your_gpustack_token \
--enable-ray
注意
- 替换相应的占位符路径、IP地址/主机名和令牌。
- 确保模型路径与服务器匹配,并且在所有工作节点上有效。
步骤3:访问GPUStack用户界面
当服务器和所有工作节点都运行起来后,通过浏览器访问GPUStack用户界面:
http://your_gpustack_server_ip_or_hostname
使用admin用户名和第一步获取的密码登录。导航至Resources页面,确认所有工作节点都处于就绪状态且GPU已列出。
步骤4:部署DeepSeek R1模型
- 前往
Models页面。 - 点击
Deploy Model。 - 选择
Local Path作为您的数据源。 - 在
Name字段中输入名称(例如DeepSeek-R1)。 - 将
Model Path指定为每个工作节点上包含DeepSeek R1模型文件的目录。 - 确保
Backend设置为vLLM。 - 通过兼容性检查后,点击
Save进行部署。
步骤5:监控部署
您可以在Models页面监控部署状态。将鼠标悬停在distributed across workers上可查看GPU和工作节点的使用情况。点击View Logs可查看显示模型加载进度的实时日志。加载模型可能需要几分钟时间。
模型运行后,重新访问资源选项卡以检查GPU利用率。默认情况下,vLLM会占用90%的GPU内存。您可以在模型配置设置中调整此参数。
步骤6:通过Playground运行推理
模型部署并运行后,您可以使用GPUStack Playground进行测试。
- 导航至
Playground->Chat。 - 如果只部署了一个模型,将默认选择该模型。否则,请使用下拉菜单选择
DeepSeek-R1。 - 输入提示词并与模型交互。
你也可以使用Compare选项卡来测试并发推理场景。
您已成功在GPUStack集群上使用分布式vLLM部署并运行DeepSeek R1 671B模型。现在可以在自己的应用程序中探索该模型的性能和功能。
如需进一步帮助,欢迎随时联系GPUStack社区或支持团队。





