十月二十四号,我有幸采访到了顶尖的AI研究员田渊栋博士。在这期采访里边,我们重点聊了田博士关于模型顿悟的最新论文。顿悟可以说是大语言模型里边最重要的一个问题,它决定了模型到底是在鹦鹉学舌,还是可以有泛化的解决新问题的能力。比如四位数觉得啊,我们就叫skin log,我不需要搞清楚你们在干什么,我就让他们去拨那些开关,这些开关在某种组合找到了,那我们就能够把这个模型做的很。研究员的用处是说,我能不能根据一些非常稀疏的数据点,能够得到非常重要的结论,然后这个结论能够推广到更难的。而从记忆到泛化的这个过程就是顿悟。

在这场对话里边,田博士就跟我非常深入浅出的、不带任何数学公式的讲清楚了顿悟的数学原理。如果你数据不够,你可能就只有记忆的山峰;如果你数据很多的话呢,某些泛化能力强的山峰就会慢慢慢变得越来越高,记忆的山峰就会变得越来越低。而且我们还发现,这种顿悟能力不光是模型的核心能力,其实也是一个人的核心能力。一个人能不能从更少的数据点泛化出更深刻的道理,做出更有效的预测,其实很大程度上就是这个人的水平体现。

恰好这个周 Meta 的裁员风波,田博士也被 Meta 裁掉了。我们在视频的开头也从田博士那里得到了一些第一手的澄清。更重要的是,如果你自己想对这个裁员风波有一些自己的理解、有一些自己的判断的话,在这期视频里边有第一手的资料。从田博士本人那里了解他的研究、他的思考、他的洞见和他的为人,可以帮助你自己对这件事情形成真正有价值的判断。

在这场对话里,我们还发掘出了一个特别重要的观点,那就是模型优化的不只是损失函数,在损失函数之上,模型其实还在优化优雅。它内嵌在神经网络的训练过程里面,让这个模型自然的发现更加好的优美的解释。这是一个顶级AI研究者经过大量实验所形成的非常重要的体感,希望大家不要错过。我们开始。

反正现在我没有 access 了嘛,所以也算自由了吧,就是想干啥干啥了。我是在准备访谈的时候才发现你在 Meta 已经工作十年了。“对对对,那个时候一五年很小的公司,一二年上市的。”“对,你加入的时候 Meta 多少人?”“那个时候加入的时候可能大概有一万多一点吧,也不小了。嗯,不是特别小,但是对现在可能几十万。”

我们是沿着原来的那个访谈大纲去聊你的论文,然后我们 address 一下这个你有 develop 问题也行。我们就可以聊一些内容嘛?我觉得这个还是比较好,因为我其实并不想说太多裁员的事情。我也觉得这个不太好。推特上就发了几个帖子,小红书上也是,就是刷到你的名字,这几天刷了好多。其实我这边本意就是,因为我这边 team 也有几个人被影响到了嘛,所以我还是希望他们有更好的机会。因为我是无所谓了,我被裁,我在家里待着。但是他们很多人身份会有一些问题,如果不能及时找到下一家的话,对吧?那肯定会想办法帮忙帮找一找,对吧?因为我毕竟这边人认识人比较多,这个也是我的本意吧。

我反正我也不怕自己暴露自己被裁,“I don't care。”但是就是希望我的手下那些人能很快找到工作。这也是我的本意嘛。“我觉得是这样,不要聊你麦大公司那部问题。”“我觉得我已经说够多了,我不想再说了。我一般不太愿意说这些。”

我觉得我在圈子上唯一说的是,因为就是有人跳出来说啊,“你们被踩是应该的,因为东西没做出来。”那我要至少给我们 team 要澄清嘛,对吧?因为我们 team 做了很多重要工作,那你不能把锅扣到我们头上啊。所以这个肯定是要讲清楚。“但是我现在就比较 defensive,就是 OK,如果有人说这个是我们的锅,那我会说回去。除此之外,我不会说太多公司内部的事情。”

“那你还有没有什么想澄清的?你觉得没有澄清好的?”“我觉得差不多了嘛,就这样。就是我觉得我们其实还是做了很多的工作嘛,就是把很多的之前的一些问题解决了。”比如说包括 long context 的那个 reinforcement learning 有没有训练的好,还有包括前面的 pretraining 的 model 啊,他们的那个 design 实际可能有些问题。像有长卡 tension 的问题,这个其实很多是我们团队解决的,我先发现的,“我说你这个 design 有问题,然后去跟他们讲。”

但是,一开始就是很难去,就是他们不一定听你们。我当时去的时候,就是我是让的一个 research team 过来的,对方是做大模型的,那么我这边 research team 过来的话,他们不一定会听。他们可能会觉得这个事情没问题的,肯定是对的。“那那我们这边要用各种实验去证明啊,我们之前的那些发现或者那些 insights 是对的。”后来他们是被说服了嘛,所以他们才会发现这里有问题。这个其实都是我们团队的贡献嘛,“还包括你怎么样去让呃 long context reinforcement training 更加稳定,包括有很多的 follow up 的问题怎么样去解决,这些东西都是我们这边做的。”

但是这些东西也就属于幕后英雄吧。毕竟最终我们这个模型也没有真正 official 的 release 啊,至少我们有一些贡献在里面,这个我是得说说说出来。“就是至少为后面的人添砖加瓦,加一下,做一个比较好的一个 base 嘛。”

“我到这儿都有两个问题了。第一,你们作为一个 research 团队,人家不信你,可能是觉得你之前没有这个 train 大模型的经验或者怎样,但是你们能很快发现问题,你觉得为什么可以做到?第二个就是对面那个大模型团队是个什么样的团队?他们自己本身大模型训练经历丰富吗?”

“他们是经验丰富的。但他们有一些就是之前的实验有 bug 嘛,然后这个 bug 导致他们做了错的判断。”“但是我们这边虽然说没有转过,但是你不毕竟是做过大模型的有些文章嘛,对吧?包括我以前做过 sparse attention,就是那种稀疏的那个注意力。那我当然对注意力结构我知道什么怎怎么回事儿。”

“那我当然一看这个设计,我就有问题。这个我相信就是很多人都能看出来的啊。这个并不是说是我能看出来,很多人能看出来。”“但我并不知道,就是当时就是决定怎么做,但是我愿意说,但是没办法,因为这其实也很难说服他们吧。就是你要花很多时间和精力去跟他们说服,这个是有问题。”

“你知道,就是他们自己团队发现了,也是有这个问题,那么慢慢的就是和改变这个想法。”

“啊,虽然说就是研究员,就是可能我们当时做研究的时候,并没有直接去接触超大模型的训练,但是我们研究的这些直觉或者说这些经验其实很有用,对吧?它能够很快的能够找到问题,能够发现什么地方是有问题、是出错的、是怎么样去解决啊?我觉得这个是很重要的啊,这个是作为一个研究员的宝贵财富。”

“说实在的,你如果是一个完全没有任何 insights 的人,就是 OK,我天天就跑跑实验,然后调参数。这个工作其实你说你能做,别人也能做,对吧?那研究员的用处是说,我能不能就是根据一些就非常稀疏的数据点,能够得到非常重要的那个结论,然后这个结论能够推广到更难的问题上。这个是研究员能力。”

“你说的稀疏的数据点是?” “不同论文和不同实验的结果啊。对,就比如说吧,我如果是个新来的菜鸟,那么对我来说 OK,我的任务是调参数跑程序。比如说我跑一万个点,那我就得到一万个点的参数的值,然后我就说‘哎,我告诉大家这一万个点是我跑的’。跑完之后跟大家说 OK 跑完了,那这个是我的结论。”

“但是跑完之后,这一万个点就在那边是死的。你也没有什么 insights,没有什么概念说哦,这一万个点其实代表了后面什么意思、有什么样的那个结构?那这个其实只有那些有经验的人才能看到。”

“就有经验的人可能看到,比如二十个点我就知道有什么问题。甚至就说看了十个点是看到就说这个 training curve 刚刚穿了一半哦,我知道不行了不要跑下去。可能那这里有问题。”

“这个其实是一个为什么 AI 的那个研究还是薪资比较高嘛?我觉得很多时候是这样,就是你的一个 insight 可以抵比如说一百块卡,或者说抵一千块海基文卡。就是我不需要那么多卡,但是我还是有 insight 可以得到一些比较好的结论,这个是重要的。”

“你刚才用了两个词,一个是经验,一个是 insights。然后我想 double click 一下,就是这个到底是个什么东西?有的人会觉得这是一个 taste,有的人会觉得是一个 intuition。对吧?我们有好多词去形容这个东西。”

“那你觉得这个东西到底是个什么?你看刚刚已经有四个词了,对吧?然后四个词说的好像都是一件事儿。那你能不能就是给大家讲一讲,从你的经验来说你用多长时间能判断一个人有这个还是没有这个?然后你觉得它有的话,它除了像你刚刚说的从很小的数据点就能得出来一个更正确的结论,还有什么展现以及怎么得到这个东西?”

“这个我觉得是这样。就是 insights 呢是一个很难描述的一个概念,就特别是一个有经验的一个人对吧?比如说在某方面他是一个老师傅。那么他怎么做?就是他要根据很少的数据,然后判断他这个现象背后的真正原因是什么,这个是重要的。”

“就是比如说一个修车师傅,他可能根据蛛丝马迹我知道你车哪里坏了。” “明白明白。人还没有反应过来你说这个车哪里坏了,或者说一个交易员我做那股票交易的我说我根据这两个迹象或者看个财报嗯这个股票不能买啊。”

“所以这种东西是很重要的。他讲不清楚到底怎么回事,但他就有种感觉说哎这个不行那个行。有一个 mental model 然后这个 mental model 大概是对的。这个是是很重要了,就是有这些东西之后呢其实很快能够发现问题在哪。”

“然后有这个问题我们怎么样去解决这个问题?然后往正确方向去走嘛。就这个可能比 GPU 还要重要。” “当然了,GPU 也很重要了。就是有 GPU 之后你可以做更多的实验获得更多的 insights。这两个是相辅相成的啊应该是这么说。”

“你能很快地判断另外一个人有没有一个好的 mental model 吗?” “这个其实是有一些办法的。就是说你其实要跟别人聊嘛,大概聊一下感觉一下他平时对这个问题怎么想的。” “我觉得这个其实挺重要的。其实我可以举个例子吧,比如说那个学校里面有这种 PhD exam、PhD qualifier。”

“一个一个学生坐在自己老师面前,然后老师问他请问你对这个问题有什么了解啊?比如说我们讨论一些学术问题。对这老师来说他想办法就问到底,比如说吧我你对这个我评分方式有什么想法?然后你有什么一二三四五这一个经验?”

“然后呢就是抓住一个点然后使劲问,就知道他到底懂不懂了他到底知道这里面这些什么关系?这个是能用最简单的语言讲清楚。对,然后就是能够知道最重要的两个东西的关联是什么。”

“这样的话呢就知道就是他真的是懂的或者说他真的是知道就是最关键的关联在哪里,然后可以用这关联去做更多的推广这个是重要的。”

“像比如做研究的话比较忌讳的是说我就只懂书面知识一二三四五也背出来了。但是他们有什么关系?然后什么时候他们两个成,什么时候不两不成立?什么时候就 n 出来 b,什么时候 n 出来 c。这个并不知道的话其实是比较难搞的。”

“我觉得这个是一个问题,其实这个很重要啊就这说实在的是我觉得现在的模型才做不到的地方。现在模型可能不没有办法用很少的数据真的去预测将来的那些。”

“那我们就直接到这个话题吧。你的论文是 Grocking,但是它是一个底层的这么一个在一个时间点它有了一个学习的这样的东西顿悟的对吧?” “嗯。”

“我在看你跟智渊的专访里边你也提到一个点就是鸽子问题嘛。你当时和丹尼周在这个 Twitter 上的关于 Transformer 的一些讨论,就是说确实理论上也许你的这个逻辑等表述的话 Transformer 就似乎可以解。但是模型会用无限的数据去试图解决这个问题,但是人似乎一下子就能 get 到这个问题。” “嗯嗯嗯。我觉得和你刚刚说的那个东西有一些联系,但你如果来定义这个能力的话你会把它定义成 reasoning 吗?还是你把它定义成一个什么?”

“这个顿悟呢它是在 reasoning 或者说其他一些 task 下面。下面是什么意思?是更底层的意思还是更底层的意思?”

“后层就是,就是说它是一个表观学习不是 presentation learning 的一些行为。随着这个训练的拓展就是说你会发现表征会改变,就相当于就是看金庸小说对吧。”

“然后张无忌一开始被他义父谢逊逼着说你把这东西全背出来现在全背出来。背出来之后你不懂没关系,不懂你可以脑子里存着。”

“过了几年之后哎突然之间就乾坤大挪移突然懂了。这个是很有意思的一个机制嘛?比如说你当然教小孩子可能也是这样了,特别是有些小孩子说你先把它背出来叫读书百遍其义自现。就是你现在先读并不知道什么意思,但是过一段时间之后或者说你跟其他的一些事情能够联系在一起了之后呢你就会有一个突然之间你会觉得哎这个意思是跟我这个现实世界是有关系的或者说这两个意思之间是有关联我们知道更深的联。”

“那么这种其实就是应该说是顿悟的一部分。这个机制其实是在思维链之下的,不管你用思维链做思维训练也好不管你用那个直觉来判断那个答案也好或者不管你用啥方式的来判断答案也好对吧?这些东西它的下面有个共同的机制,就是我到底用什么样的表示、用什么样的对这个世界的理解导致了这个思维链。”

“比如说吧那个小学生做一道题他可能说啊我这道题怎么做?我用穷举法,等一加一等于多少加等于多少加等于多少。那么有一些穷举的一个路径可以把这个事情做了。”

“比如说你要证明一个简单的一道习题,那么小学生会说啊我穷举一些那个答案看答案差不多了那可能就对了。”

“但是你这种方式呢其实可能很多问题解决不了了。等到比如说初中生或者高中生他们的这个思维其实有一种飞跃。”

“就什么叫飞跃呢?就是说我们告诉他我们可以用数学归纳法来解决这个问题。数学归纳法这个思维这个层次是高于就是穷举法的。”

“就如果你的数学归纳法能够证明这个事情是对的那么它就对所有的自然数都成立啊。那这样的话我的穷举法就穷举无穷长的那个思维链它其实都比不过数学归纳法的很短的证明,所以这个是一个飞跃。”

“这样的话你对这个问题的理解两种方式的思维链它的后面的理解是不一样的。所以这个理解或者说这个表示呢其实就是神经网络学习的一个重要利用的地方。”

“我不知道我我讲过了没有?” “很清楚,然后我想跟你对齐一个认知。然后给你看一个就是当时我引用的就是我们不是教课嘛,然后我们教课的时候我自己发现。”

“当时是伊利亚去 MIT 几年前了,一六年的时候他去讲的吧。总之他当时讲了一个东西我觉得他说的很深刻就说为什么这个 backpropagation works at all。”

“然后就是这个就是 theoretically optimal hypothesis class 等于 short programs,对对。就听你刚刚那个意思也是就是本来我要去走好多条点走到这儿然后突然找到了一个更好的联系然后我就一个更好的压缩然后它就更 generalizable。”

“对,可以这么说嘛。就是说因为压缩可能也可以说是更通俗的解释对吧?但是什么时候这事情能压缩什么事情这些不能压缩其实现在不是很清楚。”

“就是为什么你要去研究 grocking 这个机制?就是说它给你提供了一个动力学过程,就是让你知道。它怎么从一个不压缩的状态变成压缩的状态?你可以这么想。”

“我再说一下就是我接下来问你一个问题的铺垫啊,就是我会发现这个和人类理解知识似乎也很接近。人类也是 information connect us 形成 knowledge,就是这个图是在 neural network 之前出现了。”

“而且啊很多教育专家都会发现就我记得在群里面赵志成有讲说 reasoning 是一个人类固执的幻觉。对,然后这个是个教育专家说的 most uh important single factor is prior knowledge。”

“对你只有 prior knowledge 就行了,你教这个 prior knowledge 就没有什么聪明不聪明这种说法吧?反正你只要把这个大学都 connect 起来了似乎就可以。这就是我接下来问题的这个铺垫。”

“你接下来的问题就是,我们不知道我们的这些 knowledge connect us”

是怎么形成的?对我们没有办法去讲清楚。你说在大模型里训练的过程中,似乎大家也不是很清楚。对,所以就是为什么搞清楚,其实可能会孕育着就是下一个模型的一个契机嘛,对吧?如果你搞清楚了之后,你就知道什么地方你要修改,这样的话,你这模型变得更强。所以这也是一个动力,因为我们现在就是你看它可以满足说我不把它搞清楚我就把它当黑盒子,就相当于是个很大的开关有很多开关对吧?像以前那种电脑屏幕那个大型机非常多的按钮开关我们就培养操作员坐在上面然后我把按钮开关开开各种组合然后看效果怎么样。那这是一种方案但另外的方案就是说我们要把这个大的机器打开然后理解里面的机制是什么。

然后有这个机制的理解之后那我以后再去拨这个开关的时候呢就非常有感觉我就非常知道哪些开关要开哪些开关要关对吧?这个做出来。这我觉得这肯定是一个更好的一个做法啊!当然就是说现在可能主流的思维呢其实并不是这么说。主流思维是觉得啊我们就叫scaling law,我不需要搞清楚你们在干什么我就机器卡很多很多很多放很多分量厉害的人进去然后呢让他们去拨那些开关这些开关的某种组合找到了那我们就能够把这个模型做的很强。这两种不同的思维但哪种是对的呢?现在也不好说对吧?因为现在确实Scaling Law有很大的应用。

确实那个效果也非常好至少目前为止看起来就是我们把当个黑盒子然后让很多人去拨动开关得到更好的解呢是一个比较好的方案。然后另外一方面就是你把那个模型打开那个时间花的代价其实更大因为其实并没有多少人真的知道啊这模型里面在干什么。但是我觉得长远来说可能后者呢会有更高的天花板吧?我同意你的判断但这里边有这么一个点就我觉得为什么黑盒子现在它是占主流?因为打开了以后人类似乎也没有办法真的去判断什么东西是什么。就是这里边有几种学习范式或者怎样?对对现在是这样。

所以就是能不能找到一个比较好的能够理解整个结构的一个大的框架是重要的。所以就是这样为什么我做成paper的原因嘛?就是最近有一篇paper我们做groking对吧?那么这边这篇paper为什么要做这个paper?所以我觉得就是通过这个方式得到一个对这个问题的一个大的理解框架可能对以后的那个模型的改进有很大的帮助啊。这个是我的想法。本来已经有点复杂了但是我觉得我再多引入一个问题啊就是似乎我们在学习AI怎么学习的过程中我们会从人类身上、人类的学习过程取得灵感包括最近很火的Sutton出来说AI是人类学习的方式大语言模型这种方式不是学习方式它也不能学方因为它没有objective。

那另外一派呢Hinton他说经验并不是一个只存在人脑中的你通过语言可以得到经验。这个debate最后就落到人到底是怎么学习的然后什么是学习?怎么样子才能产生学习或者产生新的知识或者connect到?就想请你在就这个问题来发表一下你的猜想甚至都可以。我觉得通过经验学习这个是对的但说这个经验里面就是什么样的经验是更有价值的?我觉得这是一个比较大的一个问题对吧?比如说你要说就是非常直观的经验就比如说我有一派是这么说我没有embodiment我是没有办法去学到真正的感觉啊这个是。对对对对你要行万里路或者说你要真正感到痛感到那个伤心喜怒哀乐你才能真正成为人就是这样的一种说法。

或者说比如说吧我只能通过看世界然后才能知道空间结构;或者说只能通过摸才能看空间结构对吧?那么还有一种说法就是说我就有一些抽象的概念我还是能够学会这样一些东西。对我觉得这两个东西呢其实应该说不是说是互斥的因为是这样的就是其实最终是我的目的上学到一个representation学到个表观学习对吧?因为如果你学到一个representation的话有个好的表征那么你对的问题你能够解决。表征怎么学出来的?这个完全取决于你的那个输入有多丰富结构是什么样子的。不管你是直观的学习也好还是抽象的学习也好只要能学到这个表征就能够最终得到一个比较好的泛化的有效果。

我觉得这两个拼起来呢应该说是比较好的。那么两边怎么谁能能够写出表征来?这个完全是应该说是有个定量的方式来预测的而不是说是非此即彼。啊,有可能是说两边都一半都可以学或者说一边三分之一一边三分之二也可以学都行。对所以并不是说是一定是黑或者白或者左或者右啊很多时候是混在一起的然后最终得到个表示这个表示就是能够进行预测或者说能够操作你的行动啊然后能够泛化到一个新的没有见过的情况。那我觉得顺着这个问的话就是你刚刚所说的后者的工作啊就是不是black box然后不是所谓的这种scaling up而是真的去打开它然后去梳理它然后怎么样呢用不同的方式去学习对啊。

那它的意义是什么?就是几种嘛就是要么它学得更有效率但是似乎现在我们数据已经到了一个瓶颈嗯哼效率这件事情不知道它是不是意义那么大。然后可能是在同样的知识里边能学到新的东西嗯哼或者能增加新的数据嗯就是新的信息吧information set呃它的意义是什么呢?就是那样做的意义。我觉得首先第一个就是说遇到瓶颈的话其实恰恰就需要这个了因为说遇到瓶颈的话那就意味着skill不一定有效了啊比如说你就这边的数据比如说你就只有这个案例垂练token这样的一个skil这个token数目就是对于一些大众的那个东西已经绝对够了对吧?但是对一些小众的领域就是它可能每个小众你看这样的坑就很少所以这样的话呢其实你如果数据不够再加上你的训练算法比较费数据的话不管怎么样你学会的永远是一个memorization或者说是记忆的结构而不是一个泛化的结构啊这是一个问题。

对吧?那么这种情况下你怎么样去用scaling law做?你就说你你得去找办法去做data augmentation呃这是一个办法对吧?但是如果你对这个问题有理解有这个模型有更好的理解的话呢也许不需要得到我们提示也许你需要改变这个训练本身的那个算法或者说训练的那个架构。那么有这个架构之后也许这个模型就会做更好。你觉得我们现在大约模型产生出来的inference生成出来的这些新的token它是记忆还是泛化?我觉得这个是我觉得说是混在一起的。task比较丰富的你见了很多很多这样的情况可能是泛化给他的记忆材料越多他越有泛化的可能是这样吗?

啊你可以这么说就是给他的材料越多因为他看到各种组合了之后他在组合里面可以得到一个比较好的表征这个表征它能够有预测能力或者说这个表征对那个没见过的那个组合它有一些比较好的结构可以算出来。就这个其实就是泛化嘛。我觉得说实在就是所谓我们真的懂这个东西我真的理解这个东西呢往往它意思的一个是它的泛化能力很强对新的情况下这个表征能够得到正确的答案。然后第二个呢就是说是它能够细化到非常简单的这个逻辑。那么这个逻辑呢可以apply to everything或者apply to lots of cases。这两个东西综合起来就是让你这个学出来这个知识能够apply到很多其他的地方。那么这个叫泛化应该说我们对泛化下个定义的话这样一个定义。

那么如果大语言模型对某个领域看了很多很多数据它有可能学到更好的表征然后这表征可以泛化。那这是一个。然后另外一个呢就是说如果他看到的数据很少那这样的话有可能就是说这个模型本身呢它没有办法学到很好的那个表征。OK那他就只能把它背出来他得到表征呢就是更偏于背诵的这样的结构就是它能够至少对付好训练的那个要求。就说我希望这个训练集上的那个错误率还是比较小的啊但是啊一旦超越了那个训练集的那个范围之后你就会发现这个错误率就会提高了。那么这个其实大家就认为这个是过拟合了对吧?或者说是背诵了所以大概就是这样子。

其实我觉得很多时候你并不能说神经网络是记忆还是泛化应该说是完全取决于这个数据的分布。就如果数据多那么这个神经网络是泛化多;如果数据少那么这个神经网络是记忆多啊。这个是我的观点。我觉得这里边最fascinating的一点就是它从记忆到泛化的那一步到底是怎么发生的?就是你帮我们总结一下至少从我最近那篇paper角度上来看呢就告诉你就是它有很清楚的一个picture告诉你就是这些是怎么发生的内在机制是怎么发生。就是我们现在感觉上是哦我从记忆突然间跳到泛化好像这个变化非常神秘但是呢这篇文章其实告诉你说其实并不神秘有非常清楚的一个数学图景。

就是比如说吧我们要做优化问题我们可以构造一个就是比较复杂的一个非凸的一个优化的一个一个结构比如说很多山的山峰然后G呢对应其中一个山峰那个泛化的对应其中另外一个山峰。那么这两个山峰呢其实对应着不同的表征。那么这个山峰的这个结构呢其实完全是取决于数据的那个分布的。如果你数据不够你可能就只有记忆的山峰;如果你数据很多的话呢某些泛化能力强的山峰就会慢慢慢变得越来越高然后记忆的山峰就会变得越来越低。这样的话呢你在让神经网络去找到那个好的表征的时候是相当于是个优化问题是优化这个神经网络这个参数使得它能够收敛到某个局部的最大点啊。

那么如果你的记忆的山峰缩下去泛化的山峰提上来然后泛化的山峰那么就有很多的那个神经网络它的参数会收敛到那个泛化的山峰那么这个模型就泛化了。那么从记到泛化中间为什么会顿悟呢?其实很简单就是说两个山峰之间的变化此消彼长对吧?然后在某个情况下我比你高一点点了然后突然之间所有人都往那边涌那就是因为因为它可以泛化啊那边泛化因为它能泛化所以它可以就是只要多一点点的话它咻就全都过去了。啊对对就对你认为就是神经网络是一个一直在优化的过程嘛?它会看见就是如果这边高一点那边低点那么所有人都涌到那个高的山峰上去那就突然之间你就懂什么。所以我觉得是这样的一个structure啊也就就是这样的话从整个书的框架上能告诉你这件事情呢是这么发生的而不是说是还是非常神秘的这样的一个东西。

那我是不是可以理解为这个泛化的点一直都在数据里边只不过我们之前没有找到它没有搜索到它或者说搜索到了但是没有pay enough attention然后现在因为它随着越来越多的数据点凸显了它的价值然后我们才pay enough attention?对对对你可以前提是它要存在。对它存在然后它有你看足够的数据让它显得与众不同啊可以这么想。就是如果数据不够的话呢你可以有很多泛化的那个思想但是就是说这些泛化的思想它的说服力不足以说服记忆这边就是你还不如把它记住。这些规律可能没有那么显然对吧?那这又回到了另外一个问题就是怎么样做evaluation怎么样做reward?现在大约模型还是你看你next token predict准不准作为reward吗还是有其他的方式可以让这个有泛化能力的人显得更牛逼一些?

呃应该是这样就是现在你要看大约模型一种是pre-training预训练和post-training后训练对吗?这两个都有所以你很难讲就是你说预训练我们现在还是用大量pre-next token然后后训练呢其实我们可以说有很多办法可以做训练。那么预训练pre-next token这个结构或者说这个损失函数其实没有变啊因为现在相对来说这个还是比较好的。损失函数啊当然现在有一些新的一些方案比如说reinforcement to training就是我在训练的时候加一段思维链然后希望这个思维链会导致最后的那个预测是比较准的啊这种类型的一些工作这个就是可能对原来预训练的方式呢做了一些改变大概是这样。那后训练它的花样就很多嘛对吧?花样就比如说你可以改reinforcement learning的一些函数比如说改你说很那值函数改它的evaluation value function对吧?reward对吧?改rubric这些东西都可以改。

那比如说改了之后可能就是你其实是希望这个模型往不同的方向走对吧?然后你往不同的方向走了之后呢那么有些方向可能就强化模型的某个能力。模型方向强化模型另外一种能力那么这样的话你这个模型最后就是百花齐放了嘛?当然了就是说很多时候你要优化它到某个能力的时候呢你其实还是希望能够优化的比较一个是避免就是reward hacking有些时候就是模型还是会最大化你的某个值函数但是这个最大化的路径是偏的不想让它这么做但它就这么做这么做有shortcut比如说你答案就只有ABCD四个。然后拿去瞎猜一个百分之二十五我不希望他瞎猜怎么办?那我就希望我的思维链一个是希望他的每一步呢就是经得起考验啊每一步逻辑是正确的。你可能需要一个one model去做这个事情这个是比较重要的一个就是怎么样去做这个事情。

那么这样的话你中间肯定要引入各种rubric引入各种东西去把这个模型给算出来。所以其实花样还是挺多的而且有很多地方是可以有一些人类的那个思维和概念能够放进去。我听到现在用比方去理解它的话呢就是大语言模型是个非常非常勤奋、算力非常高就是一天到晚学习的人。读了唐诗三百首结果发现他找到了唐诗三万首。读了三百万首唐诗然后他会作诗了是因为他穷尽了这里面所有规律找到了行之有效的方法且他有一个好的方式去可以帮助he evaluate他自己的诗做得好不好。他找到了这里边的规律但前提是这个规律要存在在这里边。对对对对。

然后你刚刚所说的就是希望用另外一种方式去学习是说我们不光要让他去背三百万首唐诗我们能不能就是像发现数学公式那种方式去发现一个规律?阿基米德发现浮力定律他其实是干了两件事儿肯定当时在想很多很多的方案很多很多的可能性然后他脑子里边找到了这么一个点。但是第二件事儿是他马上意识到这个是对的这两者在机器都挺难做到的他很难马上意识到这个东西是对。对的我觉得一事儿这东西对的是有可能。比如说你发现一个新的假设这假设能够解释更多现象而且它假设更简单那你会马上意识到这个是对的啊。就比如说地心说跟日日心说其实说实在的那个地心说也是对的。

地心说你也可以拿来预测只是在地球早上来看就其他行星的运行轨迹非常复杂本轮均轮这种运行轨就是轮子套轮子一边这么走还要换个花样再转再转就是轮子里套轮子。然后你通过这个方式你可以预测一个行星的行为这两个其实都是对的只是说你切到日心说你会发现突然之间所有的轨道都非常漂亮啊都是一个椭圆非常非常简单这个时候你会马上意识到那个理论或者说那种解释是更加完美的或者说更加接近真实或者更加接近那个更美的这样的感觉啊我感觉是这样子一个逻辑。你觉得elegance这个东西在模型现在训练的reward function里边?这个我觉得这样它不是reward function但是它在训练的时候呢应该有implicit bias往这方向走。就比如说那刚才你说哎伊利亚说过这个我希望它压缩我希望这个模型会自动的找到一个比较优美的或者比较少的压缩比最高的那个解释。

这个我是同意的这个确实是会发生的。但是呢就是这个不是一个reward function是说它内建在神经网络的训练过程里面这训练过程会让这个模型自然的发现更加好的或者说更加优美的解释那么这样的话呢神经网络它才有这个能力去学会更好的表征然后才有泛化能。在loss function之上还有一层更隐含的reward。哎是的是可以这么说。对对这个很重要因为就是在所有的loss function都是surrogate都是代理。就比如说predicting next token或者是whatever或者什么contrastive loss、non contrastive loss或者说player loss这些东西都是代理。就它的目的是产生一个梯度流这个梯度流能够让这个表征往正确的方向走。

这个是最后最重要的一个逻辑。至于这个目标函数是什么其实并不重要重要的是这个哦我直到今天之前我一直觉得loss function是整个学习的目标。现在我才知道了它是surrogate。这个是共识吗?我为什么到今天才知道这件事?因为它听起来很intuitive然后很重要。我自己毕竟还是做过很多表征学习的工作的我知道就是很多表征学习的那个目标函数你做过一些拆解之后你会发现它们其实就是反传梯度的不同形式嘛。你的loss function

换了,你的反传梯度的结构是不一样的。那么这个结构其实最终能够影响你的表征的学习。但是你这个loss function其实可以换,你甚至换成一些那个奇怪的东西,你从来没见过,但是你最后得到的那个梯度是差不多的,那你比如说表征也差不多。你对梯度这个词的使用也让我觉得非常的intuitive。我心中就是一个一个等高线,这个等高线最后画出来的是我们的知识很本质的东西,可能就是刻画我们世界规律的这么一个。

对等高线这个逻辑呢是经常用的,但是等高线这样的一个思路呢,其实它忽略了这个神经网络本身的结构,因为它把整个landscape把它做成一个高维空间中的一个非常复杂的一个山峰。但是这个山峰其实你要知道,山峰其实对应着神经网络的结构。所以这两个是有关系的,应该是说把这个梯度在山峰上的这个指引,去映射到这个神经网络的具体的哪个梯度对于哪个神经元的,或者每组神经元的这样的一个过程。

那么这个时候你能看见,就是它的表征是怎么学出来的。这个是会比较有趣吧,但这个可能比较细节,大概是这样的一个逻辑。但这个是一家之言嘛,我们来听的就是一家之言。有教科书的话,我们就去学教科书了。啊,每个人都会有自己的想法嘛。这边也是做很多research,也有这样的一个大概的一个感觉。我在上面有很多文章,做一些这样的工作,去分析这个梯度的结构啊。

我相信,就是再往上走,也许那个理解呢,是能够改变这个神经网络的学习的方案,这是我们的最终目的啊。当然,这个方向比较远啊,就是long term的,当然是希望有很多那个short term的东西可以跟它辅佐在一起。

回顾一下你的这个科研史,看你的工作,其实我能感觉到它是有一个很强的主线。自己的网站上介绍的时候,我就会发现你前面的一个工作立到下一个工作,然后再立到下一个工作,就是每一次都能在前面非常重要的结果上再往前走。你到底是怎么决定你的科研方向?你怎么样子把兴趣、商业和自己的挣扎结合起来?

肯定是要结合的,不然的话就是很有可能就很惨。大家都有家庭嘛,大家都希望能够有一些比较高的收入,比如娃也有个比较好的环境,社会地位也很比较高。就大家都希望这都都要嘛,就成年人说他都要,不是说小孩子你要想就选一个。所以最终你肯定是要找到一个结合点。

因为我从博士开始已经是很多是双线作战了,我可能花九个月时间去想一些不着边际的东西,然后三个月说哎呀不行了,我今天发paper,不然的话老板不爽我对吧?那我可能会跟老板说啊,你有什么题目我来帮你做。我花三个月,我就把这个事情做了,出篇paper,就要对老板有交代嘛。通过这方式,至少让我我是觉得我会有工作,我能毕业,对吧?然后老板也开心啊,这个是重要的。

工作之后也是一样的嘛。我们当然希望做一些方向,这些方向是迎合时代潮流的,不可能说完全脱离时代潮流。比如大家都在做大语言模型,你全面不做,比如我就说做S B,肯定在公司里面是没有办法活下去的。

会想一想,就是说我这边的一些比较偏理论的研究,对于这个问题我更深理解。比如之前我们有一些关于attention sparsity,注意力机制如何变成稀疏的这样一些研究。那么这研究本身是比较理论的,但是呢,你可以拿来做一些比较实用的工作。

比如说之前的attention think,我们其实没有太多理论,但是我们可以通过观察这个神经网络的稀疏性。我可能得到新的算法,那么这新的算法啊,把上下文扩展到四百万以上,这样的话,这个东西有用了嘛?突然之间,你可以拿来做大语言模型的coding解码的这样的一个应用。那么这应用其实本身也可以放在很多手机上,这样的联系应该说是还是比较紧密的,应该容易想到。

那attention sparsity有稀疏性的话,那我就把大部分的attention score剪掉嘛,那不就是加速了吗?其实不是省内存了呢,对吧?那有各种办法可以提高这个效率嘛?这两个关系是很大的,你只要稍微想一想,就有一个新的算法。那么有新的算法之后呢,你就有一个新的思路,那么这个新的思路你就可以拿来做很……

你最后一个问题吧,就是until recently,你的科研你感觉是按照自己的想法走了,还是要做很多application的工作?及接下来可能会吸引你做的事情是什么?是继续你对后一种研究范式继续探索呢,还是我觉得研究范式探索是很重要的?

那当然了,就是说我们现在也要与时俱进嘛,对吧?就说了嘛,我不可能我关起门来说我就用以前的方式来做这研究。也许我们以后要找到一个AI scientist,或者说我自己写一套比如说Agent框架,然后帮我去做研究,这也是可以的。

就是说我们这篇那个Grokking的paper,或者是在是我和GPT五进行对话做出来的。其实我觉得很有意思,像这种self play嘛,我给他一些问题,然后我这边有些想法发给那个GPT five,让他去思考,给一些比如说formulation,对吧?一开始你这么做,他给你的答案都是非常大陆的,非常没什么意思。

但是呢,就是你通过思考之后,关键的一个insight给他,他可能会有不一样的输出。这不一样的输出呢,可以往下面深挖一层了。但是呢,你还是要找到他的错误,找到他的一些矛盾的地方,他做不出来的地方,然后继续的深入。然后一直深入到就是这个问题的那个理解,或者说这个问题的一个数学的这样描述呢,已经达到了我想要的这个目的,这部分就成功了。

但是我还有一个点就是,你那是一个solo author paper,你没有把GPT五放到co author里边。基本上是一个conference投稿嘛,就是Conference Talk说大语言模型不能作为作者,所以没有放,对吧?那我后面写了一段嘛。

这段话是说我们广泛的使用大语言模型,我给大语言模型各种想法啊,让它去formulate,让它证明一个东西,然后发现问题怎么解决。对吧?它基本上所有都是错的,但是呢,它有一些比较有意思的insights,很多东西可以细化。然后把你的idea从一个想法变成一个具体的一个过程,这个他很擅长。

就相当于就是他是一个非常勤劳的junior的一个PhD,他非常勤劳。我给他一个想法,他马上把它哗哗写成一段一段路,让我能够很快的进入状态。以前你要进入状态,我现在有一个小时的时间。一开始半小时,我要进入状态,通过写写公式啊、看看文章啊、思考一下,我进入状态了,叫心流嘛。然后才能得到一些结果,这个时间其实比较漫长。

有了这个GPT Five之后呢,进入心流时间很短了。你跟他有一个小想法,然后他啪啪啪给你写一大段,三分钟之内给你写一大段东西。你看完这段东西之后,你马上会进入这个状态,就说我知道我要怎么去想问题,什么地方他做的不好,或者说有什么insights可以进。这个是很大的一个效率的改进吧?

以前你需要几个月的时间做一篇文章,你现在可能几个礼拜,甚至是更短的时间,这个是非常大的一个效率的提升。如果用得好的话呢,是很厉害的。当然,现在还是一个非常初级的一个self play,对吧?也许说不定以后我们可以做一个更加自动化版的。就很有意思。嗯嗯,哎,肯定这方面有很多东西可以做,也有一些经验了。

就是我跟那个当时是O1 Pro探讨量子力学的那个Many World啊,theory我特别感兴趣。然后我一直觉得就是它最make sense,但是我们没有对应的哲学,反而那种所谓玄学的哲学和这个many world theory的哲学是吻合的。

就是我如果非要强行的说的话,我就说这个世界的本质就是一个非确定的many worlds。然后我们之所以现在share一个reality,这个是我们的就是最大概率。当然这个概率可能极大,就是九十九点九九九九九九,所以说我们就会觉得这个桌子是确定无疑的存在。但是其实它可能并不是真的存在。

嗯哼,嗯,对,大概这种感觉。对,这个是对的,就是这个从科学上也是对的。说你可以认为它是一堆不函数的组合嘛,对吧?然后存在一种可能是这个桌子突然之间跑到另一个墙另外一边去了。这概率非常小,但是不是零啊?这个是存在的。

只是因为就是这个桌子是宏观物体,它的那个量子态不是那种相干量子态,所以就出现这种概率非常非常小。就是这样子一个东西。但是我就发现这个idea我没有办法和他写成一个文章,因为我自己的水平不行。

所以说,就是现在AI能辅助你写出来像你这个顿悟的这样的文章,主要是自己啊。是是是,就是还是人还是比较重要了。有很多的重要的insight是要人给啊。然后AI现在有很多莫名其妙的问题,比如说它就会在卡在一个地方动不了。就是它会跟你说很多车轱辘话,然后呢,就是它就说不到本质上。

这个很有意思。就感觉,我感觉上就是你去面试一个那个新来的PhD,然后啊说一大堆话。他像背诵概念,但他就绕不到,他就找不到那句最重要的本质的话能够说出来。这个其实是一个比较大的一个问题啊。但是这个就需要人去总结,然后的告诉他这个是我们认为的最本质的东西啊,然后让他继续往下走。

这个是比较重要的。你就是说这是一个fresh PhD吗?fresh PhD意味着它可能是可以被训练的。我想到是Duolingo的那个Founder,他是一个计算机教授,我忘了叫啥。他讲了一个故事,就是他去读博士的第一年,他老师是图灵奖的获得者。

对,然后几个月他去了以后,他老师就只跟他干一件事儿:就是你这个东西跟我讲讲,我没听懂,你下次再来。就他第二个月的时候就崩溃了,就这个老师肯定不行吧?怎么回事?结果后来才发现,就是他自己没有讲清楚。也没讲清楚,说明你这个理解不深嘛,对吧?

如果理解深的话,讲清楚了,别人会觉得:嗯,你确实理解深了。你确实懂了,然后你可以做研究啊。所以这个是一个……呃,对他叫那个路易斯·冯·安。对我想想,对对对,应该是说我当时在CMU读博的时候,他就在那儿。对他有这么一个故事。

所以说不知道模型是不是也可以这么搞定?我觉得有希望吧,希望可以啊,是的,是的,是的。对,当然了,就是大模型可能会强行的记住就是我怎么样讲能讲清楚,但是他自己不懂也是有可能。而且就是说你怎么样才能获得训练数据,能够让大模型找到最优的讲清楚的这样一个东西?因为讲清楚这个事情是个非常主观的东西。

很难用这个模型去model它。在要求大语言模型之前,我们先要求自己吧。我们先要求自己把一个东西给讲清楚,已经是一个很高的要求了。对这个很难嘛?就是说这部分其实可能就需要人有美感。就是人觉得他的那个讲解是非常有美感的,或者说非常简单扼要,这个才可以。

那么这个怎么样去设计一个loss function是一个question?通过这个对话,我也更深层次的理解了,就是这件事儿多重要。它的context是什么,和它其实对人也好啊、或者对模型来说,其实都有很多共通的地方。我觉得就通过讲这个论文,我们也讲了很多其他的,我觉得挺重要的知识。

对对对,好的,那祝你接下来一切顺利。好,谢谢。嗯,好。嗯,先这样啊。嗯,拜拜,拜拜。

特别数学好的人、物理好的人,转到其他的领域是很快的。你数学和物理呢,它给你一个预训练,让你们脑子里面表征比较好,很容易能够映射到不同的领域。他们之间这个领域的知识可以迁移的。在别人看来,这些点都是离散的,然后他们就没有关联。但是作为一个表征比较好的一个研究员,他能看到他们之间的关联,并且欣赏这些关联之间的一个美感。