创建RFT任务
OpenAI提出Reinforcement Fine-Tuning(RFT),RFT的核心是通过自动化生成的奖励信号驱动模型优化,让模型通过多轮试错和反馈逐步提升推理能力。不需要单独训练奖励模型,通过Grader对输出打分,作为奖励信号优化模型权重。
登录到本平台,在创建精调作业中选择RFT,进入RFT创建界面。
创建任务
进入到创建精调作业后,选择偏好对齐下的RFT训练方法。
基本信息
填写基础的作业名称及作业描述。并选择基础模型及模型版本。
训练配置
在RFT训练中,需要配置奖励规则,奖励规则中定义了如何评估模型输出效果的规则。目前预置三种奖励规则:
- 字符串比较(相等):通过对比语料的Response和模型的输出是否一致来判断模型的效果,适合需要大模型输出标签、数值等比较明确的场景。完全匹配1分,哈希匹配阈值>0.3 得0.5分,否则0分。
- 字符串比较(包含):通过对比模型的输出中是否包括准备语料的Response判断模型的效果。
- 字符串相似度对比:通过Edit Distance衡量语料的Response和模型的输出的相似度来判断模型的效果。
- 数学答案匹配:使用正则表达从模型的输出中抽取答案,和语料的Response对比是否一致。适合数学题计算等类似的场景。
另外,强化学习方法支持GRPO及PPO两种方式:
- Group Relative Policy Optimization(GRPO),采用群组采样方法,并使用更保守的策略更新方式,在训练中具备更高的效率。DeepSeekMath模型训练中使用了GRPO。
- Proximal Policy Optimization(PPO),是一种策略梯度方法,通过裁剪(clipping)机制来限制策略更新的幅度,从而防止策略发生过大的破坏性变化。
DeepSeek
DeepSeek是杭州深度求索人工智能基础技术研究有限公司研发的通用AI模型。在知识问答、代码生成、数学计算等方面具备优秀的能力。
DeepSeek-R1-Distill-Qwen-14/7B
DeepSeek-R1-Distill-Qwen-14B和DeepSeek-R1-Distill-Qwen-7B单条数据分别支持16k tokens和4k tokens。DeepSeek-R1-Distill-Qwen-14/7B是DeepSeek基于Qwen2.5蒸馏得到的。
训练方法 | 简单描述 |
---|---|
全量更新 | 在训练过程中对大模型的全部参数进行更新,可以充分利用训练数据,有潜力在新任务上达到更好的性能。 |
- 参数配置
超参数 | 简单描述 |
---|---|
迭代轮次 | 迭代轮次(Epoch),控制模型训练过程中遍历整个数据集的次数。建议设置在1-5之间,小数据集可增大Epoch以促进模型收敛。 |
Critic学习率 | Critic学习率(Learning Rate),是Critic模型在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
Actor学习率 | Actor学习率(Learning Rate),是Actor模型在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
序列长度 | 序列长度(Sequence Length),单条数据的最大长度,包括输入和输出。该长度在模型的训练和推理过程中全部适用,超过该长度的部分将在推理时自动截断,单位为token。如果数据集中的文本普遍较短,建议选择较短的序列长度以提高计算效率。 |
全局批大小 | 全局批大小(GlobalBatchsize),每次训练迭代使用的样本数,为了加快训练效率,多条样本会使用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应当小于序列长度。 |
保存日志间隔 | 保存日志间隔(Logging Interval),设定模型训练过程中记录日志的间隔步数。合理设置可以平衡日志记录的详细程度和存储、处理资源的消耗。 |
kl_coeff | kl_coeff(KL Coefficient),对reward增加增加KL-Penalty的系数。增大KL系数会使模型更紧密地逼近目标分布,减小生成文本的多样性;减小KL系数则允许模型生成更加多样化的文本,但可能偏离目标分布。 |
Checkpoint保存策略 | Checkpoint保存策略(Checkpoint Save Strategy),训练过程保存模型Checkpoint的策略。按Step保存需要配置保存Checkpoint的间隔,按Epoch保存则在每个Epoch训练完成后自动保存模型Checkpoint。 |
Checkpoint保存个数 | Checkpoint保存个数(Number of Checkpoint),训练过程最终要保存的Checkpoint个数。Checkpoint保存可以在系统故障时从最近的Checkpoint中恢复训练,但保存Checkpoint会增加训练时长。 |
Checkpoint保存间隔数 | Checkpoint保存间隔数(Checkpoint Interval),训练过程中保存Checkpoint的间隔Step数。间隔太短可能导致频繁的Checkpoint操作增加训练时长,间隔太长则可能在故障时丢失更多的数据。注意:Checkpoint保存策略为按Step时使用 |
随机种子 | 随机种子(Random Seed),是在随机数生成算法中设定的一个初始值,用于确保随机数生成的可重复性。通过设置随机种子,可以在相同的算法和参数下,生成相同的随机数序列。 |
Qwen
Qwen系列包含了一些基础大语言模型和指令调优大语言模型,增强了AI推理能力,参数从5亿到720亿不等。
QwQ-32B
单条数据支持32k tokens。模型数学代码等核心指标及部分通用指标达到DeepSeek-R1 满血版水平。
训练方法 | 简单描述 |
---|---|
全量更新 | 在训练过程中对大模型的全部参数进行更新,可以充分利用训练数据,有潜力在新任务上达到更好的性能。 |
- 参数配置
超参数 | 简单描述 |
---|---|
迭代轮次 | 迭代轮次(Epoch),控制模型训练过程中遍历整个数据集的次数。建议设置在1-5之间,小数据集可增大Epoch以促进模型收敛。 |
Critic学习率 | Critic学习率(Learning Rate),是Critic模型在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
Actor学习率 | Actor学习率(Learning Rate),是Actor模型在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
序列长度 | 序列长度(Sequence Length),单条数据的最大长度,包括输入和输出。该长度在模型的训练和推理过程中全部适用,超过该长度的部分将在推理时自动截断,单位为token。如果数据集中的文本普遍较短,建议选择较短的序列长度以提高计算效率。 |
全局批大小 | 全局批大小(GlobalBatchsize),每次训练迭代使用的样本数,为了加快训练效率,多条样本会使用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应当小于序列长度。 |
保存日志间隔 | 保存日志间隔(Logging Interval),设定模型训练过程中记录日志的间隔步数。合理设置可以平衡日志记录的详细程度和存储、处理资源的消耗。 |
kl_coeff | kl_coeff(KL Coefficient),对reward增加增加KL-Penalty的系数。增大KL系数会使模型更紧密地逼近目标分布,减小生成文本的多样性;减小KL系数则允许模型生成更加多样化的文本,但可能偏离目标分布。 |
Checkpoint保存策略 | Checkpoint保存策略(Checkpoint Save Strategy),训练过程保存模型Checkpoint的策略。按Step保存需要配置保存Checkpoint的间隔,按Epoch保存则在每个Epoch训练完成后自动保存模型Checkpoint。 |
Checkpoint保存个数 | Checkpoint保存个数(Number of Checkpoint),训练过程最终要保存的Checkpoint个数。Checkpoint保存可以在系统故障时从最近的Checkpoint中恢复训练,但保存Checkpoint会增加训练时长。 |
Checkpoint保存间隔数 | Checkpoint保存间隔数(Checkpoint Interval),训练过程中保存Checkpoint的间隔Step数。间隔太短可能导致频繁的Checkpoint操作增加训练时长,间隔太长则可能在故障时丢失更多的数据。注意:Checkpoint保存策略为按Step时使用 |
随机种子 | 随机种子(Random Seed),是在随机数生成算法中设定的一个初始值,用于确保随机数生成的可重复性。通过设置随机种子,可以在相同的算法和参数下,生成相同的随机数序列。 |
轨迹生成批大小 | 轨迹生成批大小(Rollout Batch Size),在基于策略的强化学习中的“rollout”操作中,批量生成多少个样本。调整这个参数影响训练的效率和稳定性。 |
Qwen2.5-7B-Instruct
单条数据支持32k tokens。
训练方法 | 简单描述 |
---|---|
全量更新 | 在训练过程中对大模型的全部参数进行更新,可以充分利用训练数据,有潜力在新任务上达到更好的性能。 |
- 参数配置
超参数 | 简单描述 |
---|---|
迭代轮次 | 迭代轮次(Epoch),控制模型训练过程中遍历整个数据集的次数。建议设置在1-5之间,小数据集可增大Epoch以促进模型收敛。 |
Actor学习率 | Actor学习率(Learning Rate),是Actor模型在梯度下降的过程中更新权重时的超参数,过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。 |
序列长度 | 序列长度(Sequence Length),单条数据的最大长度,包括输入和输出。该长度在模型的训练和推理过程中全部适用,超过该长度的部分将在推理时自动截断,单位为token。如果数据集中的文本普遍较短,建议选择较短的序列长度以提高计算效率。 |
numSamplesPerPrompt | 在策略优化过程中,从一个给定的输入提示生成的样本数量,以评估和提升策略的性能和多样性。 |
全局批大小 | 全局批大小(GlobalBatchsize),每次训练迭代使用的样本数,为了加快训练效率,多条样本会使用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应当小于序列长度。 |
保存日志间隔 | 保存日志间隔(Logging Interval),设定模型训练过程中记录日志的间隔步数。合理设置可以平衡日志记录的详细程度和存储、处理资源的消耗。 |
kl_coeff | kl_coeff(KL Coefficient),对reward增加增加KL-Penalty的系数。增大KL系数会使模型更紧密地逼近目标分布,减小生成文本的多样性;减小KL系数则允许模型生成更加多样化的文本,但可能偏离目标分布。 |
Checkpoint保存策略 | Checkpoint保存策略(Checkpoint Save Strategy),训练过程保存模型Checkpoint的策略。按Step保存需要配置保存Checkpoint的间隔,按Epoch保存则在每个Epoch训练完成后自动保存模型Checkpoint。 |
Checkpoint保存个数 | Checkpoint保存个数(Number of Checkpoint),训练过程最终要保存的Checkpoint个数。Checkpoint保存可以在系统故障时从最近的Checkpoint中恢复训练,但保存Checkpoint会增加训练时长。 |
Checkpoint保存间隔数 | Checkpoint保存间隔数(Checkpoint Interval),训练过程中保存Checkpoint的间隔Step数。间隔太短可能导致频繁的Checkpoint操作增加训练时长,间隔太长则可能在故障时丢失更多的数据。注意:Checkpoint保存策略为按Step时使用 |
随机种子 | 随机种子(Random Seed),是在随机数生成算法中设定的一个初始值,用于确保随机数生成的可重复性。通过设置随机种子,可以在相同的算法和参数下,生成相同的随机数序列。 |
轨迹生成批大小 | 轨迹生成批大小(Rollout Batch Size),在基于策略的强化学习中的“rollout”操作中,批量生成多少个样本。调整这个参数影响训练的效率和稳定性。 |
数据配置
训练任务的选择数据及相关配置,大模型调优任务需要匹配Prompt+Response或Role类型的数据集。至少需要20条数据才可发起训练。
数据集来源可以为千帆平台已发布的数据集版本或BOS,如果选择两个及以上的数据集,支持数据配比,数据占比总和等于100%。
采样率:对数据集进⾏随机采样,取值范围为[0.01-10]。当数据集过⼤或质量不⾼,可以利⽤⽋采样(采样率⼩于1)来缩减训练数据的⼤⼩;当数据集过⼩或质量较⾼,可以利⽤过采样(采样率⼤于1)来增加训练数据的⼤⼩,数值越⼤训练时对该部分数据的关注度越⾼,但训练时⻓及费⽤越⾼,推荐过采样率范围为[1-5]。
数据拆分比例:您可以选择对上面已选择的数据集进行拆分作为测试集,或者指定数据作为测试集。
- 数据拆分比例:比如设置20,则表示选定数据集版本总数的80%作为训练集,20%作为验证集。
关于训练费用可查看价格文档。
另外本训练任务支持您选择开启闲时训练,任务提交后,等待平台资源空闲时进行调度。不保证资源的独占,训练过程中可能会被抢占。适合对时效性要求不高的任务。其支持范围和价格可查看闲时训练计费明细
以上所有操作完成后,点击“确定”,则发起模型训练的任务。