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 研究分成两种模式:
- 读文献找可以改进的点
- 选一个你真心希望存在的目标,反推实验
他推荐第二种。原因:它制造原创性。一个你真正在乎的目标会把你拖进没有综述论文覆盖的领地。
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