Distributed Training and Reasoning Optimization of LLM
Sufficient memory: Can we go faster? 1
- 数据并行 (Data Parallelism - DP)
Memory is a constraint. What to do? 2. 模型并行 (Model Parallelism - MP)
- 张量并行 (Tensor Parallelism - TP)
- 流水线并行 (Pipeline Parallelism - PP)
- 序列与上下文并行 (Sequence & Context Parallelism)
- 序列并行 (Sequence Parallelism - SP)
- 上下文并行 (Context Parallelism - CP)
- 专家并行 (Expert Parallelism - EP)
- TPx (2D 张量并行 - 维1):将模型权重和输入数据在模型维度(hidden dimension)上进行切分 。
- TPy (2D 张量并行 - 维2):将输入数据在序列长度(sequence length)维度上进行切分,与 TPx 共同构成 2D 张量并行,减少冗余并提高内存效率 。
- SP (序列并行 - Sequence Parallelism):通过 AlltoAll 操作将切分维度从序列轴转置到注意力头(attention head)轴,使每个设备独立处理部分注意力头 。
- CP (上下文并行 - Context Parallelism):在处理长序列时,通过环形(ring-based)通信在多个设备间切分并同步序列上下文 。
- DP (数据并行 - Data Parallelism):将训练数据(mini-batch)切分到不同设备上,每个设备维护模型的一个副本(或通过 ZeRO 进行分片)并同步梯度 。
- PP (流水线并行 - Pipeline Parallelism):将模型的不同层(layers)分布在不同的设备阶段,数据以微批次(micro-batches)形式在层间流水化执行 。
- EP (专家并行 - Expert Parallelism):针对 MoE(混合专家)模型,将不同的专家分配到不同设备,每个 Token 根据路由算法发送至对应的专家进行计算 。
SP 和 CP 的主要区别在于 SP 需要切分权重
