# 第十二章 模型、数据与部署生命周期

Chapter from the Chinese-language book Anatomy of the Stochastic Parrot: 第十二章 模型、数据与部署生命周期.

## Metadata

- HTML: https://glenzli.com/en/dr-stochastic-parrot/stochastic-parrot-anatomy/vol-01/ch12-model-data-lifecycle/
- Markdown: https://glenzli.com/en/dr-stochastic-parrot/stochastic-parrot-anatomy/vol-01/ch12-model-data-lifecycle.md
- Collection: Dr. Stochastic Parrot
- Language: en
- Published: 2026-07-17
- Status: published
- Tags: ai-generated, stochastic-parrot, stochastic-parrot-anatomy, ai

## Content

一个模型名称可能同时指研究架构、训练完成的权重、带 tokenizer 的发布包、量化副本、adapter 组合或在线服务。工程讨论若不先固定对象，很容易把“模型更新”“数据删除”和“产品行为变化”写成同一件事。

## 12.1 模型工件包含什么

可加载模型工件至少由以下内容共同决定：

$$
M=(\mathcal A,W,V,T,P,C),
$$

其中 $\mathcal A$ 是架构，$W$ 是权重，$V$ 是词表，$T$ 是 tokenizer 与模板规则，$P$ 是精度/量化约定，$C$ 是运行所需配置。只给出一个营销名称不能唯一确定这些对象。

权重摘要相同也不保证完整运行相同：不同 tokenizer、位置配置、adapter 或数值内核都可能改变输出。发布模型时应给每个独立工件稳定版本和 digest。

一个可验证发布包通常以 manifest 指向子工件。若第 $i$ 个文件的摘要为 $h_i=H(\operatorname{bytes}_i)$，可对规范化 manifest 与有序摘要列表再计算根摘要

$$
h_M
=H\!\left(\operatorname{canonical}(\text{manifest},h_1,\ldots,h_n)\right).
$$

规范化必须固定字段顺序、编码和路径，否则语义相同的 manifest 可能有不同字节。内容摘要证明“拿到的字节与被摘要的字节相同”，不证明发布者身份、训练来源或模型安全；签名和可信发布渠道解决的是另一层问题。

manifest 还应列出 adapter 合成顺序、依赖的自定义代码、张量分片、量化标尺、特殊 token、聊天模板和最低运行时版本。只散列权重会遗漏真正改变函数的组件。

## 12.2 训练配方不是最终权重的同义词

训练可以抽象写成

$$
M=\mathsf{Train}(D;\Theta,\Xi,E),
$$

其中 $D$ 是数据快照，$\Theta$ 是目标、优化器和超参数，$\Xi$ 是随机状态，$E$ 是代码、硬件和分布式环境。

最终权重不能唯一反推出这些输入。不同数据顺序、初始化和实现可能产生行为相近的模型；同一配方的两次训练也可能得到不同权重。并行归约顺序、非确定 GPU kernel、混合精度溢出和故障恢复都可能改变优化轨迹。因此模型身份、训练 provenance 和功能相似性是不同关系。

“可复现”至少有四个层级：

| 层级 | 要求 |
| --- | --- |
| 字节复现 | 所有工件摘要完全相同 |
| 数值复现 | 在给定容差内得到相同张量或指标 |
| 统计复现 | 重复训练的指标分布与原报告相容 |
| 行为复现 | 在规定任务协议下复现结论与失败边界 |

后两层不要求相同权重，前两层也不自动保证开放环境中的相同行为。研究报告应明确目标层级、随机种子数量、硬件与容差，而不是笼统声称“结果可复现”。

## 12.3 数据管线

训练数据经历采集、授权、解析、清洗、去重、标注、过滤、混合、切分和快照冻结。一个数据集名称不能替代处理图。

最小版本记录应回答：

- 原始来源及许可状态是什么；
- 哪个处理活动产生当前记录；
- 去重和过滤规则是什么；
- 样本进入哪个训练、验证或评测快照；
- 哪些人工或模型生成标注被接受；
- 何时以及为何删除、替换或降权。

评测隔离集必须与训练和调参管线分开。仅凭文件夹名称不同不足以证明没有近重复或后续泄露。

数据 lineage 应是一张有向图，而不只是最终 CSV 的文件名。节点表示原始对象、规范化记录、去重簇、标注版本、训练 shard 与快照；边表示解析、过滤、合并、派生和删除。每条进入训练的记录需要稳定 ID 与父对象引用。这样才能回答某个源对象进入了哪些快照、哪些评测样本与它近重复，以及删除请求应传播到哪些派生物。

内容哈希可识别字节相同，不能独立识别语义近重复；MinHash、embedding 或媒体指纹又可能误合并。去重报告应给算法、阈值、聚类单位与抽样误差，而不是把“已去重”写成二值事实。

## 12.4 派生模型形成一张图

基座模型可以继续产生：

- continued-pretraining checkpoint；
- 指令微调或领域模型；
- LoRA 等 adapter；
- 合并模型；
- 蒸馏模型；
- 量化和裁剪版本；
- 用于不同服务策略的部署副本。

这些对象不是线性版本号，而是派生图。边还应标明变换与父版本：adapter 依赖哪个 base，量化作用于哪一 checkpoint，蒸馏教师是哪一个部署快照。回滚、漏洞修复和数据删除都要沿图确定哪些后代仍在使用旧工件。

## 12.5 合成数据反馈

若模型 $M_t$ 生成样本，经筛选器 $H_t$ 接受后进入下一代数据，可写成

$$
D_{t+1}=\mathsf{Mix}\bigl(D_t,H_t(M_t,D_t)\bigr).
$$

“由模型生成”仍不够描述来源。需要保存父模型、提示、解码、筛选器、人工复核、混合权重和拒绝样本。否则错误在多代改写后会失去源头，模型生成内容也可能被误当成独立现实证据。

若下一代训练分布是现实数据分布 $P_{\mathrm{real}}$ 与接受后合成分布 $Q_t$ 的混合

$$
P_{t+1}=(1-\lambda_t)P_{\mathrm{real}}+\lambda_tQ_t,
$$

则对任意可积统计量 $f$，有精确关系

$$
\mathbb E_{P_{t+1}}f-\mathbb E_{P_{\mathrm{real}}}f
=\lambda_t\left(
\mathbb E_{Q_t}f-\mathbb E_{P_{\mathrm{real}}}f
\right).
$$

所以混合比例只会缩放当前合成分布在该统计量上的偏差；它不会使偏差自动抵消。更现实地，$Q_t$ 又依赖在 $P_t$ 上训练的 $M_t$ 和筛选器 $H_t$，形成非线性反馈系统，不能从一次混合公式推出收敛或“模型崩塌”。应分别测覆盖、多样性、罕见模式、事实误差和真实数据保留比例，并保留不含合成数据的参照训练。

## 12.6 数据删除、模型更新与机器遗忘

删除请求必须说明作用层：

| 层 | 删除后可以验证什么 | 不能自动推出什么 |
| --- | --- | --- |
| 原始存储 | 指定对象不再可读 | 备份与派生数据消失 |
| 未来训练快照 | 新 manifest 排除记录 | 已发布模型改变 |
| 检索/记忆 | 索引不再返回记录 | 参数行为改变 |
| 已部署工件 | 服务切换到新版本 | 新版本等同于从未训练过该记录 |
| 行为测试 | 固定测试未观察到披露 | 任意提示下都已遗忘 |

若只从未来数据快照删除记录，而已加载工件和运行配置不变，当前模型函数不会因此改变。机器遗忘要比较遗忘算法所得模型与“从未使用目标数据训练”的参考重训模型。

设遗忘集为 $F$：

$$
M^{-}=\mathsf{Train}(D\setminus F),
\qquad
\widetilde M=\mathsf{Unlearn}(M,F).
$$

最强要求是两种随机过程在模型空间中产生相同分布；现实通常只能在一组行为、隐私攻击和保留能力指标上比较。有限协议下接近不是全局精确遗忘。TOFU 等任务提供实验入口，见[来源说明](/en/dr-stochastic-parrot/stochastic-parrot-anatomy/vol-01/SOURCE-NOTES/#ref-tofu-unlearning-2024)。

可以把训练算法记为随机映射 $\mathcal A(S)$，遗忘算法记为 $\mathcal U(\mathcal A(S),F)$。**精确遗忘**要求

$$
\mathcal U(\mathcal A(S),F)
\overset{d}=\mathcal A(S\setminus F),
$$

其中等号是模型随机变量的分布相同，不是若干测试分数相同。一个近似认证口径可要求：对模型空间任意可测事件 $E$，

$$
\Pr[\mathcal U(\mathcal A(S),F)\in E]
\le e^\varepsilon
\Pr[\mathcal A(S\setminus F)\in E]+\delta,
$$

并交换两侧再满足一次。这样的保证需要明确算法、随机性和证明假设；经验上把遗忘集损失升高不构成认证，因为模型可能同时保留可被其他提示或攻击提取的信息。

因此报告应分开三层：已从数据与索引删除；算法具有可证明的 exact/approximate removal 保证；只在固定行为、成员推断、抽取攻击与 retain-set 指标上通过经验测试。三者都可能有价值，但不能互相冒充。

## 12.7 部署版本

线上版本还包含模型之外的配置：

$$
S=(M,C,R,U,D,G),
$$

其中 $C$ 是上下文模板，$R$ 是路由和检索，$U$ 是工具与权限，$D$ 是解码配置，$G$ 是安全、停止和输出处理规则。

模型权重不变而 $C$、$R$ 或 $G$ 改变，用户行为仍可能显著变化。因此实验和事故记录应保存部署版本，而不是只记底模名称。

部署 manifest 还应固定路由权重、fallback、模型别名解析、特征开关、区域差异和生效时间。若别名在后台指向新权重，同一请求记录里的“model=latest”不能用于事后复现。

## 12.8 模型供应链

模型包不总是被动数据。自定义加载代码、pickle 类格式、tokenizer 插件、CUDA kernel、构建脚本和远程依赖都可能在加载时执行。供应链控制至少包括：只允许声明的序列化格式；对工件和 manifest 验证摘要与签名；固定依赖与镜像；在隔离环境扫描和转换第三方模型；记录软件物料、许可证和漏洞状态。

“安全张量格式”只减少某一类反序列化代码执行风险，不验证权重来源，也不约束自定义前后处理。模型来源、代码来源和运行时来源应分别认证。派生 adapter 或量化工件也要重新签名，不能无条件继承父模型信任。

## 12.9 灰度、回滚与兼容性

模型更新常通过 shadow、canary 或分流发布。shadow 流量不产生用户可见副作用，适合先比较输出与资源；canary 让少量真实请求进入新版本，测试真实集成；随机 A/B 用于估计版本差异。三者回答的问题不同。

比较应固定分流单位、用户群体、工具和预算，并同时看质量、延迟、成本和失败类型。若“越大越好”的核心指标差异为 $d=m_{\mathrm{new}}-m_{\mathrm{old}}$，非劣效发布可预先设容忍度 $\Delta>0$，要求 $d$ 的置信区间下界高于 $-\Delta$。这不替代安全门槛：低频严重事故、p99 延迟和特定受保护群体退化应有独立阈值，不能被平均收益抵消。

同一用户的重复请求相关，按请求当作独立样本会低估不确定性；顺序查看结果并随时停止也会膨胀错误率。实验应预先确定随机化单位、主要指标、分析窗口和顺序检验规则。统计显著不等于产品重要，置信区间也只覆盖采样协议内的不确定性。

回滚要求旧工件、tokenizer、adapter、配置和依赖仍可加载。仅保留权重文件可能无法恢复旧服务。schema、tool name 或输出格式变化还会破坏上层应用，即使模型本身质量提高。

回滚模型不会自动回滚外部状态。新版本已经发送的消息、写入的数据库迁移和生成的新格式会继续存在；需要前向兼容、双读写、迁移回退或补偿计划。上线前应在隔离环境实际演练回滚，而不是只确认旧文件“仍在”。

## 12.10 退役

模型退役不是删除一份文件。检查范围包括：

- 线上路由和区域副本；
- 回滚包和灾备；
- adapter、量化和蒸馏后代；
- 边缘设备与离线分发；
- 内部评测和研究服务；
- 缓存、镜像和可恢复备份。

无法撤回的副本应登记为残余分发，而不是把主服务下线写成全局消失。

退役还要处理身份与路由：撤销签名密钥或访问 token，关闭别名与 fallback，冻结最终 manifest，规定日志和评测数据保留期，并通知仍依赖旧 schema 的调用方。若为了事故调查保留加密副本，应记录访问主体、解密条件和销毁日期。

本章的文档与遗忘入口见 [Model Cards](/en/dr-stochastic-parrot/stochastic-parrot-anatomy/vol-01/SOURCE-NOTES/#ref-mitchell-model-cards-2019)、[Datasheets for Datasets](/en/dr-stochastic-parrot/stochastic-parrot-anatomy/vol-01/SOURCE-NOTES/#ref-gebru-datasheets-2021)、[Certified Data Removal](/en/dr-stochastic-parrot/stochastic-parrot-anatomy/vol-01/SOURCE-NOTES/#ref-guo-certified-removal-2020)与 [TOFU](/en/dr-stochastic-parrot/stochastic-parrot-anatomy/vol-01/SOURCE-NOTES/#ref-tofu-unlearning-2024)。前两者给出报告框架，后两者分别代表可证明删除与大模型经验评测；它们不属于同一保证层级。

## 12.11 卷一结语

卷一回答了模型怎样被设计、训练、扩展为不同模态并装入现实系统。到这里仍没有解释某一次回答内部发生了什么：输入怎样变成 token，Transformer 在一次前向中保存什么，logit 怎样变成下一个 token，工具提议何时越过模型边界。

卷二将选择一次具体运行，从输入字节开始逐步拆到输出与外部行动。那里不再重新讲模型史，而是观察这些结构在一个时间线上怎样工作。
