Skip to main content
本快速入门介绍如何训练 Nemotron 或 Qwen 解码器 LLM,并在你的应用中控制采样、奖励和模型更新。 要基于数据集微调 GLiNER 编码器并由 Fastino 运行训练,请参阅 编码器快速入门。

1. 身份验证

  1. 创建 Fastino 账户。
  2. 打开 API 密钥页面。
  3. 创建密钥,并在显示时复制。
将密钥存储在环境变量中:
以 X-API-Key: $FASTINO_API_KEY 发送此密钥。完整的身份验证契约请参阅 身份验证。 选择一种受支持的接口:
  • 原生 JSON 客户端调用 POST /v1/training/jobs/create-model, 在 /v1/training/jobs/{job_id} 下排队模型操作,并轮询返回的每个 future_id,直到状态变为 completed、failed 或 cancelled。
  • 现有 Tinker 程序保留 tinker==0.32.0;SDK 设置请参阅 从 Tinker 迁移。
原生客户端不发送 seq_id 或心跳。服务器分配操作顺序并保持内部会话处于活动状态。 带有 wait=true 的请求最多等待 25 秒,因此客户端必须继续轮询未终止的操作。完成此快速入门后, 请参阅构建自定义训练循环以了解奖励、重复 rollout 和恢复。

2. 安装客户端库

需要 Python 3.11 或更高版本。transformers 提供模型的 tokenizer;训练本身在 Fastino 上运行。

3. 选择模型

支持 1 到 32 的 LoRA 秩,默认值为 32。

4. 创建任务

响应包含 job_id 以及该任务 create future 的 future_id:
每个执行工作的调用都会返回一个 future。读取它,直到 status 为 completed。使用 wait=true 时,请求最多等待 25 秒:

5. 训练、保存并采样

下面的脚本运行完整循环:创建任务,运行三次 forward-backward 和优化器步骤,保存 sampler 检查点,从中采样,然后停止任务。 创建 quickstart.py:
脚本会等待 forward-backward 成功完成,然后再提交优化器步骤。如果任一 future 失败或被取消, wait 会引发异常,不会提交依赖 operation。 enable_thinking=False 会在监督答案开始之前关闭模型的推理块。它是 tokenizer 模板参数,而不是训练 API 请求字段。 运行脚本:
复制 TRAINING_JOB_ID= 后打印的值。
交互式任务 30 分钟内没有调用就会被释放,其检查点会保留。停止操作会立即返回并阻止新调用, 但已排队的 operation 可能会在资源释放前完成,用量也可能持续到资源释放。你仍可从其 sampler 检查点采样并下载。

6. 验证规范任务

响应描述的是通过原生 REST 端点创建的同一任务。继续使用公开的交互式 operation 页面执行 模型操作,并使用规范任务 API 执行有文档说明的任务读取。

继续

从 Tinker 迁移

为现有 Tinker 程序配置 SDK。

交互式任务参考

查看交互式任务的每个请求和响应。

训练循环

为自定义循环添加奖励、更新和恢复。