训练设置

参数解析

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分布式调用的情况下非常有用,例如在使用模型并行、管道并行或某些数据加载器场景时。