How to be good at research

nobody really teaches you research. you get a desk, a problem someone else picked, and a vague instruction to produce something novel...

nobody really teaches you research. you get a desk, a problem someone else picked, and a vague instruction to produce something novel. so most people reverse-engineer the job from what they can see, which is papers, threads, and announcements, and what they end up learning is how to look like a researcher rather than how to be one.

Vivek 这篇文章把"做研究"拆解成一组可刻意练习的小技能。核心论点:研究不是天赋,是可训练的肌肉。

Pick your own problems

Richard Hamming 在 Bell Labs 的习惯:午餐时问别人"你领域里最重要的问题是什么",然后问"那你为什么不在做它"。大多数人答不上来——我们不是选择问题,而是吸收问题(来自导师、大厂公告、本周热推论文)。

吸收的问题毛病在于:你只拿到结论没拿到推理。当那个大厂转向时,你一年后才知道。而且在已经很时髦的问题上,你在跟一千个起步更早、算力更多的人竞争。

John Schulman 把 ML 研究分成两种模式:

  1. 读文献找可以改进的点
  2. 选一个你真心希望存在的目标,反推实验

他推荐第二种。原因:它制造原创性。一个你真正在乎的目标会把你拖进没有综述论文覆盖的领地。

Taste 像肌肉,不是天赋:

  • 每次跑实验前先预测结果
  • 盖住论文结果章节,只看方法猜数字
  • 标记本月发布里两年后还重要的,回头核对命中率

预测 + 纠正,重复几百次,是你脑子里那个模型训练的方式。

Upgrade your inputs

共享的阅读列表 = 共享的想法。信息饮食是 arxiv trending + 群聊过滤器,你会跟所有人同时得出相同结论,让那些结论价值约等于零。

老素材被严重低估。 这个领域在延迟重播自己的过去:

  • Mixture of Experts → 1991
  • LSTM → 1997
  • Backprop 主流化 → 1986
  • Rich Sutton 的 The Bitter Lesson(2019,约 1000 字)比十倍长度的综述更准确地预测了领域走向
  • Claude Shannon 1952 年关于 creative thinking 的演讲:先把问题缩小到几乎平凡,解决小版本,再把难度逐块加回去

广度跟深度同样重要:

  • Interpretability 厚颜无耻地借鉴神经科学
  • Eval design 是穿了白大褂的机制设计
  • 对 GPU 实际如何搬运内存的感觉,能让你在 benchmark 之前就知道哪些架构论文注定失败
  • 诚实的统计可能是 ML 里最稀缺的技能——很多发表的严谨是带误差棒的 vibes

读论文本身,别读总结它的 thread。附录里埋着尸体,limitations 段落通常是全文最诚实的一段。

Write everything down

Paul Graham:一个想法可以感觉完全成型,直到你试着把它写成文字。页面会找到你脑子里被糊弄过去的缺口——你没验证的假设、不真正成立的步骤、暗中互相矛盾的两个声明。

Feynman 的规则:你必须避免愚弄的第一个人是自己,因为你是最容易的目标。写作是最便宜的防御。

Darwin 把它程序化:任何不利于他理论的事实当场写下,因为他发现自己记忆删除不利证据比有利的更快。你的记忆对你失败 run 做同样的事。

保持日志:假设 / 设置 / 期望 / 结果 / 更新后的信念。重读上月条目的羞辱感没有任何 reviewer 能匹敌。

然后把一部分公开。Olah 和 Carter 的 Research Debt 文章论证:领域会因未消化的想法而窒息,清晰的解释是真正的贡献而非服务工作。公开写作也是你能持有的最强凭证——它是你思考方式的不可伪造样本。

Tighten the loop

Alec Radford 的故事里很少有单次天才闪光,更多是:每天更多 run、每周丢弃更多错误想法、比任何人都快的现实模型更新速度。

研究速度主要是你发现自己错了的速度。

Tooling 是一等公民的研究活动:

  • 启动一个 run 应该是一条命令
  • 画图应该是再加一条命令
  • 每个实验都能从 config 复现
  • 比较两个 run 应该花几秒,不是一下午考古

Karpathy 训练神经网络的 recipe 里有个值回票价的步骤:在规模化训练前先过拟合单个 batch。 30 秒,砍掉一半 bug。先把一切缩小到便宜、做对,再花算力。

工程不是研究的小弟。在 frontier,两个工作已经融合:能自己搭 harness、eval 和数据 pipeline 的研究员,才是假设真正会被测试的人。其他人都在排队。

Stare at the outputs

下降的 loss 曲线不是分析,是安慰。你的实验抛出的信息远比你消费的多:transcript、失败案例、分布的诡异尾巴。大部分默默死在 logs 文件夹里。

Karpathy 的 recipe 在任何训练代码写之前就开始:手工花几小时看原始数据。大多数 ML bug 住在数据里,它们静默失败——不会 crash,你只是得到一个平庸模型和一套错误的归因理论。

Andrew Ng 教了十多年的同一招:拉一百个失败案例,全部读一遍,分堆,攻击最大的堆。它对模型有效,对 eval 也有效——一个你没读过 transcript 的 benchmark,是一个你并不真正理解的 benchmark。 一个真正诡异行为的 transcript 教你的,比下一个精度小数位教你的多。

Wander on purpose

你的第一个子领域是时间偶然。花真时间在 interpretability、evals、RL、systems,再决定住哪。这个领域某处有个角落,你的特定怪癖是不公平优势,定位它的唯一方式是在好几个地方交学费。没人免学费。

  • 先跑每个想法的一次性版本,让大部分早死
  • 把 baseline 调到痛——ML 墓地里全是被正确调过的 baseline 蒸发的增益
  • Ablate 到你知道哪个组件承载结果——通常是一个,通常不是标题里那个

广度也是保险。子领域会饱和,通常恰好在 Twitter 热度峰值之后。在过渡期持续产出的人,是那些已经熟悉邻近领地的人。

Find your people

Hamming 注意到一个模式:关门的同事当年产出更多,开门的同事做了重要的工作——因为打断带来的是关于世界真正需要什么的信息。你的"开门"大概是某个 inbox。让它开着。

慷慨在研究里复利得最快:

  • 复现一个结果并发布你找到的
  • 发布你为自己造的工具
  • 用平实语言解释困难的东西
  • 在 public 浮动你半成型的想法——在 timeline 上错了比在 print 上错了便宜得多

在你投三个月进去之前告诉你"这想法不行"的合作者,比算力更值钱。 这种关系买不到,只能挣。

The long game

Pasteur 说运气偏爱有准备的头脑。Hamming 在此之上建了整套职业哲学:知识和生产力像利息一样复利。

每天看起来琐碎的边:

  • 你读什么
  • 你记录什么
  • 你的 loop 多快
  • 你跟谁争论

给它们几年时间,它们产出从外部看像运气的职业。比感觉必要的更早开始复利。未来的你已经知道这是最便宜的部分。


来源: Vivek @ X