几乎没人真正教你如何做研究。你得到一张桌子、一个别人选好的问题,以及一句含糊的指令:做出点新东西。于是大多数人会从自己能看到的东西里反向推断这份工作到底是什么:论文、帖子、发布公告。最后他们学会的是如何看起来像研究者,而不是如何真正成为研究者。真正的能力其实是一组更小能力的叠加,而且几乎每一项都可以刻意训练。

选择自己的问题

Richard Hamming 在 Bell Labs 有个习惯,这让他午饭时不太受欢迎。他会问坐在旁边的人:你所在领域里最重要的问题是什么?然后再问:那你为什么没有在做这些问题?人们后来会换桌子坐。这个问题让人难受,因为我们大多数人都没有好答案。我们不是在选择问题,而是在吸收问题:从导师那里,从某个大实验室上个季度刚宣布的方向里,从本周大家都在引用转发的论文里。

吸收来的问题有个麻烦:你拿到了结论,却没有拿到推理过程。你知道某个著名实验室关心一个方向,却不知道为什么,不知道他们预期会发现什么,也不知道什么结果会让他们放弃这个方向。等他们转向时,你可能一年后才知道。而在一个已经变得时髦的问题上,你是在和上千个更早出发、算力也更多的人赛跑。

John Schulman 的 ML 研究指南把研究工作分成两种模式。一种是阅读文献,寻找可以改进的地方;另一种是选择一个你真心希望它存在的结果,再从这个结果反推需要做哪些实验。他主张第二种,其背后的原因在于,这种模式能催生原创性。一个你真正关心的目标,会把你拖进任何综述论文都没有覆盖的地带。

与此同时,品味常常被讨论得像是一种天赋。但它更像肌肉。每次实验运行前,先预测结果。遮住一篇论文的结果部分,只凭方法去猜数字。记下这个月发布的哪些东西两年后仍然重要,之后再检查自己的命中率。一次预测加一次校正,重复几百次,就是每个好模型的训练方式,包括你脑子里的那个模型。

升级你的输入

共享阅读清单会产出共享想法。如果你的信息来源只是 arXiv 热门页加上群聊过滤后幸存下来的内容,你就会稳定地和所有人在同一时间得出同样的结论,而这种结论大约一文不值。

旧材料被严重低估了。这个领域会带着延迟重演自己的过去:Mixture of Experts 可以追溯到 1991 年,LSTM 是 1997 年,backprop 在 1986 年成为主流。Rich Sutton 在 2019 年写 The Bitter Lesson 只用了大约一千个词,却比篇幅十倍于它的综述更能预测这个领域的形状。Claude Shannon 在 1952 年关于创造性思维的演讲里,开场动作是把一个问题缩小到几乎微不足道,先解决这个小版本,再一块一块把难度加回来。这个单一技巧能带你穿过的墙,比任何现代生产力建议都多。

广度与深度同样重要。可解释性毫不掩饰地借鉴了神经科学。评估设计不过是穿上了实验室白大褂的机制设计。对GPU实际如何移动内存有切实的了解,能让你在基准测试之前就知道哪些架构论文注定失败。而诚实的统计学可能是机器学习中最稀缺的技能,在这个领域,很多已发表的严谨研究不过是带有误差线的直觉判断。还有一件事:读论文原文,不要只读概括它的帖子。附录里常常埋着真正的问题,局限性部分通常是整篇文档里最诚实的一段。

把一切写下来

Paul Graham 指出,一个想法在你试图把它写成文字之前,可能会让你感觉已经完全成形。纸页会找到你脑子里自动糊过去的缺口:那个你从未验证过的假设,那个其实接不上的步骤,那两个悄悄互相矛盾的主张。

feynman的原则是,你首先必须避免欺骗的人是你自己,因为你是最容易上当的目标。写作是有史以来最廉价的防御手段。达尔文更进一步,将其程序化。任何与他的理论相悖的事实都会当场记录下来,因为他发现自己的记忆删除不便的证据比删除方便的证据更快。你的记忆对失败的尝试也会做同样的事情。记日志:假设、设置、预期、结果、更新后的信念。重读上个月的记录,其令人谦逊的程度是任何评审都无法比拟的。

然后把其中一些内容公开。Olah 和 Carter 的《研究债务》一文指出,各个领域会被未消化的观点所困扰,而清晰的解释才是真正的贡献。如今很多从事可解释性研究的人是通过通俗易懂的文章而非会议论文发现这个领域的。公开的写作成果也可以作为你能拥有的最有力的资历证明,因为它是你思维方式的不可伪造的样本。

广告媒流(小程序)-爆款监控

收紧循环

关于 Alec Radford 的故事,很少是某次天才一闪。它们讲的是量:每天更多次运行,每周丢掉更多错误想法,一个比其他人更新得更快的现实模型。这才是真正的游戏。研究速度,在很大程度上就是你发现自己错了的速度。

这使得工具化成为一项一流的研究活动。启动一次运行应该只需一个命令。绘制结果应该再只需一个命令。每个实验都应该可以从其配置中复现,比较两次运行应该只需几秒钟,而不是花一下午去“考古”。Karpathy的神经网络训练秘诀中有一步能带来百倍回报:在大规模训练之前先让单个批次过拟合。三十秒,一半的错误就消失了。把一切都缩小到成本低廉,确保无误,然后再投入算力资源。

在前沿领域中,这两项工作已经融合。能够构建框架、评估和数据管道的研究人员,其假设才能真正得到检验。其他人都只能排队等待。

盯着输出看

下降的损失曲线不是分析,而是安慰。你的实验会抛出远多于你实际消化的信息:记录、失败案例、分布中奇怪的尾部。大多数信息都在日志文件夹里无人阅读地死掉。

Karpathy 的配方从写任何训练代码之前就开始:手动花几个小时看原始数据。大多数 ML 错误都藏在数据里,而且它们悄无声息地出现。没有任何程序崩溃。你只是得到一个平庸的模型,以及一个关于原因的错误理论

吴恩达十多年来一直在传授同样不那么光鲜的做法,因为没有什么能比它更有效。找出一百个失败案例,阅读所有案例,将它们分类,然后攻克最大的那一类。这对模型有效,对评估也有效,因为一个你从未读过其记录的基准,实际上是你并不真正理解的基准。一份真正奇怪行为的记录所教给你的,比下一个小数点的准确率要多得多。

有意识地游走

你的第一个子领域是时间点造成的偶然,所以也应该把它当成偶然。认真花时间待在可解释性、评测、RL、系统等领域,再决定你要在哪里长期落脚。在这个领域的某个角落,你的独特之处会成为一种不公平优势;找到它的唯一方式,是在好几个地方都交学费。没人会免掉这笔学费。

先运行每个想法的一次性版本,让大多数想法早早死掉。把基线调到让你难受,因为 ML 的坟场里满是那些在一个调好的基线面前蒸发掉的收益,而从评审那里了解到这一点是最糟糕的。进行消融实验,直到你知道是哪个组件带来了结果。通常只有一个组件,而且通常不是标题里提到的那个。

广度也是一种保障。所有子领域都会饱和,通常就在它们在推特上达到顶峰之后。在这些转变中持续产出的人,是那些已经熟悉周边领域的人。

找到同路人

Hamming 注意到,最终做出重要工作的人有一种模式。那些关着办公室门的同事在任何一年里完成的工作量更多,而那些开着门的同事做的是真正重要的工作,因为被打断的过程中会带来有关世界实际需求的信息。你的敞开的门可能就像一个收件箱。保持这样就好。

在研究领域,慷慨的回报是无与伦比的。重复验证一个结果并发表你的发现。公开你为自己开发的工具。用通俗易懂的语言解释复杂的事物。回报会在几个月后以意想不到的方式到来,比如合作机会、引用或者你原本无法申请到的职位。也把你尚未成熟的想法公之于众,因为在时间线上犯错远比在出版物中犯错代价小得多。在你投入三个月时间之前就告诉你某个想法不可行的合作者,比算力资源更有价值。这种关系是买不来的,只能靠努力赢得。

长期游戏

Pasteur 说,幸运眷顾有准备的人,而 Hamming 在这句话上建立了一整套职业哲学:知识和生产力就像利息一样会产生复利。每天的边际优势单独看起来微不足道:你读什么、记录什么、循环跑得多快、和谁争论。给它们几年时间,它们会产出那种从外面看起来像运气的职业轨迹。在感觉有必要之前就开始积累复利。未来的你已经知道,这是成本最低的部分。

📎 原文信息

原帖链接:https://x.com/itsreallyvivek/status/2064686372737454155