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