简介 || 什么是 DDP || 单节点多 GPU 训练 || 容错 || 多节点训练 || minGPT 训练
使用 DDP 训练“真实世界”模型¶
创建日期:2022 年 9 月 27 日 | 最后更新:2025 年 1 月 23 日 | 最后验证:2024 年 11 月 5 日
观看下方视频或在 youtube 上跟随学习。
在本视频中,我们将回顾多节点 DDP 中训练 GPT 模型的过程。我们首先克隆 minGPT 仓库,并重构 Trainer 使其类似于本系列中使用的结构。观看视频了解这些更改的详细信息。
我们使用 hydra 集中管理训练运行的所有配置。代码重构完成后,我们首先在带有 4 个 GPU 的单节点上运行它,然后在 slurm 集群上运行。
用于训练的文件¶
trainer.py 包含 Trainer 类,该类使用提供的数据集在模型上运行分布式训练迭代。
model.py 定义了模型架构。
char_dataset.py 包含用于字符级别数据集的
Dataset
类。gpt2_train_cfg.yaml 包含数据、模型、优化器和训练运行的配置。
main.py 是训练任务的入口点。它设置 DDP 进程组,读取所有配置并运行训练任务。
从云端保存和加载¶
在上面的视频中,我们将训练快照直接保存到云端。这使得我们可以灵活地从任何可以访问云存储桶的节点继续训练。