AI开发平台MODELARTS-断点续训练:断点续训练操作过程

时间:2024-11-05 09:54:17

断点续训练操作过程

GLM3-6B的断点续训脚本glm3_base.sh,存放在“xxx-Ascend/llm_train/AscendSpeed/scripts/glm3”目录下。

  1. 执行命令如下,进入AscendSpeed代码目录。xxx-Ascend请根据实际目录替换。
    cd /home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/  
  2. 修改断点续训练参数。断点续训前,需要在原有训练参数配置表1中新加“MODEL_PATH”参数,并修改“TRAIN_ITERS”参数和“RUN_TYPE”参数。
    表1 断点续训练修改参数

    参数

    参考值

    参数说明

    MODEL_PATH

    /home/ma-user/ws/saved_dir_for_ma_output/GLM3-6B/pretrain

    必填。加载上一步预训练后保存的权重文件。

    请根据实际规划修改。

    TRAIN_ITERS

    300

    必填。表示训练周期,必须大于上次保存训练的周期次数。

    RUN_TYPE

    retrain

    必填。训练脚本类型,retrain表示断点续训练。

  3. 在AscendSpeed代码目录下执行断点续训练脚本。
    单机启动
    MODEL_TYPE=6B RUN_TYPE=retrain DATASET_PATH=/home/ma-user/ws/processed_for_ma_input/GLM3-6B/data/pretrain/alpaca_text_document TOKENIZER_PATH=/home/ma-user/ws/tokenizers/GLM3-6B MODEL_PATH=/home/ma-user/ws/saved_dir_for_ma_output/GLM3-6B/pretrain TRAIN_ITERS=300 MBS=1 GBS=64 TP=2 PP=4 SEQ_LEN=8192 WORK_DIR=/home/ma-user/ws sh scripts/glm3/glm3_base.sh

    多机启动

    以GLM3-6B为例,多台机器执行训练启动命令如下。多机启动需要在每个节点上执行,以双机为例。

    #第一台节点
    MASTER_ADDR=xx.xx.xx.xx NNODES=2 NODE_RANK=0 MODEL_TYPE=6B  RUN_TYPE=retrain DATASET_PATH=/home/ma-user/ws/processed_for_ma_input/GLM3-6B/data/pretrain/alpaca_text_document TOKENIZER_PATH=/home/ma-user/ws/tokenizers/GLM3-6B MODEL_PATH=/home/ma-user/ws/saved_dir_for_ma_output/GLM3-6B/pretrain TRAIN_ITERS=300 MBS=2 GBS=128 TP=2 PP=8 SEQ_LEN=8192 WORK_DIR=/home/ma-user/ws sh scripts/glm3/glm3_base.sh
    ...
    # 第二台节点 
    MASTER_ADDR=xx.xx.xx.xx NNODES=2 NODE_RANK=1 MODEL_TYPE=6B  RUN_TYPE=retrain DATASET_PATH=/home/ma-user/ws/processed_for_ma_input/GLM3-6B/data/pretrain/alpaca_text_document TOKENIZER_PATH=/home/ma-user/ws/tokenizers/GLM3-6B MODEL_PATH=/home/ma-user/ws/saved_dir_for_ma_output/GLM3-6B/pretrain TRAIN_ITERS=300 MBS=2 GBS=128 TP=2 PP=8 SEQ_LEN=8192 WORK_DIR=/home/ma-user/ws sh scripts/glm3/glm3_base.sh
    以上命令多台机器执行时,只有${NODE_RANK}的节点ID值不同,其他参数都保持一致;其中MASTER_ADDR、NODE_RANK、MODEL_TYPE 、RUN_TYPE、DATASET_PATH、TOKENIZER_PATH、MODEL_PATH为必填;TRAIN_ITERS、MBS、GBS、TP、PP、WORK_DIR、SEQ_LEN为非必填,有默认值。
    图1 保存的ckpt
  4. 训练完成后,可以参考查看日志和性能操作,查看断点续训练日志和性能。
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1679.html