返回知识盲盒

知识盲盒

第五章 训练随机性、参数变异与系统非确定性

ai-generatedstochastic-parrotstochastic-parrot-anatomyai

同一架构和数据配方重复训练,可能得到不同参数;固定 checkpoint 重复调用,也可能得到不同输出。前者是训练算法诱导的模型间变异,后者可能来自随机解码或系统执行。本章建立分层记号,避免把所有差异压成一个“随机性”。

5.1 训练结果是算法与环境的函数

把训练数据工件记为 DD,配方为 AA,显式随机状态为 RalgR_{alg},数值执行状态为 RnumR_{num},软件和硬件环境为 EE。最终参数可写成

Θ=A(D,Ralg,Rnum,E).\Theta=A(D,R_{alg},R_{num},E).

若重复运行时让其中一些量变化,Θ\Theta 就成为相应实验设计下的随机变量。所谓“训练 seed 的分布”并非自然界给定对象,而由研究者规定哪些随机源、设备和数据顺序允许变化。

还要区分固定数据工件与重新抽取数据:

  • 固定 DD、改变训练随机状态,估计算法条件于该数据的变异;
  • 从目标数据总体重新取 DD,还包含有限数据抽样变异;
  • 改变数据管线或配方,已经在比较不同训练程序。

不说明重复实验随机化了什么,就不能解释 checkpoint 间方差。

5.2 Mini-batch 梯度何时无偏

给定固定经验损失

L(θ)=1N∑i=1Nℓi(θ),L(\theta)=\frac1N\sum_{i=1}^N\ell_i(\theta),

若给定当前 θt\theta_t 后,BtB_t 独立地从 {1,…,N}\{1,\ldots,N\} 均匀抽取为大小 bb 的 batch,则

gt=1b∑i∈Bt∇ℓi(θt)g_t=\frac1b\sum_{i\in B_t}\nabla\ell_i(\theta_t)

在给定 θt\theta_t 时满足

E[gt∣θt]=∇L(θt),\mathbb E[g_t\mid\theta_t]=\nabla L(\theta_t),

无论是有放回独立抽样,还是对固定大小子集均匀无放回抽样。证明只需利用每个样本进入 batch 的边际概率为 b/Nb/N 和期望线性。

该结论会在以下情况下改变:

  • 样本按非均匀概率抽取却未做相应加权;
  • 动态 packing 使样本贡献依长度变化;
  • 来源配额、课程学习或难例挖掘改变目标分布;
  • 数据丢失、重放或过滤依赖当前模型状态;
  • 梯度裁剪和自适应优化器使“平均无偏梯度”不等于“平均无偏参数更新”。

因此随机梯度是针对某个明确定义目标的估计量,不能脱离采样器谈“噪声是否无偏”。

5.3 显式随机算法的来源

训练路径可能在以下位置消费伪随机数:

  • 参数初始化;
  • 数据洗牌、来源选择与样本 packing;
  • dropout、stochastic depth 与随机 mask;
  • crop、噪声或其他数据增强;
  • MoE 路由噪声;
  • 强化学习中的动作和环境抽样;
  • 容错恢复后的数据重放或跳过。

一个顶层 seed 只有在所有子生成器、rank 派生规则和随机数消费顺序固定时才足够。增加一次日志采样、改变 batch shape 或换一种 fused kernel,都可能改变后续随机流。

伪随机不等于“假的变异”。在给定 seed 后算法可以确定,但当 seed 被实验设计为随机因素时,输出分布仍是可分析的算法分布。

5.4 数值非确定性不是采样不确定性

实数加法满足结合律,浮点加法通常不满足:

fl⁡(fl⁡(a+b)+c)≠fl⁡(a+fl⁡(b+c)).\operatorname{fl}(\operatorname{fl}(a+b)+c) \ne \operatorname{fl}(a+\operatorname{fl}(b+c)).

梯度归约树、原子操作顺序、kernel 自动选择和低精度舍入可改变末位。即使显式 RNG 状态相同,不同调度也可能给出不同更新。

这些差异在非凸优化中可能被放大,但“可能放大”不等于“必然导致宏观行为完全不同”。影响大小取决于训练阶段、学习率、稳定性和评测指标,必须通过受控重复测量。

RnumR_{num} 可以被建模为随机因素以估计工程变异,但它的来源是执行顺序和有限精度,不应与数据条件内多解混称。

5.5 参数不同不等于函数不同

神经网络参数常不可识别。例如对隐藏单元做一致置换,同时逆置换相邻层权重,可以保持网络函数不变。某些正缩放也能由下一层补偿。

所以参数欧氏距离

∥θ1−θ2∥2\lVert\theta_1-\theta_2\rVert_2

既可能因对称性很大而预测近乎相同,也可能在敏感方向上很小却改变边界行为。参数哈希适合确认工件是否逐位一致,不适合单独衡量功能差异。

行为比较应落到指定输入总体上的预测量,例如

EX∼PXDKL(qθ1(⋅∣X)∥qθ2(⋅∣X)),\mathbb E_{X\sim P_X} D_{\mathrm{KL}}(q_{\theta_1}(\cdot\mid X) \Vert q_{\theta_2}(\cdot\mid X)),

或外部任务分数。即便如此,平均量也可能掩盖稀有条件区域。

5.6 模型集合不自动是 Bayesian posterior

重复训练诱导某个实验分布

PA(Θ∣D),P_A(\Theta\mid D),

其中下标 AA 提醒我们它由训练算法、超参数、seed 分布和环境共同定义。对输入 xx 的模型平均预测为

qˉ(y∣x)=EΘ∼PA[qΘ(y∣x)].\bar q(y\mid x) =\mathbb E_{\Theta\sim P_A} [q_\Theta(y\mid x)].

有限 ensemble 用样本均值近似它。除非训练算法被证明从特定 Bayesian posterior 或其近似中抽样,否则 PA(Θ∣D)P_A(\Theta\mid D) 不能改名为参数后验。不同初始化范围、早停和 checkpoint 选择都会改变该分布。

同样,从一个 checkpoint 用不同 temperature 采样得到的是输出样本,不是参数样本;它不能估计模型间不确定性。

5.7 运行内与模型间方差分解

自然语言输出本身不在欧氏空间。先定义二阶可积的可测评分 S=s(Y)S=s(Y),例如正确性指示、长度或成本。固定输入 xx,全方差公式给出

Var⁡(S∣x)=EΘ[Var⁡(S∣x,Θ)]+Var⁡Θ(E[S∣x,Θ]).\operatorname{Var}(S\mid x) =\mathbb E_\Theta[ \operatorname{Var}(S\mid x,\Theta)] +\operatorname{Var}_\Theta( \mathbb E[S\mid x,\Theta]).

第一项是固定 checkpoint 后由解码和环境产生的平均运行内变异;第二项是不同训练结果的平均行为差异。

该分解是恒等式,不自动把第一项命名为 aleatoric、第二项命名为 epistemic。若 ensemble 只覆盖少数手选 checkpoint,或者运行内还混有服务版本更新,两项都不对应理想的不确定性分类。

5.8 预测熵不能完成上述分解

单个模型下一 token 熵

H(qθ(⋅∣x))H(q_\theta(\cdot\mid x))

只描述该条件分布的离散程度。高熵可能来自任务多解、提示含糊或模型能力不足;低熵可能是掌握充分,也可能是自信地错。

即使两个训练运行具有同样熵,其高概率 token 也可能不同;即使平均分布熵很高,每个模型自身也可能都很尖锐。第六章将用 ensemble 互信息区分“模型内平均熵”和“模型间分歧”,但其解释依赖模型样本的构造。

5.9 训练因素需要交叉或嵌套设计

设预训练 seed 为 uu,后训练 seed 为 vv,解码 seed 为 rr,评测输入为 ii,分数为

Yi,u,v,r.Y_{i,u,v,r}.

不同问题需要不同重复结构:

  • 研究预训练变异:需要多个 uu;
  • 研究后训练配方:每个配方至少要覆盖多个可比的 u,vu,v;
  • 研究采样变异:固定 checkpoint 后重复 rr;
  • 研究输入总体:需要按真实抽样单位覆盖多个 ii。

若每个训练配方只有一个 checkpoint,配方效应与该 checkpoint 的 seed 效应完全混杂。增加同一 checkpoint 的一千次解码不能补回缺失的训练重复。

完整交叉设计成本可能过高,可以采用嵌套或不平衡设计,但必须按实际层级估计方差,并把不能分离的因素写成个案限制。

5.10 一个分层行为模型

对数值分数,可用以下模型组织变异来源:

Yrij=μ+αr+brj+ui+εrij,Y_{rij} =\mu+\alpha_r+b_{rj}+u_i+\varepsilon_{rij},

其中 rr 是训练配方,jj 是该配方下的训练运行,ii 是输入,αr\alpha_r 是配方平均效应,brjb_{rj} 是运行偏差,uiu_i 是输入难度。

这个分解必须带识别约束。固定效应可取基准约束 α1=0\alpha_1=0,或预先给定 wr>0w_r>0、∑rwr=1\sum_r w_r=1 并取 ∑rwrαr=0\sum_r w_r\alpha_r=0;随机截距版本还需声明

brj∼iidGb,EGbB=0,Var⁡Gb(B)=σb2,b_{rj}\overset{\mathrm{iid}}\sim G_b,\quad \mathbb E_{G_b}B=0,\quad \operatorname{Var}_{G_b}(B)=\sigma_b^2, ui∼iidGu,EGuU=0,Var⁡Gu(U)=σu2,u_i\overset{\mathrm{iid}}\sim G_u,\quad \mathbb E_{G_u}U=0,\quad \operatorname{Var}_{G_u}(U)=\sigma_u^2, εrij∼iidGε,EGεE=0,Var⁡Gε(E)=σ2,\varepsilon_{rij}\overset{\mathrm{iid}}\sim G_\varepsilon,\quad \mathbb E_{G_\varepsilon}E=0,\quad \operatorname{Var}_{G_\varepsilon}(E)=\sigma^2,

并通常假设三族随机量相互独立;采用 Gaussian likelihood 时还须声明 Gb,Gu,GεG_b,G_u,G_\varepsilon 为相应正态分布。若把 brjb_{rj} 当固定效应,则可改用每个配方内 ∑jbrj=0\sum_j b_{rj}=0,这要求有多个运行。没有这些约束,任取 crc_r 并令 αr′=αr+cr\alpha'_r=\alpha_r+c_r、brj′=brj−crb'_{rj}=b_{rj}-c_r,观测模型不变,参数不可识别。

这个式子不是必须采用的真生成模型,而是检查设计可识别性的工具。若某个 rr 只有一个 jj,配方均值与该次运行偏差不能由该配方数据经验分离;把 brjb_{rj} 积分掉只会把结论转化为依赖零均值分布假设的部分汇聚,不会制造训练重复。若同一输入未同时评测各模型,也失去配对降低方差的优势。

对二元或计数结果,应使用相应链接函数或直接做分层 bootstrap,而不是强迫正态线性模型。

5.11 Checkpoint 恢复定义训练路径

可逐步继续训练的 checkpoint 通常需要保存:

  • 模型权重与优化器一阶、二阶矩;
  • 优化步数和学习率调度状态;
  • 各设备、各并行 rank 的 RNG 状态;
  • 数据游标、shard、sampler 与 packing 状态;
  • loss scaling 和混合精度状态;
  • 并行拓扑、kernel 与版本化配置。

只恢复权重再继续训练,会开启一条合法但不同的训练路径。恢复后 loss 连续也不证明样本顺序与优化器状态逐步一致。

用于统计复现时,还应保存运行选择规则。只发布验证集最优 seed 会把 seed 搜索变成未计入的不透明超参数优化。

5.12 固定 checkpoint 的推理仍可能变化

即使 temperature 被服务标记为 0,以下因素仍可能改变输出:

  • 并行归约或原子操作的非确定顺序;
  • 动态 batching 改变 kernel 和张量布局;
  • 量化尺度、设备代际或编译器路径不同;
  • MoE 容量与并发请求相互作用;
  • 服务端模型、模板或处理器滚动更新;
  • 检索、工具和网络状态变化;
  • 极接近 argmax 的候选在舍入后换序。

这里至少有三种系统:纯模型前向、模型加解码运行时、包含工具和后处理的产品。只有先固定边界,才能讨论“同一系统是否确定”。

5.13 三种复现目标

  1. 逐步复现:参数、状态和中间张量在规定容差内一致,适合调试与数值核验。
  2. 输出复现:给定输入返回相同 token 或系统结果,适合回归测试。
  3. 统计复现:重复运行的预先指定指标分布或效应区间一致,适合随机训练与随机解码研究。

三者没有单向蕴含关系。逐 bit 不同的实现可能统计等价;冻结一条输出路径也不能证明系统分布稳定。报告应先声明所需层级和容差。

5.14 最小报告要求

研究模型间变异时,应至少记录:

  • 哪些数据、随机源和环境固定,哪些被重复抽样;
  • 训练运行数、失败运行与 checkpoint 选择规则;
  • 每个输入和每个 checkpoint 的原始结果;
  • 解码重复是否嵌套在 checkpoint 内;
  • 区间估计在哪个层级重采样;
  • 结论面向这些已训练模型,还是试图推广到训练算法总体。

“我们固定了 seed”只说明选定一条路径;“我们改变了三个 seed”也不足以说明已可靠估计尾部风险。重复次数应由目标效应、方差和成本决定,并报告区间而非只报均值。

5.15 本章结论

训练 checkpoint 是数据、随机算法和数值环境共同产生的输出;部署结果又在固定 checkpoint 内经历解码与系统状态。参数差异、预测差异和输出差异不是同一对象。要估计训练方法效应,必须在训练运行层重复;要估计部署行为概率,则需在固定系统层重复。下一章讨论如何用 proper score、校准、熵与选择性风险评价这些预测分布。

本书目录
本书目录
  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第十二章 模型、数据与部署生命周期
  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第五章 训练随机性、参数变异与系统非确定性
    1. 5.1 训练结果是算法与环境的函数
    2. 5.2 Mini-batch 梯度何时无偏
    3. 5.3 显式随机算法的来源
    4. 5.4 数值非确定性不是采样不确定性
    5. 5.5 参数不同不等于函数不同
    6. 5.6 模型集合不自动是 Bayesian posterior
    7. 5.7 运行内与模型间方差分解
    8. 5.8 预测熵不能完成上述分解
    9. 5.9 训练因素需要交叉或嵌套设计
    10. 5.10 一个分层行为模型
    11. 5.11 Checkpoint 恢复定义训练路径
    12. 5.12 固定 checkpoint 的推理仍可能变化
    13. 5.13 三种复现目标
    14. 5.14 最小报告要求
    15. 5.15 本章结论
  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 与互信息边界