TTiti的学习笔记
首页 / 综合实践 / 12_深度学习原理与经典论文路线/论文到代码复现工作流.md

论文到代码复现工作流

综合实践 · 12_深度学习原理与经典论文路线/论文到代码复现工作流.md

论文到代码复现工作流

一句话定义

这份工作流把“读论文”转成“能用 PyTorch 写出核心机制的最小 demo”,目标不是复现 SOTA,而是证明你理解了论文最关键的一小块。

解决什么问题

直接读经典论文容易出现三种假懂:

  1. 知道论文名字,但说不清它解决什么问题。
  2. 能看懂 AI 的解释,但不知道对应到哪段代码。
  3. notebook 能跑,但不知道输出说明什么。

所以每篇论文都要走同一个闭环:


研究问题 -> 核心机制 -> 最小输入输出 -> PyTorch demo -> 输出解释 -> 局限边界 -> 口头表达

五步工作流

第 1 步:锁定一个核心机制

每篇论文只选一个最小机制,不要试图完整复现。

论文建议复现机制不要一开始复现
word2vecskip-gram + negative sampling大规模语料训练和语义评测
ResNetresidual block F(x) + x完整 ImageNet 训练
Attentionscaled dot-product attention完整机器翻译系统
Transformerself-attention + positional encoding完整 encoder-decoder 训练
GPTcausal mask + next-token prediction大规模预训练
BERTmasked language modelingNSP 大规模训练和 GLUE
GPT-3few-shot prompt 结构训练 175B 模型
Scaling Lawtoy loss curve 和 compute budget真实大模型实验
Chinchilla参数-token-计算量权衡表真实 compute-optimal 扫描
RLHFSFT/RM/PPO 三阶段流程和偏好排序完整 PPO 训练
LoRAfrozen weight + low-rank update微调真实大语言模型
Diffusionforward noising + noise prediction高分辨率图像生成

第 2 步:写清输入和输出

在写代码前,先填这个小表:

项目内容
输入是什么例如 token id、图像 tensor、隐藏状态
输入 shape例如 [batch, seq_len, embed_dim]
模型计算什么例如 attention weight、residual sum、noise prediction
输出是什么例如 logits、embedding、denoised point
输出 shape例如 [batch, vocab_size]
loss 是什么例如 cross entropy、MSE、negative sampling loss

如果这张表填不出来,先不要写代码。

第 3 步:让 AI 生成最小代码,但必须加约束

推荐提示词:


请帮我写一个 PyTorch 最小 demo,复现【论文名】中的【核心机制】。



我的约束:

1. 只用 toy data,不追求论文实验结果

2. 所有关键 tensor 都要打印 shape

3. 代码不要超过一个教学 notebook 的复杂度

4. 每个模块后写一句“对应论文中的哪一部分”

5. 最后列出没有复现的内容,防止夸大



我已经确定的输入输出:

【粘贴输入输出表】

第 4 步:自己检查代码是否真的对应论文

用下面 6 个问题检查:

  1. 代码里的核心函数是否对应论文核心机制?
  2. 输入 shape 和论文中的对象是否能对上?
  3. loss 是否和这个机制有关?
  4. 训练输出或前向输出能说明什么?
  5. 哪些部分只是教学简化?
  6. 哪些论文结论不能由这个 demo 支撑?

第 5 步:写一段“代码到论文”的解释

每个 notebook 运行后,必须写一段 5 句话解释:


这个 demo 对应论文中的【机制】。

输入是【对象】,shape 是【shape】。

模型做了【计算过程】。

输出/损失说明【结果解释】。

它没有复现【未覆盖内容】,所以不能声称完整复现论文。

最小合格证据

每篇论文至少留下 4 个证据:

  1. 一页论文笔记。
  2. 输入输出 shape 表。
  3. notebook 输出截图或文字记录。
  4. 3 分钟口头解释稿。

常见错误

错误 1:把 demo 说成完整复现

不合格表达:

我复现了 Transformer。

合格表达:

我复现的是 Transformer 中 scaled dot-product attention 的最小前向计算,还没有复现多头注意力、训练流程和机器翻译实验。

错误 2:只会跑代码,不会解释 shape

修正动作:

在每个关键 cell 后写:


输入 shape:

输出 shape:

这个维度代表:

错误 3:让 AI 一次写完整项目

修正动作:

只让 AI 生成一个机制的最小 demo。先跑通,再扩展。

和本实验室方向的关系

这个工作流训练的是科研入门的基本动作:从论文中抽出可验证机制,再用代码做最小检验。以后做复杂系统、时间序列、网络科学或机器学习项目时,也可以用同样流程:


论文问题 -> 核心假设 -> 最小模型 -> toy data -> 输出解释 -> 局限

可以追问老师/同学的问题

  1. 我选的这个最小复现点是否代表论文核心贡献?
  2. 这个 toy demo 会不会过度简化论文问题?
  3. 我解释的 tensor shape 是否和真实模型一致?
  4. 哪个实验结果最能证明论文贡献?
  5. 如果要进一步复现,下一步应该补数据、模型还是评价指标?