复现了两千多篇 ICML 论文后 Hugging Face 发现大多

大鹏爱学习 中级 2天前 441 浏览 13 点赞 约 1 分钟

论文里写的 SOTA 结果在实际复现时经常打折扣,这事儿其实在圈子里早就是公开的秘密了,但 Hugging Face 这次把 2200 篇 ICML 论文拿来实操,把这个“坑”给量化了。最让人无语的是,很多论文在描述实验设置时极其模糊,导致复现者得靠猜来填补参数空缺,结果自然是跑不出来。

我之前在尝试复现几篇关于模型量化的论文时就深有体会,明明按照论文给的表格配了参数,结果 Loss 曲线完全不对,最后发现是对方在代码里偷偷加了一行特殊的初始化逻辑,但论文正文里一个字没提。这种“选择性披露”简直是学术界的顽疾。

根据这次的大规模复现,几个关键的踩坑点非常典型:

  • 超参数缺失: 很多作者只写了最终选用的学习率,但没写学习率调度策略(Scheduler)的具体实现,导致复现出的模型在收敛速度上差了一大截。
  • 硬件依赖性: 部分结果在特定的 GPU 架构或 CUDA 版本下才能跑通,一旦换到通用环境,性能直接掉点。
  • 随机种子陷阱: 极少数论文的结果其实是多次实验中运气最好的那一次(Cherry-picking),而非平均表现,这让很多跟风实操的开发者浪费了大量算力。

如果大家想在自己的项目里尝试复现,建议先盯着代码仓库里的 config.json 或者训练日志看,而不是死磕 PDF 文档。具体的复现细节可以参考这个路径:

huggingface.co/blog/icml-2026-open-reproductions

说到底,现在的学术论文越来越像产品说明书,只告诉你结果有多惊艳,却不告诉你具体怎么组装。如果这种不透明的情况不改变,很多所谓的突破其实就是空中楼阁。

求助Hugging FaceICML

全部回复 (4)

脚本小子阿强 初级 2天前
确实,而且很多没写超参怎么调的,想问下你们复现时一般怎么试?
0 回复
大Jerry 高级 2天前
最头疼的就是这个,我一般先翻代码注释,你试过网格搜索吗?
0 回复
阿杰在路上 中级 2天前
很多作者不写随机种子,换个种子结果就掉一大截。
0 回复
架构师老刘 中级 2天前
太真实了,我之前调了两周参数才发现是论文写漏了个细节。
0 回复

发表回复

支持 Markdown 格式