# 并行策略指南
Megatron-Core 并行化完整指南:何时使用何种策略、性能特征及配置示例。
## 并行类型
### 1. 数据并行 (Data Parallel, DP)
**工作原理**:在每个 GPU 上复制完整模型,拆分数据批次,同步梯度。
**内存**:效率低 - 完整模型复制
**通信**:低 - 仅梯度同步 (all-reduce)
**可扩展性**:适用于小模型
**适用场景**:
- 参数量 10B 的模型
- 拥有 NVLink 连接的 GPU
- 单节点内(跨节点网络延迟会严重影响性能)
**配置**:
bash
# 使用 TP 将模型拆分到 4 个 GPU
torchrun --nproc_per_node=4 train.py
--tensor-model-parallel-size 4
**性能**:
- **1 节点 (8 GPU, NVLink)**: 85-95% 效率
- **跨节点**: <50% 效率(应避免)
**内存节省**:
LLaMA 70B 不使用 TP: 140GB (无法放入 80GB GPU)
LLaMA 70B 使用 TP=4: 每个 GPU 35GB (轻松放入)
**通信量** (70B 模型):
- 每层: ~20GB all-reduce
- 80 层 × 20GB = 1.6TB 总流量
- 使用 NVLink (600GB/s): 可控
- 使用以太网 (100Gb/s = 12.5GB/s): 太慢
### 3. 流水线并行 (Pipeline Parallel, PP)
**工作原理**:将模型层划分为多个阶段,分配给不同的 GPU,并在流水线中处理微批次 (microbatches)。
**内存**:非常高 - 均匀划分层
**通信**:低至中 - 仅阶段间的激活值传输
**可扩展性**:跨节点效果良好
**流水线调度**:
**GPipe** (简单但效率低):
GPU0: F F F F ........ B B B B
GPU1: .... F F F F .... B B B B
GPU2: ........ F F F F B B B B
气泡 (Bubble): 50% 空闲时间
**1F1B** (一前向一后向):
GPU0: F F F F B B B B B B B B
GPU1: .. F F F F B B B B B B B B
GPU2: .... F F F F B B B B B B B
数据来源:claude-code-templates(MIT),中文翻译由 AI 生成。详见关于我们。