创建强化学习训练任务
更新时间:2024-10-25
强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能代理(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
强化学习主要是训练对象每一步如何进行决策,采用什么样的行动可以完成特定的目的或者使收益最大化。
登录到本平台,在左侧功能列偏好对齐RLHF训练中选择强化学习训练,进入强化学习训练主任务界面。
创建任务
您需要在强化学习训练任务界面,选择“创建训练任务”按钮。
基本信息
填写好作业名称后,再进行500字内的作业描述即可。
参数配置
-
选择大模型
- 预置大模型:ERNIE-Lite-8K-0308或ERNIE-Lite-128K
百度自主研发的大语言模型,覆盖海量中文数据,具有更强的对话问答、内容创作生成等能力,单条数据支持8192 tokens。ERNIE Lite的最新版本,对效果和性能都进行了优化。
- 预置大模型:ERNIE-Lite-8K-0308或ERNIE-Lite-128K
- 选择奖励模型:平台运行成功的奖励模型版本
在平台奖励模型的基础上,继续完成强化训练,训练出最大化靠近人类反馈的模型。 - 参数配置
超参数 | 描述 |
---|---|
迭代轮次 | 迭代轮次(Epoch),控制模型训练过程中遍历整个数据集的次数。建议设置在1-5之间,小数据集可增大Epoch以促进模型收敛。 |
Critic学习率 | Critic学习率(Learning Rate),是Critic模型在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
Actor学习率 | Actor学习率(Learning Rate),是Actor模型在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
序列长度 | 序列长度(Sequence Length),单条数据的最大长度,包括输入和输出。该长度在模型的训练和推理过程中全部适用,超过该长度的部分将在推理时自动截断,单位为token。如果数据集中的文本普遍较短,建议选择较短的序列长度以提高计算效率。 |
全局批大小 | 全局批大小(Global Batch Size),每次训练迭代使用的样本数,为了加快训练效率,多条样本会使用Packing尽可能拼接到一个序列长度内。 |
max_prompt_len_4k | max_prompt_len_4k (Prompt Length),单条数据输入的最大长度。该长度在模型的训练和推理过程中全部适用,超过该长度的部分将在推理时自动截断,单位为token。如果数据集中的文本普遍较短,建议选择较短的序列长度以提高计算效率。 |
max_length_4k | max_length_4k (response Length),单条数据输出的最大长度。该长度在模型的训练和推理过程中全部适用,超过该长度的部分将在推理时自动截断,单位为token。max_length调大会增加生成时间,并且增加显存占用。max_length+max_prompt_len应当小于序列长度。 |
clip_range_score | clip_range_score(Reward Clip),奖励分数裁剪阈值,用于限制actor和critic模型更新步幅,以保证模型更新的稳定性。调整该参数可以平衡模型更新的激进程度和训练稳定性。 |
clip_range_value | clip_range_value(PPO Critic Clip),用于限制critic模型预测新旧价值差值的裁剪阈值,以保证critic模型更新的稳定性。调整该参数可以平衡critic模型更新的激进程度和训练稳定性。 |
clip_range_ratio | clip_range_ratio(PPO Actor Clip),用于控制actor模型更新的幅度,新旧策略的比值被裁剪到(1-clip_range_ratio,1+clip_range_ratio)范围。调整该参数可以平衡actor模型更新的激进程度和训练稳定性。 |
保存日志间隔 | 保存日志间隔(Logging Interval),设定模型训练过程中记录日志的间隔步数。合理设置可以平衡日志记录的详细程度和存储、处理资源的消耗。 |
预热比例 | 预热比例(Learning Rate Warmup),训练初期学习率预热步数占用总的训练步数的比例。学习率预热可以提高模型稳定性和收敛速度。 |
正则化系数 | 正则化系数(Weight Decay),控制正则化项对模型参数的影响强度。适当增大系数可以增强正则化效果,防止过拟合,但过高的系数可能导致模型欠拟合。 |
top_p | top_p(Top P),用于控制模型生成文本时的创造性和随机性。调整 Top P 参数可以平衡文本的创新性和相关性。 |
验证步数 | 验证步数(Validation Steps),计算验证集Loss的间隔步数;为0时不开启验证,没有相关指标。 |
repetition_penalty | repetition_penalty(Repetition Penalty),用于减少语言模型在文本生成过程中对已出现词汇的重复使用,以提高文本的多样性和连贯性。微调该参数可以平衡文本的流畅性和创新性。 |
temperature | temperature(Temperature),用于调整语言模型输出概率分布的熵,影响生成文本的随机性和确定性。调整该参数可以平衡生成结果的确定性和多样性。 |
kl_coeff | kl_coeff(KL Coefficient),对reward增加增加KL-Penalty的系数。增大KL系数会使模型更紧密地逼近目标分布,减小生成文本的多样性;减小KL系数则允许模型生成更加多样化的文本,但可能偏离目标分布。 |
Checkpoint保存个数 | Checkpoint保存个数(Number of Checkpoint),训练过程最终要保存的Checkpoint个数。Checkpoint保存可以在系统故障时从最近的Checkpoint中恢复训练,但保存Checkpoint会增加训练时长。 |
Checkpoint保存间隔数 | Checkpoint保存间隔数(Checkpoint Interval),训练过程中保存Checkpoint的间隔Step数。间隔太短可能导致频繁的Checkpoint操作增加训练时长,间隔太长则可能在故障时丢失更多的数据。 |
随机种子 | 随机种子(Random Seed),是在随机数生成算法中设定的一个初始值,用于确保随机数生成的可重复性。通过设置随机种子,可以在相同的算法和参数下,生成相同的随机数序列。 |
学习率调整计划 | 学习率调整计划(Scheduler Type),用于在训练过程中动态调整学习率,以优化模型的收敛速度和性能。根据模型的训练情况和任务需求,选择合适的学习率调整方式。 |
cosine 策略的波数 | cosine 策略的波数(Period of Cosine),波数定义了余弦函数周期的长短。减少波数可以使模型训练过程稳定,增加波数可以避免陷入局部最优。 |
polynomial 策略的末端 LR | polynomial 策略的末端 LR(Polynomial Decay End Learning Rate),指的是在多项式衰减策略中,学习率下降到最后所达到的最小值。这个值通常设置得较低,该值若生效需要比学习率小,保证在模型训练后期实现细致的优化。 |
polynomial 策略的幂数 | polynomial 策略的幂数(Polynomial Decay Power),是指在多项式衰减学习率调整策略中,用于控制学习率下降曲线陡峭程度的指数。幂数越大,可以避免陷入局部最优;幂数越小,可以使模型训练过程稳定。 |
数据配置
选择奖励模型后,自动匹配训练数据集,您只需调整数据拆分比例即可。
建议数据集总条数在1000条以上,训练模型更加精准。
以上所有操作完成后,点击“确定”,则发起模型训练的任务。