模型 CI/CD 与数据版本
软件工程的 CI/CD(提交 → 测试 → 发布)在模型世界有对应物:数据/代码变更 → 触发评测 → 门禁 → 注册发布。但模型 CI/CD 有两个软件没有的特性:实验成本极高(一次"构建"是数天数十万美元)与数据是资产(版本管理比代码更重要)。本章讲清楚模型 CI/CD 的完整形态与数据版本管理。
模型 CI/CD 的形态
Section titled “模型 CI/CD 的形态”与软件 CI/CD 的对照:
| 软件 CI/CD | 模型 CI/CD | |
|---|---|---|
| 触发 | 每次提交 | 不是每次提交(成本高) |
| 构建 | 编译(分钟) | 训练(天、数万美元) |
| 测试 | 单元/集成测试 | 评测(基准 + 业务集) |
| 发布 | 部署 | 注册 + 灰度 |
| 回滚 | 版本切换 | 版本切换(秒级,同构) |
模型的"构建"太贵,CI 的形态完全不同:
| 机制 | 软件类比 | 模型世界的做法 |
|---|---|---|
| 快速反馈 | 单元测试(分钟) | 小规模冒烟训练(短跑验证代码正确性,分钟–小时) |
| 回归测试 | 集成测试 | 固定小基准回归(防止改动劣化已有能力) |
| 完整验证 | 发布前测试 | 中规模实验 + 全量评测(发布门禁) |
| 发布 | 部署 | 注册 + 灰度(见模型注册) |
冒烟训练是模型 CI 的核心发明:每次代码/配置变更,先跑 100 步小模型(分钟级),验证"能跑、loss 正常下降、吞吐正常"——把"跑了三天才发现代码 bug"变成"十分钟发现"。
模型 CI 的流水线
Section titled “模型 CI 的流水线”代码/配置变更(PR) ↓自动冒烟:小模型 100 步(正确性:能跑、loss 降、吞吐正常) ↓自动回归:固定小基准(防止改动劣化) ↓人工评审(配置 diff + 冒烟报告) ↓合并 → 触发实验(实验管理,见[实验管理](/platform-mlops/01-lifecycle/experiment-tracking.md)) ↓实验产出 → 全量评测 → 门禁 → 注册(发布门禁)门禁的自动化程度:冒烟与回归全自动(机器判),全量评测自动跑 + 人工判(业务决策)——全自动判业务质量是危险的(评测盲区,见评测基础设施)。
数据版本:比代码更重要
Section titled “数据版本:比代码更重要”模型的一半是数据——数据变更的追溯与版本管理是模型 CI/CD 的另一半:
| 资产 | 版本化方式 |
|---|---|
| 原始语料 | 数据集快照(hash/版本号),来源与清洗规则记录 |
| 清洗/tokenize 后的 token 流 | 数据集版本(见数据管道)+ tokenize 配置版本 |
| 配比/混合配方 | 配方是配置的一部分(进实验元数据) |
| SFT/偏好数据 | 数据集版本 + 质量报告 |
数据版本的核心原则:
一、不可变快照:训练用的数据是快照(可复现的基础)——改数据 = 新版本,不覆盖。
二、血缘完整:每个实验/模型记录数据版本——模型出问题能查到数据,数据出问题能查到模型(见模型注册的血缘)。
三、变更即实验:数据变更(新语料、改清洗)应该走与代码变更相同的流程(冒烟 → 回归 → 实验)——"数据变更随口就改"是最大的隐性风险。
特征/Embedding 的版本
Section titled “特征/Embedding 的版本”传统 ML(推荐/搜索)的特征工程有对应物:
- 特征管道(特征计算逻辑)的版本化
- embedding 模型(检索/推荐的 encoder)的版本——embedding 模型更新 = 全库重算(一致性约束)
- 特征/标签的离线在线一致性(训练-服务偏差的预防)
- 冒烟训练进 CI:每次变更 100 步小模型(正确性 + 吞吐)
- 固定小基准回归:防劣化
- 数据变更走与代码相同的流程;数据快照不可变
- 血缘三线:代码 commit + 数据版本 + 配置快照(见实验管理)
- 门禁分级:机器判(冒烟/回归)+ 人工判(业务质量)
- embedding 更新的全库一致性约束
- 模型 CI/CD 与软件同构但形态不同:构建贵(训练),CI 的核心是冒烟训练(100 步小模型,把三天后的 bug 变成十分钟发现)。
- 流水线:变更 → 冒烟 → 回归 → 评审 → 实验 → 评测门禁 → 注册发布。
- 门禁分级:机器判正确性(冒烟/回归),人工判业务质量(全量评测 + 决策)。
- 数据是资产:不可变快照、血缘完整、变更即实验(与代码同流程)。
- 血缘三线(代码 + 数据 + 配置)是复现、排查、合规的共同基础。
- embedding/特征有额外的一致性约束:更新 = 全库重算。
- 实验管理:追踪与复现 — 实验的系统化
- 数据管道与 tokenization — 数据版本的对象
- 评测基础设施 — 门禁的依据
- 检查点保存与恢复 — 模型资产的管理