# 数据集和模型下载



```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
```







