模型迁移

按照如下步骤操作,即可实现Megatron-LM在昇腾设备上的高效运行且无缝集成并充分发挥MindSpeed所提供的丰富加速与优化技术。

  1. “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
  2. “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
            )
  3. “Megatron-LM”目录下,参考Megatron-LM官方文档准备好训练数据,并在示例脚本中填写对应路径,然后执行以下命令。
    bash examples/pretrain_gpt_distributed.sh

更多模型迁移实例请参考模型迁移最佳实践