Skip to main content
当代码可以检查响应(例如数学答案、测试结果、架构约束、精确抽取或工具结果)时,请使用可验证奖励。
采样、前向/反向工作、优化器步骤和检查点都属于同一个 Fastino 交互式任务。 奖励执行和应用状态保留在你的代码中。

开始之前

完成自定义循环快速入门,然后通过功能确认所选模型和训练操作已启用。 以下代码片段侧重于用户负责的奖励流程;请根据 tinker==0.33.1 和所选模型调整 datum 构建。
本指南并不是一个可独立使用、复制粘贴即可运行的训练器。请先从经过验证的 SDK 工作负载开始,确保其渲染器和 datum 构建方式与所选模型匹配,然后再添加下述奖励流程。
仅在隔离且资源受限的环境中运行生成的代码或工具。Fastino 不会执行你的奖励函数,也不会管理其副作用。

1. 定义范围明确的评分器

将解析与评分分开,以便观察格式错误的输出:
保留一组冻结的测试数据,其中包括正确、错误、格式错误和等价格式的答案。 将解析失败与格式有效但答案错误的响应分开记录。

2. 为采样创建任务快照

从当前权重创建采样器检查点,然后通过 SDK 解析:
这不会创建另一个训练运行。检查点和采样工作与同一个交互式任务关联。

3. 将奖励转换为优势值

跟踪奖励没有差异的组。它们可能表明任务过于简单、过于困难或解析有误。

4. 构建对齐的 datum

提示词是上下文,因此提示词位置通常获得零优势值。补全位置获得响应的组相对优势值。 如果模型输入、目标、对数概率和优势值的长度不同,datum 构建器应在提交前失败:
使用与所选 base_model 关联的渲染器和 tokenizer。保留从功能中选择的 SDK 操作所需的采样 token 和对数概率。

5. 更新交互式任务

对于已启用的重要性采样工作流,SDK 调用形式如下:
两个操作都会修改现有的交互式任务。在推进应用步骤前解析并记录每项结果。 不要构造等效的适配器 HTTP 请求。

6. 保存恢复边界

将返回的检查点标识符与以下内容一起持久化:
  • 来自 training_client.get_info().model_data.model_id 的规范任务 ID
  • 应用步骤和数据集游标
  • 数据集和奖励实现修订版
  • 基础模型和训练配置
  • 评估指标
这些元数据让控制器无需根据名称猜测即可选择检查点。

扩大规模前进行验证

  • 评分器能区分已知的正确和错误测试数据。
  • 格式错误的响应不会使应用循环崩溃。
  • 至少一个采样组存在奖励差异。
  • Datum 数组符合已安装 SDK 预期的形式。
  • 前向/反向传播和优化器 future 在同一个任务上完成。
  • 可以使用客户端恢复元数据加载状态检查点。
  • 留出评估与训练奖励批次保持独立。
有关完整生命周期,请阅读 构建自定义训练循环。