跳转到主要内容
TunePlane 分离提交、执行控制与遥测。训练框架负责训练,平台负责准入、放置、执行身份及观测。

控制流与数据流

Node 主动建立出站控制连接。训练指标通过独立的遥测监听器上报,不经过 Node 控制通道。两个网关目前都是独立的 Python 进程,独立采集器使用 Rust。Rust 网关或 LLM API 代理属于后续架构扩展,不是已经交付的推理流量转发能力。

提交时发生什么

  1. CLI 或控制台提供 recipe、源码归档或镜像加命令三种输入之一。
  2. 服务端校验并解析 JobSpec、集成产物、运行镜像、资源、存储和策略。不可变预览不会创建 Job。
  3. 确认携带预览 ID、摘要和固定重试键。重复确认返回同一个 Job 回执;修改输入需要新预览。
  4. 准入后的 Job 等待资源。持久化启动预留在执行前持有完整的资源预算。
  5. 后端准备经过验证的 Job Capsule 和已完成输入。Node 的所有成员 Prepare 后,才持久化 Commit 决策。冷镜像异步准备;资源释放前必须核实不确定的执行状态。
  6. runner 校验锁定的运行时并执行集成产物。框架专属代码不进入控制面。
  7. 原生 TensorBoard/JSONL 输出可独立采集;已配置的 SDK 上报路径仍可使用。控制台读取有界指标查询,完成的产物携带可验证的清单。
连接断开不能证明任务已停止。指标、生命周期和产物完成各有不同的验收要求。参见提交、Node 执行和原生遥测。

后端执行方式

不会隐式切换后端。软件契约支持不等于实际 GPU、网络或存储部署已经认证。节点间网络及共享输出存储需要独立于控制连接进行验证。

身份与存储

Node 在工作负载挂载之外保存私有、自动轮换的控制凭据。采集器使用单独绑定 run/attempt/member 的最小权限凭据。工作负载不会拿到集群管理凭据。服务端 TLS 校验保持开启,常规部署不需要为每台 Node 签发客户端证书或引入独立 PKI 服务。 源日志可以位于共享存储;采集器的持久化队列必须位于私有的主机本地存储。共享挂载和对象交付是后端明确声明的能力。启用对象 Capsule 交付不代表所有后端都不再需要共享输出或缓存。参见存储。

控制台工作流

Fleet 页面区分调度状态与控制连接,并展示上报的 CPU/内存容量。提交对话框在确认前概览解析后的 Fleet、后端和 GPU 申请。Job 的 Charts 支持标准指标,以及按 attempt 和来源选择的原始标量检查器。插件按用途分组,同时明确能力和执行位置。 参见Fleet、观测和插件。