创建奖励模型训练任务
更新时间:2024-11-14
奖励模型训练是一种强化学习技术,用于根据人类反馈来学习如何更好地进行决策,从而获得更高的累积奖励值。
在强化学习中,智能体通过不断地与环境进行交互,从中获得一定的奖励值。奖励模型可以描述和计算每一次交互中智能体获得的奖励值,并且根据这些奖励值,智能体可以学习到如何更好地进行决策,从而获得更高的累积奖励值。
奖励模型是强化学习中的一个重要概念,它直接影响智能体的学习效果和行为表现。
登录到本平台,在左侧功能列偏好对齐RLHF训练中选择奖励模型训练,进入奖励模型训练主任务界面。
创建任务
您需要在奖励模型训练任务界面,选择“创建训练作业”按钮。
基本信息
填写好作业名称后,再进行500字内的作业描述即可。
训练配置
训练配置大模型参数,调整好基本配置。
- 在奖励模型训练任务中,可以选择开启增量训练开关。需注意的是,基准模型为“全量更新”训练出来的模型,才支持开启此开关。
注意:基础模型继承基准模型的版本,所以当您选定基准模型后,基础模型及版本不可变更。由于大模型权重占用较大存储,只能选择三个月内训练的模型发起增量训练。
- 若基准模型有保存Checkpoint的最新的Step,则显示 【名称+版本+Step】。
- 您也可以选择直接不使用增量训练,这样直接在基础模型上进行训练。
在您选定基础模型ERNIE-Lite-8K-0308或ERNIE-Lite-128K后,按自身需求填写以下参数。
超参数 | 描述 |
---|---|
迭代轮次 | 迭代轮次(Epoch),控制模型训练过程中遍历整个数据集的次数。建议设置在1-5之间,小数据集可增大Epoch以促进模型收敛。 |
学习率 | 学习率(Learning Rate),控制模型参数更新步长的速度。过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
序列长度 | 序列长度(Sequence Length),单条数据的最大长度,包括输入和输出。该长度在模型的训练和推理过程中全部适用,超过该长度的部分将在推理时自动截断,单位为token。如果数据集中的文本普遍较短,建议选择较短的序列长度以提高计算效率。 |
全局批大小 | 全局批大小(Global Batch Size),每次训练迭代使用的样本数,为了加快训练效率,多条样本会使用Packing尽可能拼接到一个序列长度内。 |
useCls | 特征是否选取cls token的位置 |
预热比例 | 预热比例(Learning Rate Warmup),训练初期学习率预热步数占用总的训练步数的比例。学习率预热可以提高模型稳定性和收敛速度。 |
正则化系数 | 正则化系数(Weight Decay),控制正则化项对模型参数的影响强度。适当增大系数可以增强正则化效果,防止过拟合,但过高的系数可能导致模型欠拟合。 |
伪多轮概率 | 伪多轮概率(Pseudo Multi-Round Probability),随机采用数据拼接的数据增强策略的概率。 |
随机种子 | 随机种子(Random Seed),是在随机数生成算法中设定的一个初始值,用于确保随机数生成的可重复性。通过设置随机种子,可以在相同的算法和参数下,生成相同的随机数序列。 |
学习率调整计划 | 学习率调整计划(Scheduler Type),用于在训练过程中动态调整学习率,以优化模型的收敛速度和性能。根据模型的训练情况和任务需求,选择合适的学习率调整方式。 |
cosine 策略的波数 | cosine 策略的波数(Period of Cosine),波数定义了余弦函数周期的长短。减少波数可以使模型训练过程稳定,增加波数可以避免陷入局部最优。 |
polynomial 策略的末端 LR | polynomial 策略的末端 LR(Polynomial Decay End Learning Rate),指的是在多项式衰减策略中,学习率下降到最后所达到的最小值。这个值通常设置得较低,该值若生效需要比学习率小,保证在模型训练后期实现细致的优化。 |
验证步数 | 验证步数(Validation Steps),计算验证集Loss的间隔步数;为0时不开启验证,没有相关指标。 |
polynomial 策略的幂数 | polynomial 策略的幂数(Polynomial Decay Power),是指在多项式衰减学习率调整策略中,用于控制学习率下降曲线陡峭程度的指数。幂数越大,可以避免陷入局部最优;幂数越小,可以使模型训练过程稳定。 |
数据配置
训练任务的选择数据及相关配置,奖励模型训练任务匹配多轮对话-多Response的数据集。
建议数据集总条数在1000条以上,训练模型更加精准。
数据集来源可以为千帆平台已发布的数据集版本,也可以为已有数据集的BOS地址,如果平台没有您准备好的训练数据,您可以选择创建数据集并发布。
若数据集保存在BOS中,请勿在提交任务后修改BOS数据。修改后可能会导致任务失败!
需注意:当选择BOS目录导入数据集时,数据放在jsonl文件夹下。您需要选择jsonl的父目录:
- RLHF支持单轮对话、多轮对话有排序数据。
- SFT支持单轮对话,多轮对话需要有标注数据。
- BOS目录导入数据要严格遵守其格式要求,如不符合此格式要求,训练作业无法成功开启。
百度BOS服务开通申请。
以上所有操作完成后,点击“开始训练”,则发起模型训练的任务。