模型迁移
按照如下步骤操作,即可实现Megatron-LM在昇腾设备上的高效运行,且无缝集成并充分发挥MindSpeed所提供的丰富加速与优化技术。
- 在“Megatron-LM”目录下修改“pretrain_gpt.py”文件,在“import torch”下新增一行“import mindspeed.megatron_adaptor”代码,如下黑体加粗部分。
import os import torch import mindspeed.megatron_adaptor from torch import Tensor from functools import partial from typing import Union
- 在“Megatron-LM”目录下修改“pretrain_gpt.py”文件,在“model_provider”函数中删除“assert(args.context_parallel_size == 1), "Context parallelism is only supported with Megatron Core!"”代码,如下黑体加粗部分。
else: assert(args.context_parallel_size == 1), "Context parallelism is only supported with Megatron Core!" model = megatron.legacy.model.GPTModel( config, num_tokentypes=0, parallel_output=True, pre_process=pre_process, post_process=post_process )
- 在“Megatron-LM”目录下,参考Megatron-LM官方文档准备好训练数据,并在示例脚本中填写对应路径,然后执行以下命令。
bash examples/pretrain_gpt_distributed.sh