BATCH / SEQUENCE GRADIENTS / TOKEN BUDGET
Batch 与梯度噪声:从固定参数走到真实训练
先固定模型 θ,测量独立完整序列的梯度和总体协方差;再让模型实际更新,比较相同样本流、相同消费 token 和相同评估集下的学习结果。抽样方差和训练效率分别有自己的证据。
01 / FIX THETA AND OBJECTIVE
固定 θ 后,先定义每条序列的梯度
ℓi(θ)giΣNtr(ΣN)=Ti1t∈Si∑−logpθ(yi,t∣xi,≤t),=∇θℓi(θ),μ=N1i=1∑Ngi,=N1i=1∑N(gi−μ)(gi−μ)T,=N1i∑∥gi−μ∥2. 𝒮ᵢ 是序列 i 的监督位置,Tᵢ=|𝒮ᵢ|,EOS 也受监督。本实验 Tᵢ=4、N=6;协方差明确使用总体分母 N,模型参数、记录和完整梯度矩阵保存在本机。
固定参数实验使用共享 decoder 的初始化 θ,width=32、depth=2、heads=4、Pre-LN、dropout=0,CPU float64。每条序列单独 autograd,拼接全部可训练参数;六条的平均梯度还与同一 sequence-mean 目标的整批 autograd 核对。实际矩阵直接计算均值与中心化平方和,避免在均值很小时从两个大数的差恢复噪声。
Gram 矩阵 Kᵢⱼ=gᵢᵀgⱼ 保存全部梯度内积,页面用它精确重建有限人口的 batch 范数、与 μ 的方向余弦和平方偏离。导入会检查对称与正半定;浮点相消使平均梯度范数接近零时,噪声比值和方向显示未定义/病态。
02 / WHICH SAMPLING LAW
有放回与无放回的方差分别是什么?
gˉBCov(gˉB)iidCov(gˉB)without=B1b=1∑BgIb,E[gˉB]=μ,=BΣN,=B(N−1)N−BΣN,1≤B≤N, N>1. 有放回时 Iᵦ 独立且在 N 条序列上均匀。无放回是均匀选择 B 个不同人口项。N=1、B=1 只有唯一梯度,方差为 0;B=N 的无放回方差也为 0。
有限总体修正、样本分母与相关反例
Cov(gˉB)Cov(gIb,gIc)withoutSN−1Cov(gˉB)without=B21BΣN+b=c∑Cov(gIb,gIc),=−N−1ΣN,=N−1NΣN,=B1−B/NSN−1. Sₙ₋₁ 是使用 N−1 分母的样本协方差;用它表达时必须同时调整公式。总体分母为 N 时不能直接把 (1−B/N)/B 乘 Σₙ。
整批重复同一个随机序列,各槽位共享梯度,交叉协方差为 Σₙ,batch 方差保持 Σₙ。相关混合以概率 ρ 整批重复,以概率 1−ρ 独立抽样,每个槽位仍然均匀,交叉协方差为 ρΣₙ。
Cov(gˉB)correlated=(ρ+B1−ρ)ΣN 本页 ρ=.5 是明确的混合抽样法则,穷举按对应概率加权。它不是由训练结果倒推的相关系数。
人口中出现重复记录与一批内重复同一随机记录需要分开:前者若仍独立抽取索引,按新人口的 Σₙ/B 计算;后者产生交叉协方差,不能把多份复制当成多份独立信息。
03 / READ ACTUAL RECORDS
保存、重跑和本地导入
.venv-framework/bin/python scripts/test-training-dynamics.py
node --test scripts/test-training-dynamics.mjs
node scripts/run-dynamics-lab.mjs --out-dir artifacts/dynamics-lab-my-run --write-page-data
实验使用共享 core,固定 PyTorch 2.9.0 / NumPy 2.3.4 CPU 单线程环境。完整 report 包含梯度人口、精确抽样结果、训练曲线、各次更新的样本与 LR、逐题预测及恢复核对;checkpoint 另保存参数、optimizer、RNG、数据流和 cursor。默认快照只提取必要字段和少量预测,不加载完整轨迹。
文件只在本地浏览器读取,结构校验不认证外部数据来源。经过时间含评估、梯度探针和保存,可能受同机任务影响,不作为各 batch 的吞吐比较。已有报告目录拒绝覆盖。
04 / ENUMERATE THE POPULATION
同一批梯度,穷举不同抽样方式
固定模型 θ 的六条实际序列梯度
总体分母 N · 精确概率枚举
平均梯度 ‖μ‖
总体 covariance trace
简单 trace / ‖μ‖²
穷举 E‖ḡ−μ‖²
该法则的公式预测
穷举与公式绝对误差
六条实际输入与逐序列 loss
| 索引 | 记录 ID | 输入内容 | sequence CE / nats |
|---|
零均值代数反例从保存梯度减去总体均值,保留中心化方差,展示均值相消时比值与方向的边界。它是明确的代数变换,未被标成新的 decoder 目标或训练测量。方向余弦在 μ 或某个 batch 梯度近零时也未定义;方差本身仍可以计算。
05 / SAME STREAM AND TOKEN BUDGET
让 θ 实际变化,再比较固定消费预算
训练使用共享 width32/depth2 的 Pre-LN decoder、Adam、β=(.9,.999)、ε=10⁻⁸、decay=0、dropout=0、不裁剪。三个 seed 分别生成一个预保存的同序列流;各 batch 和 LR 消费该流的同一前缀,验证、测试和长度外推集都相同。反转等价输入按组拆分,训练只含长度 3,长度 5 保留为外推。
η(t)η(t)=η01024t,=η0[0.1+0.45(1+cos(π32768−1024t−1024))],0≤t<1024,1024≤t≤32768. t 是本次实际 batch 完成时累计消费的非 padding input token,不是 update step。三种 batch 使用同一公式,取 LR 的 token 端点更稀疏时,数值轨迹仍会不同。
18 次真实训练:3 seed × 3 batch × 2 LR
4,096 记录 · 32,768 input token
| 序列 batch B | 更新次数 | 最终 teacher-forced CE | seed min…max CE | 自由 token 正确率 | 完整序列 exact match | 最终 θ 简单噪声比值 |
|---|
teacher-forced loss 使用正确历史目标作为输入;自由生成用模型自己输出的前缀,按内容和 EOS 计分。相同 token 预算允许更新次数不同,也不会自动保证学习充分。当前两种 LR 是预设对照,未为每个 batch 单独寻找最优值;固定 θ 的噪声数值不能给出任意 Adam、scheduler 或裁剪配置的最优 batch。
06 / SEE FREE GENERATION
检查当前 run 的自由生成记录
07 / DIAGNOSTIC AND SCOPE
简单噪声比值支持哪种判断?
Bsimple=∥μ∥2tr(Σ),BHessian=μTHμtr(HΣ) 简单比值描述固定 θ 的梯度信噪关系;右侧是论文局部二阶分析中的 Hessian 加权量。此页没有测量 H,也不估计右侧。分母近零、非正曲率和局部近似条件都需要单独判断。
McCandlish 等的分析从局部二阶 Taylor 展开和适当步长出发,并明确讨论短视优化、条件数、简单近似、LR 调参、非二次项与泛化边界。附录 A.1 用不同 batch 的梯度范数估计均值平方与 covariance trace;两者的估计各可无偏,取比值却不自动无偏。这里对六条人口直接测量梯度并穷举,不把小人口精确计算冒充部署分布的无偏最优 batch 估计。
2026-10-28 已读取该作者论文第 2.2–2.4 节的协方差关系、式 2.8/2.9 与限制,以及附录 A.1 的估计器说明。共享 core 的任务、标签、Norm、自由生成和恢复 API 也已逐行核对。完整作者、标题、URL 与读取范围记录于专题实施说明和 report provenance。
适用范围与一手资料
以独立序列为样本,固定内部监督归一化,在同一参数点核算平均梯度、总体协方差迹与抽样修正;训练曲线另以实际消费 token 对齐。零均值、重复和相关样本需独立解释,统计量不直接确定任意优化器的最优 batch。
公式与机制的原始依据 · 3 项