没有人真正教过你怎么做研究。你分到一张桌子、一个别人挑的课题、一句含糊的指令——「做出点新东西来」。于是大多数人从能看到的东西里反推这份工作到底是什么:论文、推文、发布会。最后学到的,是怎么看起来像个研究者,而不是怎么成为一个研究者。
真正的研究能力是一叠更小的技能。几乎每一项都可以刻意训练。
理查德·汉明(Richard Hamming)在贝尔实验室有个让他在午餐桌上不受欢迎的习惯。他会问旁边的人:你们领域里最重要的问题是什么?然后追问:那你为什么不去研究它?人们纷纷换桌子。
这个问题之所以刺痛,是因为大多数人答不上来。我们不是在「选择」问题,我们是在「吸收」问题——从导师那里、从某个大实验室上季度发的公告里、从这周所有人都在引用的论文里。
吸收来的问题有个麻烦:你拿着结论,但没有推理过程。你知道某个著名实验室关心某个方向,但不知道为什么,不知道他们期望找到什么,也不知道什么会让他们放弃。等他们转向的时候,你要一年后才会知道。而在一个已经时髦的问题上,你在跟一千个起步更早、算力更多的人赛跑。
约翰·舒尔曼(John Schulman)的机器学习研究指南把工作分成两种模式。一种是读文献、找可以改进的地方;另一种是选一个你真心想让它存在的结果,然后倒推回实验。他主张第二种。深层原因是:
品味(taste)这件事,人们讨论起来像在说一种天赋。其实它更像一块肌肉。每次实验之前先预测结果。读论文时遮住结果部分,仅凭方法猜数字。标记这个月的哪些发布两年后还会重要,然后回头检查命中率。一次预测加一次修正,重复几百次——每个好模型都是这么训练的,包括你脑子里那个。
共享的阅读列表产出共享的想法。如果你的信息来源是 arXiv 的热门页加上群聊筛过的东西,你会可靠地在同一时间得出和所有人一样的结论——这让那些结论约等于一文不值。
旧材料被严重低估了。这个领域在延迟重播自己的过去:混合专家模型(Mixture of Experts)始于 1991 年,LSTM 始于 1997 年,反向传播在 1986 年走向主流。里奇·萨顿(Rich Sutton)在 2019 年只用了大约一千个词写出「苦涩的教训」(The Bitter Lesson),它对这个领域形态的预测比十倍篇幅的综述都准。克劳德·香农(Claude Shannon)在 1952 年做过一场关于创造性思维的演讲,他的开场策略是:把一个问题缩小到几乎平凡,解决小版本,然后一次加回一块复杂度。这一个技巧能帮你穿过的墙,比任何现代效率建议都多。
可解释性从神经科学大量借鉴。评估设计本质上是穿了实验服的机制设计。对 GPU 如何搬运内存有实际理解,能让你在基准测试出来之前就判断哪些架构论文注定失败。而诚实的统计学可能是机器学习里最稀缺的技能——大量发表出来的「严谨」不过是带误差棒的直觉。
还有一件事。读论文本身,别读总结论文的推文。附录是埋尸体的地方,局限性章节通常是整篇文档里最诚实的一段话。
保罗·格雷厄姆(Paul Graham)指出,一个想法在你试图用文字表达之前,可以一直感觉完全成形。纸面会找出你脑子里糊弄过去的缺口:那个从没验证过的假设、那个实际上推不出来的步骤、那两个悄悄互相矛盾的主张。
费曼的规则是:你必须避免欺骗的第一个人是你自己,因为你是最容易的目标。写作是有史以来发明的最廉价的防御机制。达尔文走得更远,把它变成了流程:任何与他的理论相悖的事实都当场写下来,因为他发现自己的记忆删除不利证据的速度比删除有利证据快得多。你的记忆对失败的实验也在做同样的事。保持记录:假设、设置、预期、结果、更新后的信念。重读上个月的条目,那种谦卑感是任何审稿人都比不上的。
然后把一部分公开发表。克里斯·奥拉(Chris Olah)和尚·卡特(Shan Carter)的「研究债务」论文指出,领域会被未消化的想法噎住,而一篇清晰的解释是真正的贡献,不是服务性工作。今天在可解释性领域工作的很多人,是通过可读的博文找到这个领域的,不是通过会议论文。
关于亚历克·拉德福德(Alec Radford)的故事,很少涉及一次天才的灵光乍现。涉及的是产量。每天更多的实验、每周更多被丢弃的错误想法、一个比所有人都更新得快的现实模型。
这让工具建设成为一流的研究活动。启动一次实验应该是一条命令,画图应该是另一条。每个实验都应该能从它的配置文件复现,比较两次实验应该只需要几秒,而不是一下午的考古。
卡帕西(Karpathy)的神经网络训练指南里有一步,回报是成本的一百倍:在大规模训练之前,先在单个 batch 上过拟合。三十秒,一半的 bug,没了。把一切缩小到足够便宜,先做对,再花算力。
在前沿,这两份工作已经融合了。能自己搭实验框架、评估流程和数据管线的研究者,才是假设真正能被验证的那个人。其他所有人都在排队。
一条下降的 loss 曲线不是分析,是安慰剂。你的实验产出的信息远远超过你消费的:转录文本、失败案例、分布的奇怪尾部。大部分信息未被阅读,死在日志文件夹里。
卡帕西的指南在任何训练代码之前就开始了——用几个小时手动查看原始数据。大多数机器学习 bug 活在数据里,而且它们静默地失败。什么也不崩溃,你只是得到一个平庸的模型和一个关于原因的错误理论。
吴恩达(Andrew Ng)教了同一个不起眼的动作超过十年,因为没有什么比它更有效。拉出一百个失败案例,全部读完,分成几堆,攻击最大的那堆。它适用于模型,也适用于评估——一个你从没读过转录的基准测试,就是一个你实际上不理解的基准测试。
你的第一个子领域是时机的偶然,所以就这么对待它。在可解释性、评估、强化学习、系统等方向上花真正的时间,然后再决定你住在哪里。在这个领域的某个角落,你特有的怪异之处是一种不公平的优势,而定位它的唯一方式是在好几个地方交学费。没有人给你免学费。
先跑每个想法的一次性版本,让大多数想法早夭。调基线直到痛苦为止,因为机器学习的坟场里满是在正确调优的基线面前蒸发的增益——审稿人是你能从其嘴里学到这件事的最差人选。做消融实验直到你知道哪个组件承载了结果。通常只有一个,而且通常不是标题里的那个。
汉明注意到一个规律,关于谁最终做了重要的工作。关门的同事在任何一年里完成了更多的事,但开门的同事做了真正重要的工作——因为打断他们的人携带着关于世界真正需要什么的信息。你的「开着的门」大概是收件箱。保持打开。
复现一个结果并发布你的发现。开源你为自己做的工具。用平实的语言解释一个困难的东西。回报会侧面到来,几个月之后,以你无法申请到的合作、引用或职位的形式。也把你半成形的想法公开抛出来,因为在时间线上犯错远比在出版物上犯错便宜。而那个在你投入三个月之前告诉你一个想法不好的合作者,比算力更值钱。这种关系买不到,只能挣到。
巴斯德说机遇偏爱有准备的头脑,汉明在此之上建了一整套职业哲学:知识和生产力像利息一样复利增长。那些日常的微小优势单独看起来微不足道——你读什么、你记录什么、你的循环跑多快、你跟谁争论。给它们几年时间,它们会产出从外面看起来像运气的职业生涯。