← 返回书架人工智能 · 交互式 Wiki
模型工程/小模型学习与泛化资料与边界
训练目标与优化入门实测报告学习主线 4 / 6

继续用 长度泛化失败诊断检查 EOS、位置与训练支持,再进入 自然语言小模型项目。

ACTUAL CPU TRAINING / SAVED EVIDENCE

小模型学习:拟合、生成与未见长度

从随机初始化的小型 decoder 开始,训练四符号反转任务。查看实际保存的学习曲线、完整生成和逐题失败,再用同一 checkpoint 核对恢复与缓存。

02 / ACTUAL SAVED RUNS

先看同题输出,再看学习曲线与未见输入

任务是将 A/B/C/D 组成的序列反转,并生成结束符 EOS。浏览器展示已保存的 CPU 实测快照;先比较同一道题训练前后的输出,再分别看总体结果与未见长度。完整监督格式见任务与监督约定。

正在载入保存的真实快照…

读取完整本地报告或下载当前数据

完整 report.json 包含全部题目的初始、训练后和规则基线预测;文件只在本地浏览器处理,上限 16 MiB。

01 / TASK CONTRACT

先固定任务、拆分和监督位置

内容符号为 A/B/C/D。输入 A B C 的目标是 C B A EOS;完整训练串为 BOS A B C SEP C B A EOS。SEP 位置的 logits 预测第一个答案 token,提示词与 padding 的 labels 为 −100,仅答案和 EOS 参与交叉熵。

输入与它的反向等价输入先分到同一个 group,再按长度分层拆分。默认 train/validation/test 为长度 2–5 的 405/130/139 条,长度 6–8 外推为 143 条;exact input 与 group 均不跨集。本轮沿用固定预算;独立测试和外推不选择配置。

PAD=0BOS=1SEP=2EOS=3A/B/C/D=4/5/6/7
Ltoken=−1Nsupervised∑i,t: yi,t≠−100log⁡pθ(yi,t∣zi,≤t)\mathcal L_{\rm token}=-\frac{1}{N_{\rm supervised}}\sum_{i,t:\,y_{i,t}\ne -100}\log p_\theta(y_{i,t}\mid z_{i,\le t})
labels 已与当前位置 logits 对齐,不能再次移位。训练目标按有效监督 token 归一化;全无标签的 batch 跳过更新。

模型为 2 层、width 64、4 heads、101,120 参数;使用固定正弦位置编码、Pre-LayerNorm、GELU、dropout 0.1 和未绑定输出头。固定位置编码避免引入未训练的绝对位置表,但不保证学到可外推的反转算法。

03 / GENERATION AND FAILURE

teacher forcing 与真实生成各测量什么?

条件交叉熵

Teacher-forced loss 在正确答案前缀下计算。其 argmax 可辅助定位监督,不能计作自由生成准确率;自由生成只接收输入 prompt 和自己此前输出。

统一结束口径

所有模型题目 greedy 生成,首次预测 EOS 或共同上限 max_new_tokens=20 才停止。不会按正确答案长度停止。生成的 PAD/BOS/SEP 保留为真实位置并计为错误,训练 padding 仍排除。

独立基线

复制与常量基线利用可观察输入长度输出 EOS;常量符号仅从训练集统计。Oracle 直接实现反转规则,是算法上界。基线没有模型的 teacher-forced loss,不作为学习证据。

固定预算的结果边界

本次训练 EM 为 100.00%,独立测试为 100.00%,长度外推为 0.00%。训练拟合、独立测试与更长输入的能力分别报告;配置不因测试或外推结果继续调参。这些结果属于当前保存的运行环境与固定预算。

ai=∑j=1min⁡(∣y^i∣,∣yi∣+1)1[y^i,j=(yi,EOS)j]max⁡(∣y^i∣,∣yi∣+1)a_i=\frac{\sum_{j=1}^{\min(|\hat y_i|,|y_i|+1)}\mathbf 1[\hat y_{i,j}=(y_i,{\rm EOS})_j]}{\max(|\hat y_i|,|y_i|+1)}
逐题分母取实际输出与正确答案加 EOS 的较长者,缺失和额外位置都计错。页面 micro 准确率先累加分子/分母;配对导出保留逐题 aᵢ。

完整匹配要求内容全部正确且 EOS 恰好结束在正确位置。短且尚未结束的独立轨迹标为 incomplete,实际达到上限才标 cap。该任务的同长度未见输入成功不能代表任意算法泛化,更不能外推到自然语言模型能力。

04 / REPRODUCE AND INSPECT

从本地工件复现并连接下一步证据

.venv-framework/bin/python scripts/test-learning-core.py
node --test scripts/test-learning-run.mjs

# 新目录中的完整三 seed 训练,固定参考版本;无需下载模型
node scripts/run-learning-lab.mjs

# 只复核现有 checkpoint,不重训;复核报告同样保存到新目录
node scripts/run-learning-lab.mjs --revalidate-report artifacts/reproduced-20261028T115030Z/learning/report.json

复用 PyTorch 2.9.0 / NumPy 2.3.4 的 .venv-framework,启动时强制核对版本。每次创建独立目录并拒绝覆盖,保存完整 splits、冻结配置、每步记录 IDs/loss/token 计数、初始/中途/最终 checkpoint、曲线、全部预测、来源和 SHA-256。默认页面取自 artifacts/reproduced-20261028T115030Z/learning/report.json。

机制核对实际读取范围:Vaswani 等原论文 v7 的 decoder 因果 mask、缩放点积与正弦位置章节;本机官方 PyTorch 2.9.0 的 SDPA、CE、LayerNorm、AdamW、CPU RNG 与 save/load docstrings;固定 v2.9.0 的 Numerical accuracy 中浮点非结合性与 batch/slice 段落。Xiong 等 ICML 2020 仅核对摘要与出版元数据,不从本实验推导通用 warmup 结论。

适用范围与一手资料

固定符号序列任务上的本地小型 decoder,独立拆分训练、验证、测试与长度外推。分别记录 teacher-forced loss、自由生成 token accuracy 和完整序列 exact match;实际报告的种子、环境、预算、恢复与缓存误差在专题内声明。

公式与机制的原始依据 · 4 项
知识目录
搜索知识库