29.1.3 数据预处理、预训练循环与检查点#
Megatron-LM 的端到端预训练是一条三段式流水线,tools/preprocess_data.py把 JSONL 语料分词后写成mmap的.bin/.idx二进制索引数据集;pretrain_gpt.py通过pretrain() → train() → train_step()三层调用,把取批、前向反向、梯度归约、优化器步进、日志组织成一个按迭代滚动的循环,其中真正跨流水级驱动前向反向的是get_forward_backward_func()返回的调度函数;训练产物则以dist_checkpointing的分片检查点(sharded checkpoint)落盘,可在任意并行切分下恢复,并经tools/checkpoint/convert.py在 HuggingFace 与 mcore 两种格式间转换。