# 数据集和模型下载 ```bash #数据下载地址 wget https://hf-mirror.com/datasets/shibing624/AdvertiseGen/resolve/main/train.json wget https://hf-mirror.com/datasets/shibing624/AdvertiseGen/resolve/main/dev.json #项目目录Pai-Megatron-Patch/examples/all_tokenizer/chatglm_tokenizer提供了chatglm模型的tokenizer,可以从头pretrain,也可以将PRETRAIN_CHECKPOINT_PATH改成baichuan2模型路径进行训练 ``` # 模型训练流程 **官方只做了TP1 PP1的支持** 运行run-pretrain.sh脚本,需要传入的参数列表如下 ``` ENV=$1 # 运行环境: dlc, dsw MEGATRON_PATH=$2 # 设置项目代码路径 MODEL_SIZE=$3 # 模型结构参数量级:6B BATCH_SIZE=$4 # 每卡训练一次迭代样本数 GLOBAL_BATCH_SIZE=$5 # 全局batch size LR=$6 # 学习率: 1e-5, 5e-5 MIN_LR=$7 # 最小学习率: 1e-6, 5e-6 S_T_SEQ_LEN=$8 # 序列长度 PAD_LEN=$9 # Padding长度 EXTRA_VOCAB_SIZE=${10} # 词表扩充大小 PR=${11} # 训练精度: fp16, bf16 TP=${12} # 模型并行度 PP=${13} # 流水并行度 AC=${14} # 激活检查点模式: sel, full DO=${15} # 是否使用Megatron版Zero-1降显存优化器: true, false FL=${16} # 是否使用Flash Attention: true, false SP=${17} # 是否使用序列并行: true, false SAVE_INTERVAL=${18} # 保存ckpt的间隔 TRAIN_DATASET_PATH=${19} # 训练数据集路径 VALID_DATASET_PATH={20} # 验证数据集路径 PRETRAIN_CHECKPOINT_PATH=${21} # 预训练模型路径 TRAIN_TOKENS=${22} # 训练token数 WARMUP_TOKENS=${23} # 预热token数 OUTPUT_BASEPATH=${24} # 训练输出文件路径 ``` ``` #这里建议用transformers==4.38 #在run_pretrain_megatron_chatglm-dcu.sh设置好使用卡号和卡数后可以直接运行: sh run-pretrain.sh ```