搜索
中关村商情网 首页 IT业界 云计算 查看内容

阿里云PAI-灵骏大模型训练工具Pai-Megatron-Patch正式开源

2023-9-15 18:04| 发布者: admin| 查看: 9912| 评论: 0

摘要: 作者:李鹏,王明,施晨,黄俊 导读 随着深度学习大语言模型的不断发展,其模型结构和量级在快速演化,依托大模型技术的应用更是层出不穷。对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将大模型消耗 ...


4)离线推理

模型训练完成后,可以进行离线推理,评估模型效果。根据上面的训练流程不同,我们提供了 Megatron 格式的推理链路。对于 Megatron 训练的模型,可以直接用 Megatron 框架进行推理。


ENV=$1                          # 运行环境: dlc, dswMEGATRON_PATH=$2                # 设置开源Megatron的代码路径MEGATRON_PATCH_PATH=$3          # 设置Megatron Patch的代码路径CHECKPOINT_PATH=$4              # 模型微调阶段的模型保存路径MODEL_SIZE=$5                   # 模型结构参数量级: 1.1B, 1.7B, 7.1BTP=$6                           # 模型并行度BS=$7                           # 每卡推理一次迭代样本数: 1, 4, 8SEQ_LEN=$8                      # 序列长度: 256, 512, 1024PAD_LEN=$9                      # PAD长度:需要将文本拼接到的长度EXTRA_VOCAB_SIZE=${10}          # 模型转换时增加的token数量PR=${11}                        # 推理采用的精度: fp16, bf16TOP_K=${12}                     # 采样策略中选择排在前面的候选词数量(0-n): 0, 5, 10, 20INPUT_SEQ_LEN=${13}             # 输入序列长度: 512OUTPUT_SEQ_LEN=${14}            # 输出序列长度: 256INPUT_FILE=${15}                # 需要推理的文本文件: input.txt, 每行为一个样本OUTPUT_FILE=${16}               # 推理输出的文件: output.txt# TOP_K和TOP_P必须有一个为0TOP_P=${17}                     # 采样策略中选择排在前面的候选词百分比(0-1): 0, 0.85, 0.95TEMPERATURE=${18}               # 采样策略中温度惩罚: 1-nREPETITION_PENALTY=${19}        # 避免生成是产生大量重复,可以设置为(1-2)默认为1.2
复制代码


  • 此处提供一个离线推理输出的文件,推理的数据组织形式需要与微调时的保持一致。

  • 测试样本:


https://atp-modelzoo-wlcb-pai.oss-cn-wulanchabu.aliyuncs.com/release/models/

pai-megatron-patch/llama2-datasets/pred_input.jsonl


  • 注意:

  • 模型保存的路径下缺少 tokenizer 依赖的文件,需要将微调前模型路径下所有 json 文件及 tokenizer.model 拷贝至保存模型的路径下(位于{OUTPUT_BASEPATH }/checkpoint),与 latest_checkpointed_iteration.txt 同级。


以下有监督微调过程保存模型的推理代码,需要将 run_text_generation_megatron_llama.sh 脚本中 CUDA_VISIBLE_DEVICES 参数设置为 0;GPUS_PER_NODE 参数设置为 1;同时使用下列代码进行推理。此时使用单卡进行推理。注意:此处模型 tp 为 1,可使用单卡推理;如果 tp>1,则需使用相应卡数进行推理


export WORK_DIR=/mnt/workspacecd ${WORK_DIR}/PAI-Megatron-Patch/examples/llama2bash run_text_generation_megatron_llama.sh \dsw \/root/Megatron-LM-23.04 \${WORK_DIR}/PAI-Megatron-Patch \../../../llama2-train \7B \1 \1 \1024 \1024 \0 \fp16 \10 \512 \512 \${WORK_DIR}/pred_input.jsonl \${WORK_DIR}/llama2_pred.txt \0 \1.0 \1.2 \
复制代码


4.  大模型强化学习

一般来说,SFT 微调过的模型在对话场景已经会有不错的表现了。如果想进一步提升模型效果,可以再加上 RLHF 训练。包括奖励模型(Reward Model)的训练和强化学习(PPO)的训练。这里展示了如何使用当前最常用的 RLHF 开源代码框架,DeepSpeed-Chat 和 trlx,来进行奖励函数训练(RM),以及强化学习优化(PPO)。



鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部