Skip to main content
你的应用决定采样内容、评分方式和更新时机。Fastino 执行交互式模型操作。 一个 TrainingClient 在整个循环中代表一个 Fastino 交互式任务。

控制循环

1

创建交互式任务

从功能响应中选择 base_model 和其他选项,然后调用 create_lora_training_client(...)。从 training_client.get_info().model_data.model_id 读取规范任务 ID。
2

为采样创建权重检查点

调用 save_weights_for_sampler(name),然后使用返回的检查点路径创建采样客户端。 这会将 rollout 策略绑定到同一个任务的明确工件。
3

收集 rollout 组

为每个提示词采样多个候选响应。你的应用负责提示词构建、响应渲染和分组。
4

计算奖励和优势值

为每个响应评分,然后将奖励转换为所选且功能支持的训练操作所需的优势值。
5

构建训练 datum

按 SDK 预期的形式组合模型输入、采样响应 token、采样元数据和 token 级训练信号。
6

更新同一个任务

通过现有 TrainingClient 提交受支持的前向/反向传播工作,然后执行优化器步骤。
7

保存恢复边界

在开始下一次迭代前,保存状态检查点,并将其标识符与应用步骤及数据集游标一起持久化。

对象模型

SDK 模型 ID 就是规范的 Fastino 任务 ID。Future 和采样客户端不会创建独立运行。 要将确定性评分转换为组相对优势值,请参阅 使用可验证奖励进行训练。

构建对齐的 datum

对于重要性采样式循环,提示词是上下文,采样到的补全是动作。确保 token 数组与所选模型 使用的 SDK 和渲染器对齐:
  • 包含提示词和补全 token 的模型输入
  • 与模型输入对齐的目标 token
  • 与生成 token 对齐的采样对数概率
  • 应用于补全位置的优势值
提示词渲染、token 化、datum 构建和奖励执行均由客户端负责。在运行更大的工作负载前, 请根据 tinker==0.33.1 和实时功能响应验证它们的形式。

保持依赖工作有序

将前向/反向传播阶段视为完成之前,请先解析其 future;在为更新后的状态创建检查点之前, 请先解析优化器 future。没有应用级协调时,不要让独立控制器修改同一个任务。 SDK 执行这些交互式操作。不要将它们复现为直接 HTTP 调用。 跟踪受支持调用返回的每个 future。逐个解析或取消 future。不支持通过 retrieve_futures 批量检索。

恢复循环

持久化规范任务 ID、应用步骤、数据集游标以及相关的 future 或检查点标识符。 这样,重启后的控制器无需重放更新即可确定哪些工作已完成。 有关恢复顺序和检查点类型,请参阅检查点与恢复。