论文复现
能力定位
把“跑通论文代码”提升为可审计的复现:明确要复现哪条主张、需要哪些输入、哪些变量固定、哪些差异允许存在,以及结果是否真的支持相同结论。重点是证据链,不是追求截图上出现一个接近的数字。
本技能适合把论文、附录、作者仓库和用户环境整理成实验计划,也可在当前工具和资源允许时执行代码型实验。没有论文全文、数据、算力或许可时先报告缺口,不猜测超参数或编造运行结果。
快速导航
- 环境、数据、随机性和运行台账:读 实验账本。
- 指标对齐、误差判断和报告:读 结果比较与结论。
- 只想确认能否复现:先做资产清单、成本估算和阻塞项,不开始全量训练。
- 作者代码能运行但数字不同:检查数据版本、预处理、评估协议和随机性。
- 没有作者代码:先复现最小基线或单个可观察机制,不直接重建全部系统。
新手30秒入门
提供论文或链接、要复现的表格/图/结论、可用代码与数据、硬件预算和时间上限。例如:“复现表 2 的主要指标,只有一张 24 GB 显卡,最多运行 8 小时,可接受先做小规模趋势验证。”
先输出 复现卡:目标主张、资产、差异、成本、最小实验和停止条件。默认不下载受限数据、不启动高成本任务、不把运行无报错当成复现成功。
功能索引
| 任务 | 核心产物 | 完成信号 |
|---|---|---|
| 可行性评估 | 资产与成本清单 | 阻塞和替代路径明确 |
| 环境重建 | 版本、依赖、硬件记录 | 最小样例可重复运行 |
| 数据对齐 | 数据谱系与切分指纹 | 预处理和泄漏检查清楚 |
| 基线复现 | 最小实现与单元检查 | 基线方向和量级合理 |
| 主结果复现 | 实验矩阵与多次运行 | 指标按原协议比较 |
| 消融/敏感性 | 控制变量表 | 每次只改变声明变量 |
| 失败诊断 | 差异树和证据 | 不用盲调参数代替定位 |
| 复现报告 | 主张级结论与限制 | 证据、日志和产物可追溯 |
标准工作流
1. 选择主张而不是整篇论文
把目标写成论文中的具体表格行、图形趋势、算法性质或实验结论。记录论文声称的条件和指标;“复现整篇”必须拆成多个主张并标优先级。
2. 分层收集证据
区分论文正文、附录、作者代码/数据、第三方实现和本地观察。保存访问时间、版本或提交标识、许可与缺失项,不把第三方默认参数当成作者设定。
3. 做可行性和安全门禁
估算数据许可、存储、算力、运行时长、费用与实验风险。人体、隐私、临床、湿实验、危险材料和受监管环境必须由相应机构和专业人员批准;本技能不提供绕过路径。
4. 锁定环境与数据谱系
记录操作系统、运行时、依赖、硬件、驱动、随机种子、数值精度和环境变量名。数据记录来源、许可、校验、版本、切分与预处理;秘密和个人数据不写入公开日志。
5. 建最小可运行链路
先用小样本或短周期验证输入形状、标签、损失、指标和保存恢复。为关键转换设置简单不变量;如果最小链路不可信,不启动全量实验。
6. 复现基线再复现主方法
按相同数据和评估协议先运行最接近的基线,确认环境不会把所有方法都拉偏。主方法与基线共享可比条件;无法共享时在报告中明确差异。
7. 执行受控实验矩阵
为每次运行分配稳定 ID,记录唯一变化、随机种子、资源、开始结束时间、状态和产物。达到预算、连续失败阈值或结论已无法判定时停止,不用无界调参追数。
8. 比较并写主张级结论
按原论文的指标定义、聚合方式和不确定性比较。结论使用“复现、部分复现、未复现、无法判断”,说明差异是否改变主张,而不是只报告相对百分比。
输出规范
复现卡 包含 citation_id、target_claim、reported_value、target_artifact、assets、known_differences、budget、minimum_run、stop_conditions。运行账本 每行一个 run_id;结果表 同时列论文报告值、本地值、绝对差、相对差、不确定性和协议差异。
最终报告必须把事实来源分开:论文报告、作者材料、第三方材料、本地实测、解释性推断。没有运行的实验标记 planned,不得生成看似真实的数字或图。
能力边界
- 不保证作者代码、数据或依赖永久可用,也不绕过数据许可、访问控制和付费限制。
- 不伪造运行日志、随机种子、图表、统计显著性、引用或“与论文一致”的结论。
- 不把单次运行、缩小数据集或不同硬件结果静默当作完整复现。
- 不执行未经批准的人体、临床、湿实验、危险化学或生物操作。
- 不代替领域专家判断论文理论、实验伦理或统计设计。
稳定性保障
所有运行由不可变配置或配置哈希关联,原始结果只追加不覆盖。先验证加载、预处理、指标和保存恢复,再增加规模。失败重试必须改变一个已说明的原因;相同错误连续两次后停止并回到差异树。
对随机实验至少记录种子与重复次数;资源不足只能得出小规模或条件性结论。结果汇总由运行账本生成,手工修正要留下理由和原值。
深度定制
机器学习任务可增加数据泄漏、基线、公平比较、显存和精度检查;系统论文增加硬件拓扑、并发、预热和尾延迟;数据库论文增加数据规模、缓存状态和查询分布;问卷与行为研究增加伦理审批、量表和匿名化;理论工作可改为定理假设、证明步骤和反例检查。任何领域都保留主张级证据链。
FAQ
代码能跑通就是复现成功吗? 不是。还要确认数据、协议、指标和目标主张,运行成功只是链路证据。
结果差 2% 算不算失败? 取决于指标、不确定性、论文波动范围和主张敏感度,不能用统一阈值判断。
显卡不够怎么办? 先做最小趋势或机制验证,明确它不能替代完整规模结果;不要静默缩小后宣称等价。
没有作者数据可以换公开数据吗? 可以做迁移验证,但必须把问题改写为新的条件性主张,不与原结果直接等同。
反模式与修正
| 容易出错的做法 | 修正 |
|---|---|
| 一上来全量训练 | 先做资产、成本和最小链路门禁 |
| 数字接近就宣布成功 | 对齐指标、协议和不确定性后判断主张 |
| 为追结果不断调参 | 预先登记矩阵、预算和停止条件 |
| 只跑主方法不跑基线 | 同环境复现基线,区分环境偏差 |
| 覆盖失败日志只留最好结果 | 原始结果追加保存,失败也进入账本 |
按需 references
实验账本 用于环境、数据和运行追踪;结果比较与结论 用于指标对齐、误差和主张级报告。只做可行性评估时无需加载完整比较模板。