返回 S01~S90 教材库
S08 · 总 Day 098教材已备 ≠ 学习已完成

S08:Experiment、Artifact、Registry、Bundle 与 Promotion

实验记录一次探索过程,artifact 是过程产生的可寻址产物,registry 管理产物身份与生命周期,release bundle 则把一次 AI 系统发布所需的多个版本组合成不可含糊的候选版本。

2026-11-30MLOps、LLMOps、artifactregistry、releasebundle

内容类型:预习教材(不代表已完成)
日期:2026-11-30
阶段:P2 · AI Systems Engineering 90
总路线:Day 098 / 360
周次 / 节奏:W2 · 周一概念与阅读
状态:教材已备;学习未完成
主题:MLOps、LLMOps、artifact registry、release bundle

一句话定义

实验记录一次探索过程,artifact 是过程产生的可寻址产物,registry 管理产物身份与生命周期,release bundle 则把一次 AI 系统发布所需的多个版本组合成不可含糊的候选版本。

学习目标

  1. 能区分 experiment run、artifact、registry entry、composite bundle 和 promotion。
  2. 能解释为什么 AI 系统版本不等于模型权重版本。
  3. 能列出一次可解释发布至少要固定的数据、模型、提示词、索引、工具、策略与评测证据。
  4. 能理解 promotion 是状态与证据的变化,不是复制一个文件或改一个标签。

核心知识

Experiment run 记录“这一次尝试用了什么输入、配置、代码与环境,产生什么度量和产物”。Artifact 是可保存、校验和引用的输出,如模型权重、tokenizer、prompt、检索索引、特征定义、评测集或报告。Registry 不只是文件仓库,它还保存逻辑名称、版本、状态、关系、所有者和变更历史。Bundle 把跨组件版本锁在一起,避免“模型没变但 prompt/index/policy 已变”仍沿用旧版本号。

模型登记表和系统发布表职责不同。模型可以作为独立 artifact 进入 registry,接受训练指标与兼容性描述;发布 bundle 则关心端到端组合,包括 provider 配置、工具 schema、路由策略、guardrail 与 evaluation snapshot。Promotion 表示一个候选从 development/staging 进入 shadow、canary 或 approved 等状态,必须保留谁、何时、基于什么证据作出变化。

Reproducibility 有等级:能定位同一 artifact;能用相同输入和配置重跑;能得到统计上可比较结果;能恢复线上当时的系统组合。并非所有硬件和随机训练都能字节级复现,但仍应保存足够上下文说明差异来源。

机制与推导

把一次 run 表示为:

[ r=(code_v,data_v,config,env,seed)\rightarrow(metrics,artifacts) ]

把系统 bundle 表示为内容寻址集合:

[ B=H(model_v,tokenizer_v,prompt_v,index_v,tool_v,policy_v,eval_v) ]

任一组件改变都产生新 bundle identity,即便接口未变。Promotion 可建模为带约束的状态迁移:candidate → shadow → canary → stable / rolled_back。本阶段不设繁重 Gate,但要理解迁移应关联理由与证据,且 rollback 指向已知 bundle,而不是凭记忆恢复若干散落配置。

Registry 还要区分 mutable alias 与 immutable version:production 可以移动,bundle-2026-12-01-a3f... 不应被覆盖。否则审计日志即使记录 alias,也无法重现当时内容。

最小练习或观察步骤

  1. 选一个极小 AI 用例,列出它可能包含的 7 类 artifact。
  2. 为一次假想 experiment 写输入、配置、指标和输出四栏,不虚构运行结果。
  3. 把模型、prompt、index、tool 和 policy 组合成一个 bundle 草图。
  4. 改变 prompt 一行,说明为何应生成新 bundle、哪些兼容性仍需确认。
  5. 画 candidate→shadow→canary→stable/rollback 状态图,为每条边写一句证据来源。

常见误区与边界

  • 把实验追踪当作自动证明实验可靠;错误指标也能被完整记录。
  • Registry 只存模型路径,忽略 tokenizer、数据、prompt 和依赖关系。
  • 用可变文件名覆盖旧 artifact,破坏历史解释。
  • 模型权重未变便沿用系统版本,掩盖工具或策略变化。
  • 把 promotion 设计成大量审批 Gate;本课程只学习必要状态与证据。

系统场景连接

在 AML 助手中,模型相同但法规索引、风险阈值、工具权限或提示词变化,都可能改变建议和业务风险。一次可解释发布应锁定这些组件,保留离线评测与人工审阅摘要。Web3 地址分析同样依赖标签源、链索引高度与聚类规则;单独登记模型无法复现结论。

自检问题

  1. run、artifact 与 registry entry 的关系是什么?
  2. 为什么可变 production alias 不能替代 immutable bundle id?
  3. prompt 改变而模型不变时,哪些发布证据可能失效?
  4. reproducibility 为什么不总是意味着字节完全相同?

专业课程对齐

  • 阅读 MLflow 官方文档 中 Tracking 与 Model Registry 的概览,具体辨认 run、artifact、registered model、model version 和 alias 的职责。
  • 阅读 Full Stack Deep Learning 2022 的 experiment management 与 deployment 内容,把开发产物到线上服务的路径映射成 bundle 生命周期。
  • 阅读 Stanford CS329S 的 ML system design 与 deployment 主题,关注模型外部依赖为何也属于可发布系统。

深入学习提示

先画对象关系再看工具界面:run 产生 artifact,registry 为 artifact 建立受管身份,bundle 引用多个 immutable version,alias 指向当前候选。阅读时专门找“可变”和“不可变”两类字段,并做一个反例:模型文件完全相同,但索引和策略改变后结果不同。能解释这个反例,就理解了 LLMOps 相比单模型 registry 扩大的版本边界。

学后填写区

  • 我选择的 AI 用例:
  • 识别出的 artifact:
  • bundle 的组件与标识:
  • 一次 promotion 需要的轻量证据:
  • 尚不明确的版本边界:
重点主线 · H01 · 任务契约与上下文架构本周配套机制实验 · W2 · 制品版本:回滚的对象不是一个模型名 →详细讲义、离线示例与源码;按需要选读,不新增必交任务。
本页是未来 P2 的预习教材。等 P1 完成并正式进入 P2 后,再填写真实理解、练习结果和不确定项;现在阅读不会改变P1 唯一进度账本