取舍在通信与切法
并行策略的取舍主要在通信与切法上:一种把单层内部切开,通信频繁但负载均衡;另一种按层段切分,通信较少但存在流水气泡。实践里常见的组合是机内用前者、跨机用后者,各承担一个维度。选之前先看机器形态与卡间互联方式。
基本信息
| 适用平台 | 多卡与多机部署的推理服务 |
|---|---|
| 切分对象 | 单层内部或模型层段 |
| 通信特征 | 层内切分通信频繁,层段切分通信较少 |
| 参数约束 | 两种并行度的乘积等于总卡数 |
| 选择依据 | 卡间互联方式与是否需要跨机 |
两种策略对照
| 维度 | 层内切分 | 层段切分 |
|---|---|---|
| 切分对象 | 单层权重与计算 | 模型层段 |
| 通信频率 | 每层每步 | 层段边界 |
| 主要代价 | 通信开销 | 流水气泡 |
| 适配场景 | 机内高速互联 | 跨机扩展 |
典型使用场景
- 单机多卡:优先用层内切分吃高速互联
- 跨机扩展:用层段切分承担节点维度
- 显存不足:两种方式都能降低单卡占用,代价不同
- 容量评估:并行度变化会改变可承载的并发
- 回归验证:并行配置变更后重跑基准,确认没有退化
- 参数留档:并行配置与部署形态绑定记录,回滚时不必重新推导
组合参数要对齐:核对引擎日志里的总进程数与各卡负载是否符合预期。
并行度不是越大越好:切分越细,通信与同步开销的占比越高,小模型上尤其明显。
把并行配置纳入部署模板:不同机器形态用不同组合,混用很容易启动失败。
参与进程越多,同步等待越明显:切分带来的通信与同步成本随进程数上升,定并行度时要一并算进去。