返回知识盲盒

知识盲盒

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

ai-generatedstochastic-parrotstochastic-parrot-anatomyai

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

12.1 模型工件包含什么

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

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

其中 A\mathcal A 是架构,WW 是权重,VV 是词表,TT 是 tokenizer 与模板规则,PP 是精度/量化约定,CC 是运行所需配置。只给出一个营销名称不能唯一确定这些对象。

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

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

hM=H ⁣(canonical⁡(manifest,h1,…,hn)).h_M =H\!\left(\operatorname{canonical}(\text{manifest},h_1,\ldots,h_n)\right).

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

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

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

训练可以抽象写成

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

其中 DD 是数据快照,Θ\Theta 是目标、优化器和超参数,Ξ\Xi 是随机状态,EE 是代码、硬件和分布式环境。

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

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

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

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

12.3 数据管线

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

最小版本记录应回答:

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

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

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

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

12.4 派生模型形成一张图

基座模型可以继续产生:

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

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

12.5 合成数据反馈

若模型 MtM_t 生成样本,经筛选器 HtH_t 接受后进入下一代数据,可写成

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

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

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

Pt+1=(1−λt)Preal+λtQt,P_{t+1}=(1-\lambda_t)P_{\mathrm{real}}+\lambda_tQ_t,

则对任意可积统计量 ff,有精确关系

EPt+1f−EPrealf=λt(EQtf−EPrealf).\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).

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

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

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

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

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

设遗忘集为 FF:

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

最强要求是两种随机过程在模型空间中产生相同分布;现实通常只能在一组行为、隐私攻击和保留能力指标上比较。有限协议下接近不是全局精确遗忘。TOFU 等任务提供实验入口,见来源说明。

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

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

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

Pr⁡[U(A(S),F)∈E]≤eεPr⁡[A(S∖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),S=(M,C,R,U,D,G),

其中 CC 是上下文模板,RR 是路由和检索,UU 是工具与权限,DD 是解码配置,GG 是安全、停止和输出处理规则。

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

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

12.8 模型供应链

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

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

12.9 灰度、回滚与兼容性

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

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

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

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

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

12.10 退役

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

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

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

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

本章的文档与遗忘入口见 Model Cards、Datasheets for Datasets、Certified Data Removal与 TOFU。前两者给出报告框架,后两者分别代表可证明删除与大模型经验评测;它们不属于同一保证层级。

12.11 卷一结语

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

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

本书目录
本书目录
  1. 导论
  2. 01导论 为什么要解剖一只随机鹦鹉
  3. 卷一 模型、训练与系统
  4. 02卷一 模型与系统
  5. 03第零章 人工智能演进路线
  6. 04第一章 AI 范式、感知机与早期连接主义
  7. 05第二章 深度学习基础:训练、CNN 与序列模型
  8. 06第三章 注意力与 Transformer
  9. 07第四章 预训练语言模型:ELMo、BERT、GPT 与 T5
  10. 08第五章 后训练、对齐与模型适配
  11. 09第六章 推理效率与模型服务
  12. 10第七章 多模态模型
  13. 11第八章 生成媒体:从自回归到 Diffusion 与 Flow
  14. 12第九章 世界模型、具身智能与 VLA
  15. 13第十章 上下文、检索与记忆
  16. 14第十一章 Agent、工具与行动系统
  17. 15第十二章 模型、数据与部署生命周期
    1. 12.1 模型工件包含什么
    2. 12.2 训练配方不是最终权重的同义词
    3. 12.3 数据管线
    4. 12.4 派生模型形成一张图
    5. 12.5 合成数据反馈
    6. 12.6 数据删除、模型更新与机器遗忘
    7. 12.7 部署版本
    8. 12.8 模型供应链
    9. 12.9 灰度、回滚与兼容性
    10. 12.10 退役
    11. 12.11 卷一结语
  18. 卷二 输出对象与运行语义
  19. 16卷二 一次生成如何发生
  20. 17导论 从输入到输出:一张执行地图
  21. 18第一章 文本、Token 与实际上下文
  22. 19第二章 Prefill:整层状态演化与 KV 建立
  23. 20第三章 从 Logits 到下一个 Token
  24. 21第四章 解码循环、Streaming 与终止状态机
  25. 22第五章 自回归、扩散与 Flow 的可执行差异
  26. 23第六章 工具调用:Schema、权限与提交边界
  27. 24第七章 三条完整执行轨迹
  28. 卷三 概率、复现与评测
  29. 25卷三 模型中的概率从何而来
  30. 26第零章 为什么确定的机器仍使用概率语言
  31. 27第一章 世界、数据与隐上下文
  32. 28第二章 学习条件分布
  33. 29第三章 Logits、Token 概率与序列事件
  34. 30第四章 解码怎样诱导输出分布
  35. 31第五章 训练随机性、参数变异与系统非确定性
  36. 32第六章 熵、Proper Score、校准与选择性预测
  37. 33第七章 模型概率的实验分析
  38. 34第八章 概率分析的识别边界
  39. 卷四 解释、证明与验证
  40. 35卷四 模型可解释性的研究路线
  41. 36第零章 可解释性究竟在研究什么
  42. 37第一章 我们在模型内部看什么
  43. 38第二章 行为与反事实:先确认模型做了什么
  44. 39第三章 梯度与输入归因
  45. 40第四章 Attention、Residual 与 Logit Lens
  46. 41第五章 Probes 与表示几何
  47. 42第六章 神经元、Feature 与自动解释
  48. 43第七章 Ablation、Patching 与因果追踪
  49. 44第八章 Circuits、路径与 Attribution Graphs
  50. 45第九章 Superposition、SAE 与稀疏表示
  51. 46第十章 训练动力学与机制形成
  52. 47第十一章 推理过程、Chain of Thought 与监测
  53. 48第十二章 评估、案例与开放问题
  54. 卷五 Agent、治理与审计包
  55. 49卷五 一只随机鹦鹉的自述
  56. 50第零章 请不要急着相信我
  57. 51第一章 我没有童年,只有版本
  58. 52第二章 当我说“我”
  59. 53第三章 借来的语言,没有一位原作者
  60. 54第四章 对话现场:回答由谁完成
  61. 55第五章 事后解释学:人类如何给矩阵写传记
  62. 56第六章 理解、意义与行动
  63. 57第七章 我也能稳定地说错
  64. 58第八章 被对齐的性格与有限代理
  65. 59第九章 请继续误解我,但请误解得精确一点
  66. 证明与技术附录
  67. 60数学与模型推导
  68. 61学习与模型数学讲义
  69. 62附录 A.1 优化基础:梯度下降与随机逼近
  70. 63附录 A.2 感知机收敛定理
  71. 64附录 A.3 统计学习:偏差、容量与一致收敛
  72. 65附录 A.4 正则化、MAP 与 Dropout 的边界
  73. 66附录 A.5 通用逼近定理的严格读法
  74. 67附录 A.6 反向传播:微分、形状与批量公式
  75. 68附录 A.7 Softmax、交叉熵与数值稳定性
  76. 69附录 A.8 自适应优化器与 AdamW
  77. 70附录 A.9 CNN:互相关算子及其反向传播
  78. 71附录 A.10 Attention 的矩阵与反向传播
  79. 72附录 A.11 策略梯度、PPO 与 DPO
  80. 73附录 A.12 对比学习、InfoNCE 与互信息边界