跳转至

Read this page in English

2026-10-14 post-training 旧失败独立审计

结论与范围

本审计记录已真实执行、但未通过 GPU 验证门禁的四个 seed 42 诊断。它不是 GPU passed receipt,不修改旧失败,不因参数变化、gate 拟合或单元测试通过而宣称论文方法已验证有效。

四次执行均绑定源码 commit 6aabe57a97ec3a586aac7aeea66128750f9441da。本次只读取旧运行的结果、失败、启动和退出记录,以及相关实现和已缓存的原文;没有运行 GPU、重新生成响应、下载资源或读取 train/validation/test 数据行。旧结果中已有的验证集汇总和成本仅作为历史执行事实引用;没有用其选择后续方案,官方 test 未打开。

旧运行 实际判定 独立审计结论
MBS magicbeanstalk-s42 无合格 verified-hard 根题,exit 1 当前四题及终止预算未形成可进入递归构建的根题;不是 effectivity 或 Goldilocks 成功
SynthSelf synthself-gold-control-s42 Eq.6 不满足,exit 1 严格 sequence-NLL 判定失败正确;另有 gold/rewrite EOS 口径不对称,需要独立核验,不能认定只是模型不适配
UPTURN upturn-7b-reasoner-s42 eligible failed rollouts 为 0,exit 1 确认段落边界检测有 tokenizer 漏切;缺少逐响应审计,不能解释为“7B 太强、全部答对”
UPTURN upturn-small-reasoner-s42 position informative groups 为 0,exit 1 gate 实际训练、head 参数实际变化,但 position 梯度只有熵项,未验证 rescue-learning

固定论文与公开资源身份

论文机构取自本地规格;算法核对使用既有固定 v1 原文,不新增论文扫描。

方法 原始论文 公司/机构
MagicBeanStalk arXiv 2610.12659v1 NVIDIA / University of Washington / Carnegie Mellon University / Stanford University
SynthSelf arXiv 2610.13113v1 LG AI Research / KAIST AI
UPTURN arXiv 2610.13672v1 KAIST
资源 固定 revision / SHA256 用途
Qwen/Qwen2.5-0.5B-Instruct 7ae557604adf67be50417f59c2c2f167def9a775 MBS/SynthSelf 学生、UPTURN encoder;small 诊断也用作 reasoner
Qwen/Qwen2.5-7B-Instruct bb46c15ee4bb56c5b63245ef50fd7637234d6f75 MBS/SynthSelf teacher/aligner、UPTURN 7B reasoner
openai/grade-school-math 3101c7d5072418e28b9008a6636bde82a006892c 仅官方 train 派生的既有 train/validation holdout
原始公开 train 内容 SHA256 17f347dc51477c50d4efb83959dbb7c56297aba886e5544ee2aaed3024813465 旧结果保存的数据身份
train 分区 SHA256 6b8672439c8cf6f6b6e65bf5f0e515fbf4c497c9066eefb62a6a6a61ced158e3 normalized-question SHA256 的固定分区
validation 分区 SHA256 2cf1119ad7b2e31e825274487ef32c073e03a8ed44f08ecd3e0366c1f40ebdb7 仅引用旧元数据;本审计未读取其内容

旧运行 context 上限为 4096;MBS 用 4 train 题,其他三项用 8 train 题,旧运行均配置 4 validation 题。这些是既有配置,不代表正式能力比较。完整公开 checkpoint 文件 hash 保留在旧结果及资源审计中;本文件不复制权重、响应、题目或答案。

MBS:没有 verified-hard,不等于递归构建成功

6aabe57a 的根题入口要求全部实际目标学生 rollout 失败,且全部未截断:not any(rewards) and not any(truncated)。旧 raw 的四组结果为:

根题序号 四条实际奖励 截断标记 accepted
1 [1,1,1,1] [false,false,false,false] false
2 [0,1,0,1] [false,false,false,false] false
3 [0,0,0,0] [true,false,true,false] false
4 [1,1,0,0] [false,false,false,false] false

第三组不能把预算耗尽的失败伪装为已验证困难。四题都没有通过根题 gate,raw 只记录 seed-hardness-calibration;因此未证明实际分解、effectivity、合成、novelty、目标 Goldilocks 或 RLVR 更新发生。错误消息“无合格 descendant”是终止结果,不能推断已经执行下游全部阶段。

该次属于固定小样本/预算下的构建失败;不得放宽 hard/termination gate、伪造答案或将混合成功率题改名为 hard 来签 passed。后续不同源码或 train-only 根题池实验须另开不可变运行,不能改写这次失败。

SynthSelf:Eq.6 原值与 EOS 风险

从已缓存固定原文核对,Eq.4/5 对整个响应的 token log-probability 求和再按样本平均,不是 token 均值。Eq.6 同时要求 L(aligner) < L(gold) 和 R(aligner) > R(self)。

旧 seed 42 的原值:

指标 实测值
gold sequence NLL 69.12544560432434
rewrite sequence NLL 76.84697580337524
rewrite − gold sequence NLL 7.721530199050903
aligner quality 1.0(8/8 verified、均未截断)
self quality 0.75
empirical constraints satisfied false

质量条件成立,NLL 条件不成立。旧脚本虽随后真实执行方法和 gold-SFT 各两次更新,仍保存 failed-aligner-constraints 并返回 1,判定正确。方法每次监督 659 token,对照每次 762 token;相同 epoch 不等于等实际监督 token。不得用已有权重变化绕过 Eq.6,也不能改用 token 均值或截短 rewrite 求通过。

另有必须说明的协议风险:synthself/checkpoint.py 将 gold 用 add_special_tokens=False 编码,而 ResponsePolicy.generate 保留生成的 EOS。固定 Qwen tokenizer 的 EOS 是 ID 151645、<|im_end|>;因此当前 gold 与 rewrite 的结束 token 口径不一致。对比的 NLL 可能受到影响,但已存 aggregate 没有逐响应 token/NLL 分解,本审计无法量化 EOS 对 7.72153 差值的贡献,不能声称修正后一定通过。

后续须在看新结果前预声明一致的完整响应终止约定,保留 sequence 求和与严格不等式;不能从“带 EOS / 不带 EOS”两种结果中择优晋级。旧 raw 仍按原口径保留为失败。

UPTURN 7B:真实段落边界漏检与归因限制

旧 failure 记录 gate training cases 24、calibration cases 8、eligible failed rollouts 0;在训练 head 前终止。它没有保存逐响应 correctness、truncation、真实字符段落数和检测 cuts 数,因此无法区分“全部正确”“失败但缺少可切段落”“tokenizer 漏切”等原因。

已确认共享 progressive_contraction.algorithm.paragraph_prefixes 的实现只搜索孤立 tokenizer("\n\n") 的 token 子串;UPTURN construction/evaluation 调用该函数。原文定义是实际双换行段落边界,不保证其 tokenizer 编码在不同上下文中恒定。

本次仅加载既有固定 tokenizer、未加载模型的 CPU 反例:

text = "First step.\n\nSecond step.\n\nFinal \\boxed{2}"
token IDs = [5338,3019,382,15666,3019,382,19357,1124,79075,90,17,92]
isolated "\n\n" token IDs = [271]
token ID 382 decodes to ".\n\n"
真实双换行边界数 = 2
旧 paragraph_prefixes 返回 = []
按原 token 截止位置应为 cuts = [3,6]

CPU 核验使用既有 .cache/oct14-skill-public-transfer tokenizer。其 tokenizer.json SHA256 为 c0382117ea329cdf097041132f6d735924b697924d6f6fc3945713e96ce87539,tokenizer_config.json SHA256 为 5b5d4f65d0acd3b2d56a35b56d374a36cbc1c8fa5cf3b3febbbfabf22f359583,与该固定 Qwen tokenizer 身份相符。

修复契约应扫描真实 decoded 双换行边界并映射回原生成 token截止索引,保留原 tokens[:cut],不重编码 prompt/prefix;cut 排序、去重、按上限截取,拒绝响应末端和 cut >= Lmax。共享 helper 同时影响 Progressive Contraction,需两调用路径的回归。源码修正、测试和冻结后才能另开 GPU run;这不是更改论文段落定义。

该 bug 可影响 eligible 数,不能由 CPU 反例断言它解释了旧 7B 全部失败。旧结果必须保留,不能直接改名为“7B 太强”。

UPTURN small:熵项更新不等于救援学习

旧 small reasoner/encoder 均为固定 0.5B。gate 实际运行 20 次 BCE 更新,训练/校准样本为 5/1,训练标签含 0/1,BCE 从 0.650352418422699 降至 0.0020837492775171995;单个校准样本不支撑稳定 gate 性能。

Position step 采样 cut rescue rewards / advantages 梯度 L2 loss
1 [197,172,442,137] 四项均 0 / 四项均 0 0.000027731650334317237 -0.0013861844781786203
2 [280,537] 两项均 0 / 两项均 0 0.0001910477294586599 -0.0006919213919900358

position_loss 使用组内中心化奖励,两个 group 的 surrogate 均为零;loss 数值来自 -0.001 × entropy。虽然 optimizer 实际执行、参数 digest 改变,position_informative_groups=0,不是非零 rescue 优势训练。旧 failed-no-rescue-signal / exit 1 判定正确。

这是真实已采样切点上的负结果,不证明全部段落切点、不同预算或不同 reasoner 永远不能救援;段落漏检也限制了原候选集合。不能拿熵项参数更新或 gate 拟合来签 rescue-learning passed。

已核对的实际成本

下表取自旧 raw cost / exit.json;generation calls 是生成 API 调用数,不是生成响应数。预算上限、模型加载、未执行阶段与实测成本分开,不用 launch 的理论上界冒充实测。

旧运行 实际 generated tokens scored response tokens frozen encoder forward / input tokens 墙钟秒 exit
MBS 6,282 0 0 / 0 85.59944366663694 1
SynthSelf + gold control 6,076 4,263 0 / 0 164.40409300103784 1
UPTURN 7B 7,556 0 32 / 11,220 79.60914537124336 1
UPTURN small 25,532 0 40 / 21,793 250.56925148144364 1

实际成本逐角色拆分:

  • MBS:evaluation 4 calls / 1,541 token;target calibration 4 calls / 4,741 token。无 construction/rescue/训练角色记录。
  • SynthSelf:evaluation 12 calls / 4,560 token;aligner 8 calls / 659 token;self rewrite 8 calls / 857 token。初始 NLL scoring 1,421 token;方法与 gold-SFT 合计 2,842 token。既有验证调用已计费,本审计未重跑。
  • UPTURN 7B:training rollout 8 calls / 7,556 token;没有 rescue、gate 或 position 更新发生。
  • UPTURN small:training rollout 8 calls / 13,843 token;rescue training 6 calls / 2,241 token;evaluation originals 4 calls / 3,310 token;base extra 4 calls / 5,246 token;evaluation correction 6 calls / 892 token。只有最大允许生成预算匹配,不代表实际 token/墙钟相等。

一次最小有界后续建议(未执行)

这是 training-only 协议核验建议,不是恢复授权、passed 声明或新实验结果。必须先修正协议、通过 CPU 合同、由主冻结源码和授予 GPU 槽位,再创建新的不可变 attempt;旧失败 source 绑定不变。

固定原 8 条 train、seed 42、公开模型 revision,不读 validation/test,不扩样本、不换模型、不重试:

  1. SynthSelf:8 条 aligner 与 8 条 self greedy rewrite,max_tokens=512。预声明两侧完整响应 EOS 恰好一次,重算 Eq.4–6;仅构建/NLL 核验,不做 LoRA/SFT 或评测。此阶段本身不能代替通过约束后的真实 SFT 验收。
  2. UPTURN:修正段落映射后,用同 8 train、7B reasoner、0.5B encoder,group=4/max_tokens=768/max_cuts=16/cuts=4/suffixes=2,gate 20 epochs、position 最多 2 steps,仅训练不 assessment。eligible 仍为 0 或 rescue 优势仍全为 0 即保留失败并停止。

严格总上限:64 个生成输出、45,040 generated token(SynthSelf ≤8,192;UPTURN ≤24,576 原 rollout +12,272 suffix)、32 次 frozen encoder forward(每次完整输入 ≤4,096 token)、16 条 sequence-NLL scoring(响应总 token ≤4,866:固定原 gold 762 加 8 个 EOS,再加 rewrite ≤4,096)、零 LoRA 更新、20 次 gate 更新、position ≤2 次,整体墙钟 ≤1,200 秒。原 gold 的 762 token 来自旧对照汇总,不重新读取或挑选数据行;若固定样本身份/长度不一致,应失败而非扩大预算。未使用预算不转移到额外样本或新配置。任何参数/数据/源码变更都需新 run,不根据失败或 test 结果追加尝试。

旧 raw 索引与 SHA256

这些原始运行文件是本地忽略缓存,不提交题目、答案、checkpoint 或日志。下表路径相对仓库根;完整路径为公共前缀 .cache/oct14-post-training/post-raw-attempt01/ 加“运行目录/文件”。hash 对应本次读取的旧原始字节,可用于核对保留的失败。launch.json / runtime.log 本身不复制到本文;这里只保存其 SHA256。

运行目录/文件 SHA256
magicbeanstalk-s42/launch.json fc1675dc64ca98b49f5086fd8191fa9f8b07417f6df184a372787f8375e8b484
magicbeanstalk-s42/exit.json a18d57f66dba8964ccc8219e56ee099bffdf24f8ce60fe78266365ce0cb69c33
magicbeanstalk-s42/runtime.log f32d9cf8aff30e551a39f29c53f2b75cf21097db0c3536c0a38f406abfaa472e
magicbeanstalk-s42/evidence/failure.json 5fd3a7305d462e1caf2dd0c24b3898b2fb9d5c167f1bff999200f5e312099bca
synthself-gold-control-s42/launch.json d1cc894c71d3c127a34a1cb8fa55b944c0085b328a98b626a51a37953502063f
synthself-gold-control-s42/exit.json 3bd063b3009b81675ece2d9a0ed0e10ffb6fb90e96b2a4b3877bf234f23157aa
synthself-gold-control-s42/runtime.log 880e4af216d08cefe784985889df3597f18d2266a1a7b25903b99a42507626c9
synthself-gold-control-s42/evidence/result.json 33280c1a0cc3357e15fd9d9d7e9059baa8422aef1e32608d741c94bae3d3f21f
upturn-7b-reasoner-s42/launch.json 267075019fae72a16e7fd3fb2c121675ee6dd22712f8f6081d0895ac6fb8ae8a
upturn-7b-reasoner-s42/exit.json ed44bbcb038ac5569fa450793ec3b7f6ea862ef49096a47b422c0e0a883bf2cb
upturn-7b-reasoner-s42/runtime.log 7ecf87b51732d48ba4683b467cfb41e22dcbc5ae3ac4d9d308a77b9fc335cbf6
upturn-7b-reasoner-s42/evidence/failure.json 95fea3546302fb434623c8ca84ee9993b707a8c7d1ac124b32176c068752cb8b
upturn-small-reasoner-s42/launch.json 2c83fd1062bea40676741ee28e53e1d703e9718a1a11cb79536132cfd6772860
upturn-small-reasoner-s42/exit.json 668197efb374eecadc9571e5478b58fa2321509b1ca351212580788ca94e152a
upturn-small-reasoner-s42/runtime.log 6460c7e06ec1bc4c381794fa60f006b5f91a71fe551d111f6d822043fe64b857
upturn-small-reasoner-s42/evidence/result.json 779c3d7675edca755d5d246530f136d47440b2231544dcb3d0567275950cca87

关键执行源码 SHA256 从各 launch.json 的固定 source6a 映射引用,而非按后续工作树重新绑定:

source6a 文件 SHA256
scripts/run_oct13_post_training.py f482471e2c33189bcfed7c02fce0e79fb58ba9606a3a354c12ee2a63bfca8f6b
src/auto_research/post_training/oct13_common.py 739f276633d74a85ba790e4d6df25504bce89950c40867ed57302cde03f1ada9
src/auto_research/post_training/response_policy.py e380a5b4d1d53974b973b72b7d9ad6328129dc8c9bae4d233f6c1cbdf8508bf7
src/auto_research/reproductions/magicbeanstalk/checkpoint.py f509334fea6b6db2e68668bb7957e8f6e29c522e63012be440779b9346d1c9e0
src/auto_research/reproductions/synthself/checkpoint.py 9835b086272d9262f057a0fc0975d19ff3b84d5e1766cc234ca1e11985164891
src/auto_research/reproductions/upturn/checkpoint.py 83ac66cead272cb391fe27c56f838df5414712283db42f2b8088d3509de311f3
src/auto_research/reproductions/progressive_contraction/algorithm.py 176743356415111e3e19a26427cf59391b4b84b56697adf8d3fe3038ad0de3c1

原文核对使用既有 .cache/oct13-scan/fulltext/2610.13113v1.html.html(SHA256 c9efb4a2c920629101e847e312be5fcc08a6adf85d47017deecae300750ef803)和 2610.13672v1.html.html(SHA256 56ae1afa9358c70e86988f45a097d95e1453b8489fb11edc7c1b8b032f33d0a4)。算法、旧测量、CPU 反例与未执行建议分开记录;后续修复或新跑结果不得覆盖本文的 source6a 失败事实。