一、多卡并行方式
多卡并行方式,主要分为张量并行(Tensor Parallelism)和数据并行(Data Parallelism)。
- 张量并行通过将模型的权重矩阵按特定维度切分,分布到多个GPU上并行计算,每个GPU只处理部分参数,通过通信操作(如AllGather)合并结果;
- 而数据并行则是每个GPU保留完整模型副本,但独立处理不同的输入数据批次。
VLLM多卡并行主要依赖 张量并行(Tensor Parallelism) 实现模型分布式推理。因此我们采用这种方案。
二、关键配置参数与策略
| 参数 | 作用说明 | 推荐值 |
|---|---|---|
| CUDA_VISIBLE_DEVICES | 为当前进程划定可使用的GPU范围 | 0,1,2,3 根据GPU显卡数量设定 |
| –tensor-parallel-size | 指定GPU并行数量(需与CUDA_VISIBLE_DEVICES数量一致) | 2/4/8(根据模型规模调整) |
| –gpu-memory-utilization | 显存利用率阈值(0.9~0.95为高负载场景推荐) | 0.7~0.95 |
| –max-model-len | 最大输入长度(需根据GPU显存动态调整) | 4096~16384 |
示例:
CUDA_VISIBLE_DEVICES=0,1,2,3 \
vllm serve /path/to/model \
--tensor-parallel-size 4 \
--gpu-memory-utilization 0.9
三、 高级优化策略(可选)
(1)通信优化
NCCL配置:
- 确保NCCL版本≥2.14(支持自动拓扑检测)
- 设置环境变量提升带宽:
export NCCL_ALGO=Tree
export NCCL_SOCKET_IFNAME=eth0 # 指定高速网络接口
硬件拓扑适配:
- 优先使用NVLink互联的GPU组(通过nvidia-smi topo -m查看连接方式)
- 避免跨PCIe Switch的GPU分配(延迟增加30%+)
(2)显存管理
- 大模型低显存 启用–swap-space 16G(利用主机内存扩展交换空间)
- 长序列推理 降低–gpu-memory-utilization至0.7~0.8,避免OOM
- 动态批处理 默认启用(无需配置),通过–max-num-seqs 256控制并发量

6197

被折叠的 条评论
为什么被折叠?



