AI开发平台MODELARTS-SFT微调训练任务:Step1 修改训练超参配置
Step1 修改训练超参配置
SFT微调脚本qwen.sh,存放在xxx-Ascend/llm_train/AscendSpeed/scripts/qwen目录下。训练前,可以根据实际需要修改超参配置。
微调任务配置,操作同预训练配置类似,不同点为RUN_TYPE类型不同,以及输入输出路径的配置的不同。SFT微调的计算量与预训练基本一致,故配置可以与预训练相同。
参数 |
示例值 |
参数说明 |
---|---|---|
DATASET_PATH |
/home/ma-user/ws/processed_for_ma_input/Qwen-14B/data/finetune/alpaca_ft |
必填。训练时指定的输入数据路径。一般为数据地址/处理后的数据前缀名,不加文件类型后缀。 请根据实际规划修改。 |
TOKENIZER_PATH |
/home/ma-user/ws/tokenizers/Qwen-14B |
必填。加载tokenizer时,tokenizer存放地址。请根据实际规划修改。 |
MODEL_TYPE |
14B |
必填。模型加载类型,根据实际填写7B、14B或72B。 |
TRAIN_ITERS |
300 |
非必填。训练迭代周期。根据实际需要修改。 |
MBS |
2 |
非必填。表示流水线并行中一个micro batch所处理的样本量。在流水线并行中,为了减少气泡时间,会将一个step的数据切分成多个micro batch。 该值与TP和PP以及模型大小相关,可根据实际情况进行调整。默认值为2。取值建议如下:
|
GBS |
64 |
非必填。表示训练中所有机器一个step所处理的样本量。影响每一次训练迭代的时长;对于PP(流水线并行)值大于1的场景,适当增大GBS值吞吐性能会有所提升。 |
TP |
8 |
非必填。表示张量并行。默认值为8,取值建议:
|
PP |
1 |
非必填。表示流水线并行。默认值为1,取值建议:
|
RUN_TYPE |
sft |
必填。表示训练类型。sft表示SFT微调。 |
MASTER_ADDR |
localhost |
多机必填。主节点IP地址,多台机器中指定一个节点IP为主节点IP。 一般指定第一个节点IP为主节点IP。 |
NNODES |
1 |
多机必填。节点总数,如为双机,则写2。单机默认是1。 |
NODE_RANK |
0 |
多机必填。节点序号,当前节点ID,一般从0开始。单机默认是0。以Qwen-72B 5机训练为例,节点ID依次为(0 1 2 3 4);一般ID为0的节点设置为主节点IP。 |
MODEL_PATH |
/home/ma-user/ws/processed_for_ma_input/Qwen-14B/converted_weights |
必填。加载的权重文件路径。SFT微调权重转换章节中将HuggingFace格式转化为Megatron格式的权重文件。 |
WORK_DIR |
/home/ma-user/ws |
非必填。容器的工作目录,训练的权重文件保存在此路径下。默认值为:/home/ma-user/ws。 |
SEQ_LEN |
4096 |
非必填。默认值为4096。 |