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