S08:Experiment、Artifact、Registry、Bundle 与 Promotion
实验记录一次探索过程,artifact 是过程产生的可寻址产物,registry 管理产物身份与生命周期,release bundle 则把一次 AI 系统发布所需的多个版本组合成不可含糊的候选版本。
内容类型:预习教材(不代表已完成)
日期:2026-11-30
阶段:P2 · AI Systems Engineering 90
总路线:Day 098 / 360
周次 / 节奏:W2 · 周一概念与阅读
状态:教材已备;学习未完成
主题:MLOps、LLMOps、artifact registry、release bundle
一句话定义
实验记录一次探索过程,artifact 是过程产生的可寻址产物,registry 管理产物身份与生命周期,release bundle 则把一次 AI 系统发布所需的多个版本组合成不可含糊的候选版本。
学习目标
- 能区分 experiment run、artifact、registry entry、composite bundle 和 promotion。
- 能解释为什么 AI 系统版本不等于模型权重版本。
- 能列出一次可解释发布至少要固定的数据、模型、提示词、索引、工具、策略与评测证据。
- 能理解 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,也无法重现当时内容。
最小练习或观察步骤
- 选一个极小 AI 用例,列出它可能包含的 7 类 artifact。
- 为一次假想 experiment 写输入、配置、指标和输出四栏,不虚构运行结果。
- 把模型、prompt、index、tool 和 policy 组合成一个 bundle 草图。
- 改变 prompt 一行,说明为何应生成新 bundle、哪些兼容性仍需确认。
- 画 candidate→shadow→canary→stable/rollback 状态图,为每条边写一句证据来源。
常见误区与边界
- 把实验追踪当作自动证明实验可靠;错误指标也能被完整记录。
- Registry 只存模型路径,忽略 tokenizer、数据、prompt 和依赖关系。
- 用可变文件名覆盖旧 artifact,破坏历史解释。
- 模型权重未变便沿用系统版本,掩盖工具或策略变化。
- 把 promotion 设计成大量审批 Gate;本课程只学习必要状态与证据。
系统场景连接
在 AML 助手中,模型相同但法规索引、风险阈值、工具权限或提示词变化,都可能改变建议和业务风险。一次可解释发布应锁定这些组件,保留离线评测与人工审阅摘要。Web3 地址分析同样依赖标签源、链索引高度与聚类规则;单独登记模型无法复现结论。
自检问题
- run、artifact 与 registry entry 的关系是什么?
- 为什么可变
productionalias 不能替代 immutable bundle id? - prompt 改变而模型不变时,哪些发布证据可能失效?
- 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 需要的轻量证据:
- 尚不明确的版本边界: