训练设置

参数解析

DeepSpeed 使用 argparse 库来为 DeepSpeed 运行时提供命令行配置。使用 deepspeed.add_config_arguments() 将 DeepSpeed 的内置参数添加到应用程序的解析器。

parser = argparse.ArgumentParser(description='My training script.')
parser.add_argument('--local_rank', type=int, default=-1,
                    help='local rank passed from distributed launcher')
# Include DeepSpeed configuration arguments
parser = deepspeed.add_config_arguments(parser)
cmd_args = parser.parse_args()

训练初始化

所有 DeepSpeed 训练的入口点是 deepspeed.initialize()。如果尚未初始化,它将初始化分布式后端。

使用示例

model_engine, optimizer, _, _ = deepspeed.initialize(args=cmd_args,
                                                     model=net,
                                                     model_parameters=net.parameters())

分布式初始化

可选的分布式后端初始化,独立于 deepspeed.initialize()。在用户希望在调用 deepspeed.initialize() 之前使用 torch 分布式调用(例如,在使用模型并行、流水线并行或某些数据加载器场景时)的情况下很有用。