跳转到主要内容
run id 是关于一个实验的事实。模型版本是一个决定:这就是我们愿意拿出去服务的那个。登记把前者变成 后者。 没有它,“现在生产上是哪个模型”和”上一个版本是哪次运行产出的、谁什么时候升的”只有记得某个 run id 的人能回答。

登记一个版本

版本号自增,没有起名这一步。那次运行必须已经导出过,提交时的 --then export 会替你做掉。 底座模型和外部提供的权重也属于这条线,否则第一个条目就缺了:
--desc 是模型的描述,属于第一次登记。

读这条线,以及移动它

升级一个版本会把上一个生产版本归档。同一时刻只有一个生产版本;有两个,这条线存在的理由就没了。 版本不可变。一个版本钉住一个 run id 和一个权重路径,所以换权重就是登记一个新版本。如果一个已被 deployment 引用的版本能改内容,“现在上线的是哪个版本”就不再是个能回答的问题。

让一个 deployment 指向这条线

将模型注册表作为 deployment 的来源,版本留空会在创建部署修订时选择当时的生产版本:
每个部署修订都会固定它解析到的模型版本。执行 tp model promote 后,使用相同来源创建新的部署修订, 即可上线新晋级的模型。要明确选择某个版本,就写 "version": 3。

三种都叫”版本”的东西

它们互不重叠,分清它们是值得的: 灰度和回滚属于 deployment revision 那一层。注册表不复制它们:有两个地方能表达”现在跑的是哪个”, 它们会立刻分叉。

选择项目发布策略

在 项目 → 设置 → 发布策略 中选择 必须通过评测,即可要求模型晋级生产或部署前提供评测证据。 现有项目默认使用 灵活实验。 严格发布要求训练成功完成、声明评测集与门槛、完成针对所选导出产物的基准测试,并通过分数检查。 相对门槛还需要相同基准测试配置下的基线分数。证据缺失、待完成、失败或过期时,所有人都会被阻止发布, 包括管理员。拒绝信息会说明需要完成的操作。 训练产物进入模型注册表后仍保留原项目归属。Deployment 也会永久保留创建时的项目,更新版本或回滚不会 取消该要求。候选版本在启动或切换流量前会再次检查。策略变化不会停止已在提供服务的当前版本。 登记外部权重时,可以明确指定项目:
外部权重可以进入目录,但缺少可验证的训练与评测证据时,不能满足严格发布要求。未关联项目的外部模型 不会应用项目策略。这个设置不是针对所有外部模型的部署级限制。 等待评测的模型仍可登记为草稿;登记时仍会执行原有的明确评测失败检查。关闭严格要求属于单独的项目管理 操作,会留下审计记录。严格发布不会自动给管理员放行。

灵活实验

灵活模式下,明确失败的评测会阻止普通用户登记训练产物或部署。待完成或缺失的评测不会阻止操作。 管理员在此模式下保留原有的覆盖行为。 这条线上每个版本都带着它训练运行的结论。一条版本线上没有评测支撑的数字,只是一个路径。

确认成功

新版本带着它的 run id 和备注出现,而且恰好只有一行被标成生产。

下一步

部署一个版本 · Playground · Reflow · 模型页