下载
中文
注册

稠密模型

前期准备

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

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

  2. 请参见模型迁移的指导,完成模型迁移(基于1.0.RC3_core_r0.7.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/llama2/pretrain_llama2_70B_4k_tp2_pp2_vpp1_dp2.sh中的如下路径进行修改。
    CKPT_DIR=./ckpt_llama
    DATA_PATH="/home/dataset/llama2/alpaca_text_document"
    TOKENIZER_MODEL="/home/dataset/model/llama-2-7b-hf/tokenizer.model"

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

  2. 进入Megatron-LM目录,执行预训练脚本。
    cd {PATH_TO_MEGATRON_LM}
    bash tests_extend/system_tests/llama2/pretrain_llama2_70B_4k_tp2_pp2_vpp1_dp2.sh
上述脚本pretrain_llama2_70B_4k_tp2_pp2_vpp1_dp2.sh,包括但不限于以下并行与优化特性:
  • 并行配置
    --tensor-model-parallel-size              # 张量并行
    --pipeline-model-parallel-size            # 流水线并行
    --num-layers-per-virtual-pipeline-stage 1 # 每个虚拟流水线阶段的层数为1
    --sequence-parallel                       # 序列并行
  • 融合算子
    --use-flash-attn                          # Flash Attention融合算子
    --normalization RMSNorm                   # RMSNorm归一化
    --use-fused-rmsnorm                       # RMSNorm融合算子
    --swiglu                                  # SwiGLU激活函数
    --use-fused-swiglu                        # SwiGLU融合算子