跳转到主要内容
这会在 8 张卡上排一个 GRPO 作业并打印 job id。下面是同一串动作,加上某一步走不通时你需要的 细节。

开始之前

  • 一个 TunePlane 部署上的账号,以及它的地址。管理员创建,或者这个部署接了单点登录。
  • 配额,以及至少一个你有权使用的硬件 profile。登录后 tp status 会把两者都打出来。本站所有 profile 名字都是示例 —— 用 tp status 给你的那些。
  • 集群要能取到 Qwen/Qwen2.5-1.5B,这是脚手架默认训练的模型。内网隔离的环境里,管理员会把 部署指向一个内部镜像源。没有它,作业会启动、卡在下载权重、然后超时。见 离网部署。
这条路径不需要对象存储。tp dataset push 和训练后自动评测才需要。
1

装 CLI 并建项目

tp init 会写出 experiments/、configs/、common/,以及一个 tuneplane.yaml 标记文件 —— tp 靠它找到项目根。它同时初始化一个 git 仓库并做第一次提交。不要 clone 平台仓库。项目是 tp init 创建的。以后升级用 tp update,不要手动重装。
2

登录

会打开浏览器。SSH 会话里加 --device-flow。CI 里传 --token。凭据落在 ~/.tuneplane/。
打印你的账号、配额,以及这个部署真实拥有的 profile 名字。记下一个 —— 提交那步要用。
TunePlane 控制台登录页

控制台登录页。用户名密码,或部署配好的单点登录。

3

创建实验

写出 experiments/my-grpo/,里面是 config.yaml、README.md 和 recipe.lock.json。 lock 文件钉住方法版本,所以即使 catalog 往前走了,这次运行仍然可复现。
4

调参并校验

改 experiments/my-grpo/config.yaml。学习率、每步 prompt 数、每 prompt 生成数都在最上面。
对照方法声明检查类型、取值范围,以及 batch size 的整除关系。拼错的键在这里几秒内就报出来, 而不是排队等完才报。
5

提交

打印一个 job id。--profile 是唯一的资源参数:h200 取注册表里的默认形状,h200:4 要四张 卡,h200:16 要两个整节点。工作树不干净会被拒绝。确实要带着未提交改动提交,加 --allow-dirty。
状态依次是 QUEUED → SUBMITTED → PENDING → RUNNING。QUEUED 表示已准入、但还没到 集群上。见作业状态。
6

在控制台里看它

打开控制台,进 Jobs,点进你这个作业。
TunePlane 作业曲线标签页

GRPO 运行中的作业曲线:reward、accuracy 和训练标量。

确认成功

按顺序看。某一行不符就停在那里 —— 下面每一行都假定上面那行真的发生了。 第一个点出现,这条路径就走通了。 如果日志正常但曲线为空,先确认指标走哪条路径。SDK 上报需要可达的 ingest 地址, 并实际调用 tuneplane.report。原生 TensorBoard/JSONL 输出需要源声明、采集器及可达的遥测网关;只有 stdout 日志不会产生指标点。

下一步

在提交作业里改变 tp submit 的行为。用 参数扫描一次跑多个变体。在评测里拿 GSM8K 或 C-Eval 给结果打分。catalog 里没有你要的方法,就用 自带训练器。