大家好,欢迎回到 The Information Bottleneck 课。今天我们请来了一位特别嘉宾田渊栋,你好,渊栋。谢谢你来参加我们的节目。你好,Rabbit。你好,阿兰。谢谢你们邀请我。田渊栋,你在 Meta 的 Fair 工作了很长时间,最近又联合创办了 Recursive Super Intelligence。

专注于自我递归和自动化研究,这些我们后面会聊。不过先从头说起吧,先聊聊你是怎么开始做深度学习和机器学习的?当时是怎么开始的?谢谢你问这个问题。其实我是二零零八年来到美国的,来机器人研究所读博士。二零零八年的时候,我对机器学习很感兴趣。我觉得当时大家其实不认为机器学习是一条可行的路,大家很反对这个想法,说机学习效果没那么好,因为它会过拟合,而且搞不清楚到底是怎么回事儿。

不过读博士的时候还是做了一些优化和机器学习方面的工作。主要是研究计算机视觉里一些复杂的非线性非凸优化问题,也证明了一些有意思的定理。这些定理说明,即使问题是非凸的,只要增加数据,还是能在一定程度上证明解的最优性。这把数据驱动的方法和优化结合了起来,挺有意思的。到现在,我还是很为这类工作自豪。快毕业的时候,二零一三年、二零一二年那会儿,我看到了一个大新闻,Alex呢出来了,那是二零一二年的事儿。

当时我还给Alex发了封邮件,向他要代码拿来试了一下。当然,当时我完全不知道CUDA编程是什么。后来我觉得这个东西很好,它是用神经网络分层处理数据,能得到一些有意思的中间表征,结果也不错。当时我想,也许这就是我一直在追求的东西,只是形式不同。因为我读博士时做的论文就是用分层的方法求解计算机视觉里的一些非凸优化问题。

具体来说,我想把受水影响而发生畸变的图像还原回来,大致就是这些方向。我想用分层的方法来做这件事儿,而且确实证明了从理论上说我们能做得更好,实际效果也很好。这些东西就联系起来了。我对深度学习最初的信心也是这么来的。不过,要说当时其实发生了很多有意思的事,因为大家不相信这个东西。大家会说,哦,这不就是过拟合嘛?

大家都跑到办公室来。我们在卡内基梅隆大学的 Smith Hall 有过很多激烈的争论,讨论 AlexNet 的结果到底是瞎扯还是真的取得了突破。当时就是这样,大多数人会说这就是瞎扯,因为根本说不通。但我觉得当时我其实在想,也许我应该转去做深度学习。所以我去几个地方面试了,有些地方还给了我录用通知,比如 Nasa Labs,他们想做深度学习。

不过我最后去了谷歌的自动驾驶汽车团队,因为首先那里很有名气,其次我有好朋友在那里,是他们推荐我去的,我觉得多少也不该辜负这份关系。我去了那里,当时也想做深度学习,可惜在那年零三个月里,我一直没机会做,因为那里更像一家创业公司,你得让手头的东西真正运转起来,所以最好用很成熟的方法。我加入那里的时候做科研探索可能并不合适,我决定换个地方去费尔。

我会说,那其实是我当时做过的最好的选择之一。去了菲尔之后,我就能做研究了,非常有意思,也很不错。我记得一开始做的是用深度学习来做电脑围棋的项目,这个项目在一定程度上挺成功的,因为在 AlphaGo 出来之前,我们就取得了一些很好的结果。二零一五年,我们有了第一个叫 Dark Forest 的围棋程序,它用卷积神经网络就能击败网上顶尖的业余棋手,这其实挺有意思的。

当然,AlphaGo 是在二零一六年春天出来的,它击败了职业棋手。当然,这非常非常厉害,而且我记得当时我的团队只有两个人,就是我自己加上一个实习生。不过,你看到 AlphaGo 的时候,有没有想过?我也不知道,比如我怎么没想到这个,或者他们实在太厉害了,我比不上。我觉得首先 AlphaGo 肯定有很多创新,其中一个他们有我们没有的东西,就是价值网络。

当时我们只有策略网络。他们有一个网络,这确实让棋力强了很多,这是其中一个优势。第二个区别是我自己基本上没有强化学习方面的背景,我基本上是边学边做,这是一次很有意思的经历。就像你自己也在做强化学习,对对对对,这是一次很有意思的经历。那之后我基本就转向强化学习了,后来做了很多强化学习方面的工作。不过,关于当时的事儿,我还想再聊一分钟。

当时你觉得惊讶吗?因为很长一段时间,大家对强化学习的看法都是“哇,这个想法真酷”,对吧?但它实际不太管用,虽然能解决一些比较难的问题。那你当时觉得惊讶吗?我觉得我们之所以选这个课题,是因为我感觉卷积神经网络能捕捉到棋盘上的很多模式。而人下棋时也会利用这些模式,所以从某种程度上说,这并不那么让人惊讶。

但真正让人很惊讶的是,他居然能打败职业棋手,这才是让人惊讶的部分。如果你去看他用的方法,其实也没那么离谱。这算是卷积神经网络取得成功之后自然而然的一个结果。我很好奇,那个时期有没有什么方法是你觉得如今被忽视了的?有有很多方法,因为我觉得当时大家在强化学习方面做出了很多东西,其中很多方法可能在今天这个大模型时代还没被用起来。

比如大家会考虑利用未来更密集的奖励,这叫分布强化学习。你不只是要一个数,而是想得到所有奖励的分布。然后用这个分布来调整模型。我觉得现在的强化学习可能也在用这个思路,只是形式不一样。比如他们用语言来反馈,而不是把标量奖励传回来。还有很多不同的思路,比如大家也会用Q学习,他们会采用不同的形式。但现在我们大多数时候主要用的都是策略梯度,这是很不一样的两个时期。

回到二零一六年那时候,后来到了二零一八年,我们复现了 Alpha Zero。你们应该知道 Alpha Zero,也就是说不用人类的棋谱,基本上从一开始就让它自己跟自己下。我们复现了,它也在一定程度上提高了一点效率,做出了这个叫 Open Go 的围棋程序。这个程序很轻松就打败了职业棋手。我们还和韩国围棋协会进行了一场正式比赛,我们打败了他们的四位棋手,对每个人都是五比零,也就是说他们连一盘都没赢。

哪怕我们下棋时只用了一张V100显卡。我觉得这可能是第一次有人只用一张显卡就打败了职业棋手。对,你当时觉得惊讶吗?你去参加比赛的时候,我不知道你是不是觉得,对,我们会打败所有人,我们强太多了。还是说你也有些疑虑?正式比赛开始之前,我们请了一些朋友来评估他的棋力,他们也是职业或者半职业棋手。对局的过程其实很有意思,一开始都挺正常的,后来就没人知道是怎么回事了。

他们会说哦对,看起来很强很强,但我也不知道他到底强不强,因为这个棋局我看不太明白。当时我就说好,那我们赌一把吧,我们就跟韩国围棋协会真正的职业棋手下下看,因为我们在那边有些联系。结果发现这个程序真的真的很强。我很好奇你怎么看无梯度优化方法?我倾向于觉得这类技术过去也多少被忽视了,尤其是直到今天好像还是这样。

对,我觉得这和我之前在 Fair 的一个研究方向有关。在做了游戏中的强化学习之后,我们开始想怎么让强化学习更通用,能用来解决更多实际问题。这也涉及到我们可能会稍微探索一下无梯度方法。因为你可以把强化学习看成一种基于梯度的方法,但它的信号当然很稀疏,要高效的获取信号也很难。我们在想,既然它可能有这样的局限,也许应该跳出这个范围。

对于无梯度方法,我觉得它肯定能提供更大的灵活性。有了现在这些大模型,它可能有更大的潜力,因为现在的大模型对系统、对要优化的目标函数都有了更好的高层次理解。这种高层次的理解,其实比局部梯度信息能提供多得多的信息。不是,我想问无梯度方法具体是怎么回事儿?我觉得这要看你说的是哪种无梯度方法。如果你只是说你给我们讲讲吧,零阶,比如说零阶方法、进化算法、零阶方法,如果没有任何高层次的信息,那实际上你就是在梯度提供不了太多信息的地方做探索。

当函数非常非常非常不平滑的时候,可能会突然冒出一些有意思的局部最优点,没有梯度指向那个方向。在这种情况下,梯度信息可能会很有误导性,它会把你引向错误的地方,让你困在局部极小值里。但通常无梯度方法会用到一些探索技巧,比如我们说的开放式搜索就是这样。我们既有探索,也有利用。所谓利用,其实就是沿着一些梯度信息走;所谓探索,就是说局部搜索可能真的没那么好,我们试试别的办法。

所以这种跳跃是梯度方法从来都不会用的。这也算是一种保护。对我早期为了弄懂神经网络是怎么工作的,做了很多尝试,就是从零开始写代码实现它们。后来才发现,要从零实现通用的自动微分或者反向传播,我根本做不到。所以我就想看看那些只用前向传播的方法吧。然后我就开始发现,你说的这些东西,如果你不预设价值或奖励的形态,就能很好的进行探索。

我其实很在意创造力,所以我想问你,觉得这些无梯度方法会带来更多样的结果吗?另外,我知道扩散模型里确实有梯度,但我的看法是,如果看看他们是怎么优化的,比如去噪器,据我了解,有很多无梯度方法可以用于这些优化。所以我觉得扩散模型和扩散语言模型的结果更多样。我也听过很多人这样说。所以,如果这个说法成立,你觉得这和无梯度方法在多样性方面更有优势?

两者之间有没有联系?我明白了。对于基于扩散的方法,首先我不是这方面的专家,其次我目前的理解是,基于扩散的方法之所以效果好,是因为它确实用了很多不同的掩码来训练模型。你可以把自回归方法看成一种特殊情况,基本上你只按一种特定的方式使用注意力掩码,让它满足因果关系,然后学习一些模式。但如果用基于扩散的方法,掩码通常是随机生成的。

也就是生成掩码,再试着把空缺补上。所以这当然会带来一种优势,因为你强迫自己预测中间的内容,即使在对应的自回归方法里,这些信息已经给出来了。我觉得通过这种打乱顺序的方式,你可能能学到更多隐藏在数据里的相关性,所以这可能带来优势。但当然,扩散模型本身还是用梯度下降训练的,所以这是不一样的。你花了不少时间去理解和开发更强的围棋程序,那是二零一八年左右,对吧?

对,二零当时语言模型基本上没什么用,对吧?从某种意义上说,对吧?对,我知道。但我觉得当时大家普遍的认识是,深度学习在视觉这类领域已经很强了,但我们还在等它在文本和语言领域发挥作用,对吧?那接下来,你刚才说围棋其实是个有意思的游戏,我们开发了一些强化学习方法,想把它攻克。然后呢,你有没有尝试转向其他领域,把它推广到?

不同的强化学习任务上,有我觉得那之后确实有两个方向,一个是游戏里的强化学习在某种程度上已经解决了,因为你总能设定一个奖励让它跑起来,然后它就能给你一些结果,这挺好的。我觉得在二零一八年、二零一九年左右,大家对这点已经有了共识。当然有两条路,一条路是我们来做搜索优化,怎么样?强化学习也是其中的一部分,把它用到真正难的问题上,比如现实世界的问题,而这些现实问题可能很难处理,所以我们确实在这上面花了很多时间。

因为后来我们发现,把强化学习用到现实世界的问题上是真正重要的,不是算法。重要的是动作空间和状态空间的设计。我们对这方面做过一些研究,所以你看我的简历或者我的谷歌学术页面,就会看到一堆神经网络架构搜索的论文。你还是要在这个庞大的空间里搜索,但搜索未必采用强化学习,也可能采用其他类型的方法,比如你刚才提到的无梯度方法。

但真正的问题是,怎样自动学会设计状态空间和动作空间,让搜索变得高效得多。在这个方向上,我们确实做了不少工作。这里的想法是我们能不能自动找到合适的动作空间,更有效地搜索整个目标函数?我举个例子,比如说到架构搜索,人会说,我们都知道深度很重要。所以,浅层网络的效果确实不如更深的神经网络。但我们知道,这算是一种我们想加到搜索过程里的启发式规则。

但另一方面,AI 可能不知道这一点。如果 AI 一上来就搜索这些小细节,那它永远不会给你什么有意思的结果。假设 AI 一开始搜索的是卷积神经网络第一层的卷积核大小,那这个参数其实没那么重要,因为搜索时,除非碰到一这样比较极端的数值。否则得到的性能可能都很接近。这样一来,所有搜索分支的表现都差不多。即使你在此基础上用好的多的函数来计算,他们告诉你的也都是同一回事。

那你就得深入搜索每个分支,这就会让搜索空间呈指数级爆炸式增长。所以在这种情况下,你用什么算法都没什么区别。你可以用强化学习,也可以用任何一种无梯度方法。这也帮不了你多少,因为你面对的是一个指数级的搜索空间。但如果你想到可以重新调整动作空间,又碰巧神奇的发现网络深度很重要,那你一下子就能看到深层网络和浅层网络之间有非常明显的差别。

所以你不用遍历所有路径,只要做几次模拟就能清楚的看到差别很大。接下来你就沿着深层网络这条路径走,搜索也就有了进展。这个想法可以实现,也可以用数学形式来描述。我们开发的一个方法就是这个叫潜在空间蒙特卡洛树搜索。这个思路就是你要找到一种动作空间,让搜索分出的子空间之间差别最明显。你可以凭直觉来做这件事。

一旦做到了,你突然找到一个不错的动作空间,就能保证在这个空间里取得不错的进展。你觉得在那个时候,几周前我们和 Frank Carter 聊过,他对 AutoML

很感兴趣,对吧?也就是自动找到超参数这个想法,你怎么看?至少在当时真正需要搜索的重要部分有哪些,或者说哪些部分对结果的影响最大?当时重要的部分仍然是人工设计的动作空间,比如你看谷歌做的

AutoML,通常他们会说,哦,我想设计一些很好的网络单元,每个单元里有六个或七个不同的动作序列,然后把这些单元复制出来,基本上就是把它们一层层堆起来,就得到了一个神经网络。

所以堆叠的方式基本是固定的,关键就是设计这种单元里面有需要训练的部分。你可能会问,为什么不是八个或九个呢?我会说,答案当然是我猜成本会呈指数级增长,所以你做不了。所以允许采取哪些小动作,基本上都需要人花很多心思去设计,才能真正让这套东西运转起来。通常就是这样。说到动作空间,你觉得要做出好的机器人和物理AI系统该走什么路?

我特别想提一下,你有篇论文讨论了在连续空间里推理推理。我在找它的准确名称,是你的其中一篇。对,是Coconut。对,Coconut就是它。我想提一下,杨立昆和其他人都在谈Japa,还有在潜在空间里推理,而不是在Token空间里推理这些事儿。所以我很好奇你对这些怎么看?我想 coconut 这篇论文其实是我的实习生做的,他来 Meta 实习,我们就一起头脑风暴,聊一些想到的点子和想法。

我当时提出的一点是,我思考的时候从来不用语言来思考,我能很清楚的感觉到思考时我用的是大脑的另一个部分,然后我得把想法翻译成语言,才能很自如的和别人交流。我就是这样做的。我觉得这基本上只是我的直觉,然后就有了这个想法。哦,那我们干脆把 token 完全去掉,怎么样?我们直接用潜在空间来思考,因为很明显,潜在空间似乎是一种有意思的表征,值得我们采用。

有了这个灵感之后,我就开始做一些理论推导,而这些推导确实给了我们一些很好的直觉,也许潜在空间的表征。是把多个想法叠加在一起,用这种叠加来思考,可能会获得指数级的优势。如果你遍历某个图,大概就是这样一个想法。当然,这个优势未必是指数级的,但至少能带来一些优势。后来我们的实习生来了,就是 Shebol,他一直在尝试实现这个想法,我们也看到了一些初步的积极迹象。

你提到自己的直觉,说大部分思考都不会用语言表达。我也想说,我说话之前也不会先把所有想法都用语言过一遍。也许这就是我话太多,开口前想的不够之类的问题的原因。但我认为人和人之间的差异非常大。我认识很多人,他们就算不是把所有想法都用语言表达,也绝对会这样表达大部分想法。他们管这叫内心独白,也有人只是偶尔这样。

脑海里的图像也类似。有些人很擅长在脑海里形成图像,还能把形状转来转去;另一些人就做不到。有些做不到的人却是很出色的艺术家。所以我很好奇这种思维在本质上的多样性。你觉得它和我们讨论的事儿有什么关系?我想,这是不是就意味着,既然人类这么多样,我们也应该认为 AI 会有很多不同的路径达到同一类结果?对,我觉得完全是这样。

学习可能有一些底层机制,但不同的人可能会用不同的方式来表征自己的想法。这些想法在脑子里可能会以不同的模态来呈现。对我来说,我觉得有时思考的时候,可能还是在用画面或者说用视觉的方式来想;有时候则是一些很奇怪的感觉,然后思路突然一跳,你就有了一个想法。哦,你有了一个想法,这个想法基本上就会通过语言表达出来。

但如果是这样,我会说最值得押注的还是内部的隐藏表征,因为它可能涵盖了所有可能的模态以及所有的可能性,这是我会押注的方向。但最后它没有流行起来,对吧?如今,前沿模型并没有用连续思维链来训练,你觉得这是为什么?首先,缺少数据。我的意思是,有很多语言,也有很多用语言表达出来的思维模式。我们用语言交流,也用语言把人们的想法以文字的形式保存下来。

所以,跟潜在空间相比,语言的数据要多得多,多得多,多得多得多。那显然,你总得想办法用上这么多数据,这就是我们这么做的原因。其次,潜在表征可能是因人而异的,也就是说,在某种程度上,每个人用的都是自己的潜在表征。就像 Alan 说的,人在这方面有很多差异。这样一来,学习就会很棘手,因为我得说,人的学习效率比计算机、比我们的大模型都高得多。

高的多,所以如果我们的大模型学习新概念的效率确实没这么高,那我们就得用语言作为替代,让模型去学习。但你觉得这跟比如 JPA 遇到的问题有关吗?也就是说,连续空间终究很难做正则化。对吧?所有自监督学习方法的主要问题都是:你需要一个好的正则化手段,做法有很多,但哪种才是正确的并不清楚。而且这类问题本身也没什么明确的定义,基本上没法围绕一个具体。

定义清楚的指标一步步往上优化,你觉得这里也是同样的问题吗?对,在某种程度上是的。我觉得有两个事实:首先,我觉得基于梯度的学习可能没那么高效,所以我们需要大量数据。如果数据不够多,正则化就不够充分,所以你就得加上正则化。但真正的问题是,你还得用什么正则化手段呢?正则化手段有那么多,每一种都会给你不同的表征,也许没有一种真的是正确的做法,这就带来了问题。

第二点是我们其实并不理解表征是什么,也不理解表征是怎么随着时间逐步形成的。这才是问题所在,这可能也正是无梯度方法会很有用的原因,因为在某种元层面上,我们困在了梯度下降这种解决方案里,停在了一个局部最优的位置,所以也许我们应该用一些不同的方法来学习表征。你觉得存在最优的表征吗?你觉得会有一种柏拉图式的表征范式吗?

我觉得这到现在还是个没解决的问题。表示这个世界的方式有很多,我觉得其中可能有些方式比其他方式更好,有些方式占用的比特更少,这是从压缩的角度来说。有些方式可能泛化能力好得多。那真正的问题就是,现在神经网络的学习方式怎么才能学到这样的表征?这种学习范式的局限又是什么?可能有些表征非常好,但现在的梯度下降方法学不到。

我们现在还不知道边界在哪儿。现在我们只是说看起来能用,然后就把它用在我们的系统里。但从科学的角度说,我们完全不知道边界在哪儿,也不知道怎么才能达到那个边界。对,这也就是我研究可解释性,研究如何理解神经工具的动力。那你觉得这条路走得通吗?你觉得我们将来某个时候能获得这种理解吗?我觉得我们应该有信心,相信到某个时候我们会理解的。

这就像炼金术和化学的关系,大概就是这样的一个故事。这个故事还在继续,但当然现在的模型非常非常强,所以人们会去追逐量子比特,追逐模型的成果。我们可能没有足够的时间,也没有足够多的人把心思放在这个方向上。但我觉得从长远来看,这会是一个很难的问题,也是一个对人类很重要的问题。也许对 AI

也一样。我想问你一个更个人的问题:你做深度学习、视觉和强化学习已经很久了,然后突然大概是二零二二年、二零二三年吧,我也说不准。

就在那段时间,我们所有人突然都意识到,语言和文本模型会一直存在下去,而且会成为下一个大方向。你是怎么应对这个转变的?你又是怎么调整你的工作,还有你在工作里真正关心的那些事情的?首先,我大概从二零一八年、二零一九年左右就开始研究可解释性了。当时我在尝试对深度神经网络做一些梯度动力学分析。从某种意义上说,这是我一直在持续推进的一条研究线。

这条研究线在某种意义上是相当连贯的。所以,对大模型你也还是可以做同样的事情。你训练的是自己的模型,但分析的方法是类似的。所以在这种情况下,这个转变并没有打断我的研究。大体上,你还是在做自己真正想做的事情。但当然,另一方面,实验这块就会很棘手,因为现在我们作为研究者得彻底改变自己的思考方式。以前研究者通常是自己提出想法,再通过实验检验这些想法,然后得出一些结论。

这种过程跟大概一千年前到一百年前人们在纸上做研究、自己做实验的方式差不多。但有了大模型,我觉得。随着模型越来越强,它自己就能给你一些想法,所以研究者可能不得不从更高一层去思考,而不是把时间都花在提出一个个具体的假设上。这是大家需要面对的第一个挑战,第二个挑战,我觉得在那个时候,首先要强调出色的工程能力和科研上的判断力同样重要,因为大模型时代的很多好成果,可以说一半是研究,一半是工程,因为如果工程做不好,结果可能也不会很好。

那么大家可能会愿意把它当做一项正式的成果。这其实是目前研究面临的另一个挑战。我觉得从二零二二年到两千年,再到大概一年前,情况都是这样。但现在,因为我们都在用 AI 编程 agent,情况可能会有点不一样。因为有了 AI 编程 agent 的帮助,那些有丰富实操经验和知识的研究者就可能提出不错的想法,让 agent 非常非常快的实现,然后找出关键问题并解决。

这样一来,这些研究者突然就有了超能力,能去探索一些很深入的东西。对,所以这里也有一些来回变化。对,我觉得现在正好可以来聊聊递归自我改进。我们看到了有超能力的用户或者有超能力的工程师。我们也会有能自我改进、拥有超能力的 agent。对,我觉得理想中的目标就是这样。对,你说说这会发生吗?对,我觉得会。我想先跟你说说为什么,我觉得现在是时候开一家公司了。

我在 Meta 的最后一篇论文是跟 GPT 五合作完成的。这篇论文研究的是神经网络中的 groking 现象。基本上,网络一开始是靠记忆,然后训练,训练,训练,训练,突然就能泛化了。这种 groking 现象非常非常吸引人。也很有意思。做那篇论文的时候,我跟 G P T 五合作,问了很多问题,还给他布置作业,请证明这个定理,请确保这个定理是对的,请帮我一起想想看看有什么思路和想法。

我发现这实际上比我以前研究类似问题时有效的多。我会说,他大概让我的效率达到了原来的六到十倍,而且这其实还是保守的估计,因为那时候代码还是靠我自己写。但现在我觉得写代码和具体实现当然也可以交给一个能力强的 agent,所以 AI 会让这些事情快得多得多。做完这个项目以后,我得到了一些不错也很有意思的结果。

我突然意识到,哇,也许五年后我的工作就会被取代,所以很明显我很快就要失业了。所以,与其被动失业,我觉得不如朝这个方向开一家公司。所以你看到的这件事就是这么发生的。通常研究者可能不想去一家小公司当联合创始人,因为事情很多,工程上的事也很多,我得操心很多研究以外的事情。但我会说,现在是一个转变的阶段。如果我不采取行动,以后可能就无关紧要了。

我有时候会在镜头外跟Ravi争得很激烈,尤其是我状态不太好的时候,我也会说类似的话,主要是感叹编程agent已经变得这么厉害,同时对自己到了2040年代左右的前景很悲观。我感觉到最后AI总得找我谈谈,跟我说所有prompt都由我来写,效果会好一点。我对此非常担心。最糟的是,我觉得你选择自己开一家公司来应对才是正确的做法。

我的应对方式是去试着学点动手干活的本事,但我又不擅长动手,所以等起点到来的时候,我就完了。我刚才就想说这个,而且我们到处都能看到,就软件工程来说,对软件工程师的需求一直在上升,而且我们到处都能看到,并没有出现更多更好的产品,也没有更好的应用之类的东西。也许到某个时候模型会变得更强,不再需要我们,但至少现在我们还没看到这种情况,我们还没看到,而且现在还没法从头到尾做出好的产品。

首先,你同意这个看法吗?如果同意,你觉得这会改变吗?对,首先我会说,现在还处在没法自动完成的阶段,所以我不觉得现在的模型能在完全没有人干预的情况下给你很好的结果。我觉得还没到那个阶段。就连我之前在 Meta

写的那篇论文,我也还是会给模型提供整体思路和想法,让它顺着往下做,而不是让它自己提出想法。因为这部分很难,如果你自己没有想法,他给你的想法就会很平庸,基本上就是大家都知道的东西,不是什么值得探索的有意思的方向。

我觉得可以说,直到现在,模型还是这样,我们还是需要人来发起。还是需要人来思考哪些事情值得去做,所以这是我们需要做的事。另外,我们也需要人来验证 AI 给出的解决方案会有哪些问题,这些其实就是我们现在面临的问题。希望将来随着模型能自动完成更多工作,人们花在重复性工作上的时间会越来越少,能把更多时间花在更有创造性的方向上。

人们将来也可以有更远大的目标。人们会说啊,也许我什么时候应该去一趟土星,然后把大量具体执行的工程工作交给我的工程师、我的 agent,这样他们就会想出怎么造火箭。那你怎么看这些工作呢?现在有很多论文和研究在探索自我改进、递归自我改进。比如,你给一个 agent 两个小时、两块 GPU 让它做后训练,或者尝试让某个模型在某项指标上有所提升,比如 Nimotron 或者其他什么模型。

至少据我了解,这些人研究大多表明,当然 agent 什么都能做,在优化之类的事情上,你想让他们做什么,他们都能做。但他们想出的点子范围很窄,到头来他们在产生想法这件事上效率很低,也不太知道怎么把一个问题推广到更一般的情况。他们对指标过拟合了。最近有很多 Kaggle 比赛,大家尝试用 agent,还有比如 Claude Code 来改进效果,但看起来他们似乎对训练或验证指标过拟合了。

你怎么看?首先还是想问你同意吗?你觉得这是我们不知道该怎么衡量的问题,还是说这只是暂时的问题,很快就能解决?对我觉得在一定程度上,这些问题是暂时的,因为你总有办法让模型关注更高层次的问题,所以这件事儿是可以做的。我觉得现在的模型之所以做的不太好,是因为我们让模型做的都是一些细节上的事情。没有上下文。

如果模型有更多上下文,它可能会想出更有意思的点子,而不只是微调参数,比如调整各种超参数、函数配置之类的。不过,我想说,给模型增加上下文可能只是暂时的解决办法,这可能会带来一些提升,但将来我们可能需要比现有架构,比如 Transformer 架构好得多的东西。我觉得现在的关键区别在于,目前的模型是用大量数据训练的,而这些数据都来自互联网。

这些数据里有大量重复性的工作,对于重复性工作,我觉得模型做得很好,所以它其实有足够的数据来理解情况,也有足够的数据来想出新的点子。但往后,如果你想让模型做非常有创造性的事情,跳出固有思路,那模型可能就没有足够的数据来做到这一点了。那你可能就需要想一想,有哪些新架构能让学习效率高得多,让模型只用很少的数据就能非常快的捕捉到新的信号。

所以这基本上是两个阶段,从我刚才说的日常常规的重复性工作迈向下一个层次。我觉得这里需要一个很大的跃升。不过当前的范式还是可以存在很长时间,因为总有很多补丁可以用,能让模型变得更强。这就是我的感觉。要让模型变得更好,预训练、后训练,甚至推理时的优化,这些未来可能用来改进模型的办法里,什么最重要?或者也可能是不同的架构,对吧?

完全不同的架构优化器,对,没错,完全不同的架构优化器,还有数据配比等等,这些可以很有意思,也可以作为自我改进的研究对象。所以,这其实就是我们正在做的事。那你怎么看呢?因为到现在有很多公司研究者和初创公司尝试提出 Transformer 以外的其他架构。其中一些在小规模问题上确实取得了还不错的结果,但始终没有真正扩展到更大的模型。

你觉得这是为什么?你觉得这个问题能解决吗?对,我觉得这是个好问题。首先,之所以在小规模下能看到很多不错的提升,在大规模下却看不到,是因为通常在小规模下你缺少数据,所以基本上就得在架构里额外加入一些归纳偏置。在小规模下,这种偏置效果挺好,因为你的数据不够;但在大规模下,数据很多。最好的做法基本上就是让模型自己去弄明白其中的规律。

我觉得一个很有意思的例子就是视觉 transformer,它出现的时候,如果你看过那篇论文,就会发现用 ImageNet 这个量级的数据来训练模型,视觉 transformer 可能不如卷积网络。但当你的数据多得多,比如有三亿张或者五亿张图片时,你最终就会看到 transformer 比卷积网络好得多。

因为卷积网络有这种归纳偏置,它的基本特点就是:你确定杨立昆会同意你这个说法吗?我不确定。对,你可以不回答,没关系。对我觉得现在的直觉大概是,你可以让 transformer 关注局部信息,也可以让它关注非局部的数据,但卷积网络必须先关注局部的东西,然后再逐步构建起来。所以这两者很不一样。但我想问的是,你的策略是什么?

你觉得我们应该先这样做?就像你说的好,我对不同的范式有了新想法,那我先做小规模实验,再从那里尝试扩大规模。还说你觉得值得一开始就做一个,比如一万亿参数的模型,然后尝试在这个模型上迭代。我觉得当然还是得先从小规模开始尝试,然后再逐步扩大规模。不过,我个人觉得真正重要的是,我们确实需要在一定程度上知道网络内部到底发生了什么,所以这里也涉及一些可解释性。

让我们知道它在更大的规模下也能很好的泛化,这可能是我们需要额外考虑的一个方面。而且我们知道有些有意思的发现,在规模扩大以后也能成立,这样我们才有信心相信它能有很好的效果。否则,如果我们盲目的遵循规模定律,那你就永远没法证明在小规模下有效的东西到了大规模也能泛化。如果没有这样的信心,那当然就只有算力最多的公司能赢,那就只有这一条路了。

但如果你在小规模实验里确实看到了深层的东西,那就有可能得到一些我觉得在大规模下也有效的东西。如果看一下从想法到写代码。运行再到分析的这个循环,哪一部分最难自动化?我觉得想法这部分可能非常非常重要,也非常难。如果你让模型提一些想法,它给你的想法会很平庸。把这两样东西结合起来,看看哪些有效,哪些无效,再把所有东西组合起来,加点东西,这些想法其实没那么有意思。

而且我想其他人也都会想到同样的东西。所以真正的问题是怎样才能提出合适的想法,让这个想法真正指向有价值的见解,这非常重要。当然,你也可以做迁移,如果别的领域有一些不错的想法,也许你可以把它们迁移到你一直在研究的领域,这样可能会很有效。我觉得最近的一些突破,比如用 AI 做数学。里面很多想法就是从一个领域迁移到另一个领域,然后发现这个想法确实有效。

比如你试着参加过 Nano GPT Speedrun,对吧?对对。你怎么看这类比赛?而且你现在还把记录缩短了两秒,对吧?你觉得这算是真正的发现,还是只是把一些已有的技巧搜得很好?而这些技巧比较容易找到。对,我觉得从某种意义上说,这是把有意思的发现和已有的方法结合起来,比如在架构里加入二元组和一元组,从某种意义上说就挺有意思。

当然,有些人会说啊,这可能来自 Deep Seek,来自其他方法,也可能来自 Gemma 三的方法。其实我在 Meta 的时候,我们也有一篇叫 STEM 的论文,用的也是很相似的思路,相当于把这些思路迁移到这个具体的比赛里,确实提升了性能。我觉得这就是把已有想法迁移过来,同时在把问题组合起来的过程中,也有一些创造性,让这方法能很好的发挥作用。

比如不同的层可能有不同的嵌入表,所以这些组合方式是不一样的。AI 的未来会是什么样?我们聊了几个可能的方向,比如世界模型也谈到了递归自我改进,还谈到了物理 AI。关于未来,我们还有什么没谈到的吗?进一步扩大规模,我觉得扩大规模现在可能已经是共识了。大家会说对,就是扩大规模,扩大规模,再扩大规模。但我觉得正因为这是共识,我们才想考虑一些不同于共识的东西,探索一些新的可能性。

递归自我改进很重要,因为模型现在已经到了这个阶段,在一定程度上能理解自己内部发生了什么,即使这种理解还很浅,但它仍然是一种理解。我们可以利用它来做自我改进。所以现在时机到了。除此之外,它还有很实际的用途。我们在很多场景里都展示过,比如计算内核优化,这是一个方向。当然,我觉得未来可能还是要找到新架构,找到新的学习方式,找到更好的办法,达到人类利用数据学习的效率。

不管我们研究的是哪种模态,也不管我们研究的是什么问题,我觉得关键还是这些神经网络里的学习机制和学习算法,这可能才是关键所在。一旦我们解决了这个问题,假设我们现在有一种新算法,学习效率和人类一样高。人类用于计算的功率也就二十三十瓦,而且人类只用了大约百分之零点一的数据,而且人类能在很短的时间里弄明白事情。

如果我们有这样的学习机制,那一下子所有问题都能得到很好的解决。拿机器人来说,我觉得现在机器人面临的问题就是。大家会说好吧?需要大量数据。我记得李飞飞也提过,机器人需要大量数据。但这只是针对当前的范式。在当前的范式下,因为需要大量数据,所以我们确实得提供大量数据。但如果你想想人类是怎么做的,还有猫狗各种生物,它们都在做具身智能,却不需要大量数据,它们的处理器很差,但同时又能在这个复杂的世界里生存。

这里面一定有新的算法,我觉得这才是关键。而且我相信强化学习或者自我改进可能是更快走到这一步的办法。最后还有几个问题,现在 Anthropic

和其他公司对限制最新模型这件事有很多争论,对吧?他们也呼吁围绕递归自我改进进行协调。你怎么看这件事?我想坦诚的说,我觉得很难阻止大家这么做。这个界限很模糊。你跟你的编程 agent 的交流,提出新想法,让它围绕这些新想法不断迭代,那你在某种程度上就在做自我改进。

你跟其他人交流,他们提出想法,跟你一起做一些论文,这也是自我改进。很难划出这样一条界限,说啊,对你不能这么做,因为这是自我改进,所以这很难做到,也很难执行。所以这个界限到底在哪里?而且现在我们还有各种开源模型,这些开源模型都非常非常好,能力很强。你也可以用它们做一些研究,这算不算自我改进?你打算怎么管理这些事?

这些问题都很难回答。你怎么看开源?你们会开源你们的模型?还有,我觉得我们希望把研究成果开源,比如我们之前那篇博客。我们把所有内核都开源了,也把训练 NanoChat、NanoSpeedRuns 的整套方法都开源了。基本上我们系统产出的成果都会开源,这很重要。首先,其他人都能检查,也能在这个基础上继续做,这是好事。

好,而且我觉得开源其实对整个社区都很有好处。可能出现的最糟糕的情况就是一小群精英掌控着世界上有史以来最大。最强的模型,然后说其他人都得花很高的价钱才能用,这对整个社会来说恐怕不是什么好事。我觉得我们确实希望让人人都能用上 AI 的力量,让每个人都有机会,有平等的机会做出好的成果,用模型提升自己。所以这也是一点。

你觉得未来我们会看到跟闭源模型水平相当的开源模型吗?会,我觉得现在就已经相当相当不错了。比如 Kimi K 三就很好,能做出很多不错的成果。当然,它的思考过程可能比现在的闭源模型稍微长一些,但还是能用的,而且在很多不同的领域都能用上。我觉得我愿意压住未来开源模型会越来越强,所以这完全不是问题。而且作为编程 agent,你其实也不会指望这个 AI 是 AI 牛顿、AI 爱因斯坦来到你这里帮你写代码。

有这么一道门槛,只要模型跨过这道门槛,它就能用了,你也愿意用。我觉得不少前沿 AI 实验室已经跨过了这道门槛。现在开源模型也开始跨过这道门槛了。我觉得未来会有越来越多的人,越来越多的模型跨过这道门槛。一旦到了这一步,模型就会变成普通商品,每个人都会用自己喜欢的模型,用得很开心。对,最终会走到这一步。

到时候真正的问题就是,我们怎么利用这些模型做出更好、更大的事?田渊栋。你还有什么想补充的吗?我觉得差不多就是这些了。你们在招人吗?你想宣传一下你们的?对,我想说,如果你对我们公司感兴趣,欢迎给我们投简历。我们的邮箱是 talent at recursive 点 com。感兴趣的朋友,请给我们发一份。

在哪儿?Hunt,你们在哪招人?对,我们主要在旧金山和伦敦。我们的员工有三分之二在旧金山,三分之一在伦敦。好,非常感谢你来参加我们的节目,聊得很开心。对,真的很开心,谢谢。对,非常感谢你们采访我,也希望大家能从这些讨论和有趣的头脑风暴中有所收获。对,对。田渊栋剖析递归自我改进:把重复研究交给 AI,人去找新方向。