[ PROMPT_NODE_22310 ]
training-llms-megatron
[ SKILL_DOCUMENTATION ]
# Megatron-Core - 大规模 LLM 训练
## 快速开始
Megatron-Core 通过先进的并行策略,在 H100 GPU 上以高达 47% 的模型 FLOP 利用率训练从 2B 到 462B 参数的 LLM。
**安装**:
bash
# Docker (推荐)
docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:25.04-py3
# 或 pip
pip install megatron-core
**简单的分布式训练**:
bash
# 使用数据并行在 2 个 GPU 上训练
torchrun --nproc_per_node=2 examples/run_simple_mcore_train_loop.py
# 或 LLaMA-3 8B 训练
./examples/llama/train_llama3_8b_fp8.sh
## 常见工作流
### 工作流 1:使用 3D 并行训练 LLaMA 风格模型
复制此清单:
LLaMA 训练设置:
- [ ] 第 1 步:选择并行配置
- [ ] 第 2 步:配置训练超参数
- [ ] 第 3 步:启动分布式训练
- [ ] 第 4 步:监控性能指标
**第 1 步:选择并行配置**
模型大小决定并行策略:
| 模型大小 | GPU | 张量并行 | 流水线并行 | 数据并行 | 上下文并行 |
|------------|------|-----------------|-------------------|---------------|------------------|
| 7B | 8 | 1 | 1 | 8 | 1 |
| 13B | 8 | 2 | 1 | 4 | 1 |
| 70B | 64 | 4 | 4 | 4 | 1 |
| 405B | 128 | 8 | 8 | 2 | 2 |
**第 2 步:配置训练超参数**
bash
#!/bin/bash
# train_llama_70b.sh
GPUS_PER_NODE=8
NNODES=8 # 总共 64 个 GPU
TP=4 # 张量并行
PP=4 # 流水线并行
CP=1 # 上下文并行
# LLaMA 70B 配置
MODEL_SIZE=70 # 十亿参数
HIDDEN_SIZE=8192
NUM_LAYERS=80
NUM_HEADS=64
SEQ_LENGTH=4096
# 训练超参数
MICRO_BATCH=1
GLOBAL_BATCH=1024
LR=3e-4
torchrun
--nproc_per_node=$GPUS_PER_NODE
--nnodes=$NNODES
pretrain_gpt.py
--tensor-model-parallel-size $TP
--pipeline-model-parallel-size $PP
--context-parallel-size $CP
--sequence-parallel
--num-layers $NUM_LAYERS
--hidden-size $HIDDEN_SIZE
--num-attention-heads $NUM_HEADS
--seq-length $SEQ_LENGTH
--max-position-embeddings $SEQ_LENGTH
--micro-batch-size $MICRO_BATCH
--global-batch-size $GLOBAL_BATCH
--lr $LR
--train-iters 100000
--lr-decay-style cosine
--lr-warmup-iters 2000
--weight-decay 0.1
--clip-grad 1.0
--bf16
--use-mcore-models
--transformer-impl transformer_engine
--data-path /path/to/data
--vocab-file /path/to/vocab.json
--merge-file /path/to/merges.txt
**第 3 步:启动**