如何提交 DeepSpeed 训练任务¶
根据 DeepSpeed 官方文档,我们推荐使用修改代码的方式实现。
即使用 deepspeed.init_distributed()
代替 torch.distributed.init_process_group(...)
。 然后运行命令使用 torchrun
,提交为 Pytorch 分布式任务,既可运行 DeepSpeed 任务。
是的,你可以使用 torchrun
运行你的 DeepSpeed 训练脚本。 torchrun
是 PyTorch 提供的一个实用工具,用于分布式训练。你可以结合 torchrun
和 DeepSpeed API 来启动你的训练任务。
以下是一个使用 torchrun
运行 DeepSpeed 训练脚本的示例:
-
编写训练脚本:
train.pyimport torch import deepspeed from torch.utils.data import DataLoader # 模型和数据加载 model = YourModel() train_dataset = YourDataset() train_dataloader = DataLoader(train_dataset, batch_size=32) # 配置文件路径 deepspeed_config = "deepspeed_config.json" # 创建 DeepSpeed 训练引擎 model_engine, optimizer, _, _ = deepspeed.initialize( model=model, model_parameters=model.parameters(), config_params=deepspeed_config ) # 训练循环 for batch in train_dataloader: loss = model_engine(batch) model_engine.backward(loss) model_engine.step()
-
创建 DeepSpeed 配置文件:
-
使用
torchrun
或者baizectl
运行训练脚本:通过这种方式,你可以结合 PyTorch 的分布式训练功能和 DeepSpeed 的优化技术,从而实现更高效的训练。 您可以在 Notebook 中,使用
baizectl
提交命令: