大模型跨节点部署

半兽人 发表于: 2026-03-16   最后更新时间: 2026-03-16 17:36:10  
{{totalSubscript}} 订阅, 21 游览

两台机器、每台 8 张 H100(共 16 GPU),要把它们当成一个整体来运行大模型,本质上就是做 分布式推理(Distributed Inference)。核心机制是 Tensor Parallel + 跨节点通信(NCCL)。下面按实际工程步骤解释。

一、整体结构是什么

两台服务器:

node1
 ├─ GPU0
 ├─ GPU1
 ├─ GPU2
 ├─ GPU3
 ├─ GPU4
 ├─ GPU5
 ├─ GPU6
 └─ GPU7

node2
 ├─ GPU0
 ├─ GPU1
 ├─ GPU2
 ├─ GPU3
 ├─ GPU4
 ├─ GPU5
 ├─ GPU6
 └─ GPU7

总共:

16 GPU

模型会被 切分成16份

例如:

Transformer Layer
     ↓
分布到 16 GPU

每张卡只保存 1/16 的权重

二、核心技术

分布式推理一般使用:

1 Tensor Parallel (TP)

一个 layer 的矩阵切分到多GPU

例如:

Linear(16384, 65536)

会变成:

GPU0  Linear(16384, 4096)
GPU1  Linear(16384, 4096)
...
GPU15 Linear(16384, 4096)

每张卡计算一部分,然后 AllReduce 汇总结果

通信依赖:

NCCL

2 Pipeline Parallel (PP)

不同layer放不同GPU

例如:

GPU0-3   Layer 1-20
GPU4-7   Layer 21-40
GPU8-11  Layer 41-60
GPU12-15 Layer 61-80

这样做的好处:

  • 显存更均衡
  • KV cache更容易管理

3 Expert Parallel (MoE模型)

如果是 MoE 模型(很多 Qwen / DeepSeek 是),还会有:

Expert Parallel

每个 GPU 负责部分专家。

三、两台机器如何连成一个分布式

关键是 NCCL通信网络

需要:

高速网络

通常是:

网络 带宽
Infiniband 200Gb
RoCE 100Gb
普通万兆 勉强

通信拓扑:

node1 GPU ↔ node2 GPU

通过:

NCCL + RDMA

实现。

四、运行时的节点角色

一般会有:

master node
worker node

例如:

node1  master
node2  worker

启动方式:

MASTER_ADDR=10.0.0.1
MASTER_PORT=29500
WORLD_SIZE=16
RANK=0-15

每个 GPU 一个进程。

五、用 vLLM 举例(最常见)

两台机器 16 GPU:

node1:

vllm serve MODEL_PATH \
 --tensor-parallel-size 16 \
 --pipeline-parallel-size 1 \
 --host 0.0.0.0

node2:

vllm worker \
 --tensor-parallel-size 16 \
 --pipeline-parallel-size 1 \
 --master-ip node1-ip

实际会通过:

Ray cluster

调度。

六、另一种常见方式:Ray Cluster

先启动集群。

node1:

ray start --head --port=6379

node2:

ray start --address='node1-ip:6379'

形成:

Ray Cluster

然后:

vLLM / sglang / deepspeed

在这个集群上调度 GPU。

七、推理请求是怎么执行的

用户请求:

Prompt

流程:

API Server
   ↓
Scheduler
   ↓
GPU0-15 计算
   ↓
AllReduce
   ↓
返回 token

每生成一个 token:

所有 GPU 都参与

八、为什么需要这么多 GPU

因为模型巨大。

例如:

模型 显存
70B FP16 ~140GB
397B FP16 ~800GB

16 × H100:

16 × 80GB = 1280GB

才能容纳:

  • 权重
  • KV cache
  • runtime

九、工程里最重要的其实是网络

很多人第一次做分布式都会踩这个坑:

如果网络不够快:

GPU利用率会掉到10%

因为每层计算都需要:

AllReduce

通信慢就卡住。

所以生产环境通常:

8 GPU NVLink
+
200G Infiniband

十、总结

两台 8 卡服务器变成一个“GPU集群”的本质是:

  1. 模型权重切分到多个GPU(Tensor Parallel)
  2. 多个节点通过 NCCL 通信
  3. 调度系统(Ray / torch.distributed)管理进程
  4. 所有 GPU 协同完成一次推理

最终:

16 GPU = 一个逻辑大GPU
更新于 2026-03-16
在线,9小时前登录

查看LLM更多相关的文章或提一个关于LLM的问题,也可以与我们一起分享文章