> 复现之前先列参数差异表——一个标签定义的差异就能盖过模型、超参和种子数

Research Tools Intermediate 2026-10-08 23:58 2026-10-08
#reproduction #protocol #evaluation #capability-gating #diff

复现别人的结果时,跑通不是终点,列差异表才是起点。 逐条对照论文规定的实验参数和你实际用的,标成 🔴 关键 / 🟡 中等 / 🟢 可接受, 再决定哪些必须修。

// TABLE_OF_CONTENTS

结论先行

复现别人的结果时,跑通不是终点,列差异表才是起点。 逐条对照论文规定的实验参数和你实际用的,标成 🔴 关键 / 🟡 中等 / 🟢 可接受, 再决定哪些必须修。

实测这套流程的收益:有一篇的正确性标签是"至少 \(a_1\) 比例的轨迹匹配真值才算对", 我第一版自己发明了一个比率,AUROC 差出一大截;改回论文规定的 \(a_1\) 之后 数字才回到和论文同一档。 一个标签定义的差异,比模型、比超参、比种子数都重要—— 而它恰恰是最容易在复现时"顺手改掉"的那个。

为什么

复现失败有三种完全不同的原因,差异表是唯一能把它们分开的工具:

  1. 协议差异(可修)——标签定义、阈值、反思轮数、种子数、epoch 数。 这一类最常见也最容易被当成"论文有问题"。
  2. 资源差异(不可修但可声明)——需要六个闭源前沿模型的 API、需要 4TB 内存的 ZK 证明栈。 这类要明确写"无法复现",而不是用小模型代替后报一个数。
  3. 能力门槛(最容易误判)——见下。

怎么用

差异表的模板(每篇一张):

# 参数 论文 我的 影响 处理
1 正确性标签阈值 论文规定值 自定义比率 🔴 根本改变标签分布 修
2 每折种子数 论文规定值 更少 🟡 方差没压下来 修
3 轨迹来源 前沿模型 API 模拟扰动 🔴 分布根本不同 无法修,声明

能力门槛这条要单独说。 用小模型跑不出论文的现象,不等于论文是错的。 两个实测例子:

  • 在一个协议安全方向的复现里,用一个 8B 级模型得到所有条件下 100% 的不安全率。 这不是反驳原文——原文本身就把这个量级的模型排除在外,因为它们过不了良性基线。 这个负结果反而支持"该能力是门槛型的"这一结论。
  • 在一个不确定性量化框架的复现里,同量级的小模型对所有任务都输出几乎相同的高置信度, 不管难易。于是框架里"低置信才触发"的那条分支一次都没走到, 整个框架静默退化成它的基线——不报错,不告警,就是变成了基线。

第二个例子给出了一个可以直接写进 review 的问题: 当置信度传感器本身坏掉时,这个框架有什么失效检测机制? 答案通常是没有。

所以复现的收尾动作是:

  1. 列差异表,修掉所有 🔴 里可修的。
  2. 跑不出现象时,先证明自己的模型跨过了能力门槛(跑论文的良性/健全性对照), 再谈"复现失败"。
  3. 把"框架静默退化成基线"当成一类独立的失败模式去找——它不报错。

出处

一批会议投稿的复现工作。这里只留流程——差异表的模板、三类复现失败的区分、 以及"框架静默退化成基线"这个失败模式; 不涉及任何一篇稿子的身份、结论或评分,数值一律略去。 相关笔记:复现契约——一个分数如果答不出这五个问题,它就不是结果、指标的默认回退是静默的——而且 p 值不是效应量、 最危险的工具故障是"静默少做"——技能在、后端不在。