下载
中文
注册

混合专家模型(MoE)

前期准备

  1. 请参见软件安装完成MindSpeed安装。

    融合算子使能要求安装CANN NNAL,即ATB加速库(Ascend Transformer Boost)。

  2. 请参见模型迁移的指导,完成模型迁移(基于1.0.RC3_core_r0.6.0分支)。
  3. MindSpeed目录下的tests_extend文件夹复制到Megatron-LM目录下。
    # {PATH_TO_MEGATRON_LM}: the root path of `Megatron-LM`
    cp -r MindSpeed/tests_extend {PATH_TO_MEGATRON_LM}

操作步骤

  1. “Megatron-LM”目录下,对预训练脚本tests_extend/system_tests/gpt/pretrain_gpt_megatron_moe_8k.sh中的如下路径进行修改。
    CHECKPOINT_PATH=./ckpt_gpt
    VOCAB_FILE=/home/dataset/enwiki/gpt2-vocab.json
    MERGE_FILE=/home/dataset/enwiki/gpt2-merges.txt
    DATA_PATH=/home/dataset/enwiki/my-t5_text_sentence

    以上路径请根据实际情况进行替换。

  2. 进入Megatron-LM目录,执行预训练脚本。
    cd {PATH_TO_MEGATRON_LM}
    bash tests_extend/system_tests/gpt/pretrain_gpt_megatron_moe_8k.sh
上述脚本pretrain_gpt_megatron_moe_8k.sh,包括但不限于以下并行与优化特性:
  • 并行配置
    --tensor-model-parallel-size      # 张量并行
    --pipeline-model-parallel-size    # 流水线并行
    --sequence-parallel               # 序列并行
  • 融合算子
    --use-flash-attn                  # Flash Attention融合算子
    --position-embedding-type rope    # RoPE位置嵌入
    --use-fused-rotary-pos-emb        # RoPE融合算子
  • MoE特性
    --moe-model-type megatron_moe    # 使用megatron moe模型
    --num_experts  4                 # 专家数量
    --expert-model-parallel-size     # 专家并行