曲凯
There's something there。我们今天很开心请到了吴翼,来跟我们一起聊 RL,也就是强化学习这件事情。这个初衷是因为去年 RL 已经开始火起来了,但今年我一个特别明显的体感是,现在大家都在讲 Agent。Agent 团队里面,如果有一个 RL 算法能力特别强的人,好像就特别吃香。这件事基本上已经彻底起来了,大家非常认可。
所以今天我们可以聊一下强化学习,尽量把它聊透。首先还是先请你自我介绍一下。
吴翼
大家好,我叫吴翼。2020 年从 OpenAI 回国,然后在清华当老师,一直都在做强化学习相关的工作。我的博士是在加州大学伯克利分校读的,博士论文题目叫《Building Generalizable Learning Agents》,里面有强化学习、泛化和 Agent 的关键词,全齐了。
曲凯
对,那个博士论文的题目起得还不错。
吴翼
算是比较早做强化学习、强化学习泛化性以及多智能体强化学习的人吧。现在我是清华大学交叉信息研究院的助理教授,给清华大学交叉信息研究院的本科生讲一门深度学习课程。
所以我觉得,今天其实有点像上大师课。我们的受众大多不一定有很深的技术背景,包括我自己在内。大家可能通过各种渠道了解了很多强化学习的概念,或者相关的、大家都在讲的东西,比如 DeepSeek 用了很多 RL。
曲凯
对,但这件事情真正的发展历程,以及里面的一些细节,可能很多人没有那么了解。我们今天就把它深入浅出地聊一下。
我的第一个问题是,到底什么是 RL?可不可以给大家简单解释一下?
吴翼
首先我觉得,强化学习是机器学习这个大概念下一个比较特殊的问题。传统上大家讲机器学习,比如分类问题、人脸识别、指纹识别,或者给你一张图片,让你判断它是猫还是狗。传统的深度学习也好,机器学习也好,本质上都是你有很多数据和人类标注的准确答案。
比如说,我给你 1 万张猫的照片、1 万张狗的照片,每一张照片都是人标注好正确答案的。然后收集大量数据,丢给神经网络,或者之前的其他模型,让机器学习去记住它,当然它也会产生一些泛化能力。上一个人工智能浪潮,比如我们之前讲的人工智能“四小龙”、人脸识别时代、安防时代,其实都是在这一套机器学习框架下。
那么强化学习跟它有什么差别呢?强化学习最早是用来打游戏的。比如我们想玩一个切西瓜的游戏、俄罗斯方块,或者打乒乓球的游戏。它的特点有两点。
第一,打游戏的过程中你要做很多动作。比如打乒乓球,我要从发球、接球到回球,每一个动作都要做决定:到底应该往前伸拍子,拍子应该转一转,还是怎么样?或者在游戏机里面,我是往左走、往右走,还是跳起来?
这跟传统的机器学习不一样。传统机器学习判断一张图片是猫还是狗,一个动作就结束了;但打游戏不是,打游戏需要我做很多很多动作,最后才会有一个结果。
第二,对于传统的图片识别来说,它是猫还是狗,有标准答案。但是对于打游戏来说,比如我打 DOTA,出门向左走还是向右走,差别可能不大。你有很多种方法可以完成操作,因为选择非常多,所以它没有标准答案,只有最后好坏的概念。
比如我打游戏打赢了,这是好的,但是具体怎么打没有标准答案。这是两个最大的差别。
所以强化学习是一套算法框架,它希望解决的是这样一个问题:我有很多个决策要做,而且最后也不知道具体应该怎么做,只有在完成所有决策之后,才会得到一个好坏的反馈。
曲凯
所以你说的“更一般”,指的是泛化吗?我可以理解成,我们人的生活当中,更多问题其实应该通过强化学习来建模。比如我想去美国出差,应该怎么去?中间有很多步决策,最后我成功去了,开心地回来了,这是一个好的奖励。它很难被归约成传统机器学习那样——这是一个标准问题,每一步都有标准答案。
吴翼
其实不是,人生就是一个强化学习的过程。因为你有很多种选择,没人告诉你正确答案,所以强化学习更像是一个可以针对通用问题、像人一样的泛化智能体所使用的更一般的框架。
但这个问题如此广大,几乎可以把生活中的所有问题都包含进去,所以它一定更难解决。一个问题的范围越大,就越难求解。传统机器学习的问题非常标准、非常简单,所以求解起来容易。
强化学习这个技术一直到李世石和 AlphaGo 这件事,才真正出圈;但人脸识别很早就出圈了。本质上也是因为强化学习处理的问题更复杂、更难。
曲凯
你刚才提到“人生本身是强化学习”这个点,我觉得很有意思,但我想追问一下。简单来说,机器学习是简单问题的解,比如判断一张照片是猫还是狗;强化学习是一系列复杂决策的解。
但人生可能没有一个标准解。既然这样,强化学习到底是不是适合人生?因为它其实假设你知道怎么打分,比如到底是赢还是输。
吴翼
所以确实要说,强化学习有一个前提,就是你知道奖励函数是什么。但我觉得人生的差别在于,人生中你不知道奖励函数是什么。
所以人生中很大一部分时间,是在探索奖励函数到底是什么。你可能以为自己在优化一件事情,最后到了结果才发现,原来自己的奖励函数并不是这样。
曲凯
我们听到比较多的案例,都是用强化学习去打游戏,比如下棋,或者在迷宫里尽快找到路径。但在大模型时代,包括很多 Agent 完成的任务,其实没有一个明确的解。那这种情况下该怎么办?
吴翼
这里面有一个历史原因,就是强化学习和大模型是怎么走到一起的。
我们先说大模型是什么。大模型是 next-token prediction。用俗话说就是“熟读唐诗三百首,不会作诗也会吟”:让它读很多文章,它就发现,原来这个 AI 是通用的、可以泛化的,能够做很多事情。
但这件事情其实一直跟强化学习没有关系,因为强化学习要有目标,而大模型“熟读唐诗三百首”本身没有什么目标,它只是做 next-token prediction。
这里面有一个重要问题,叫 instruction following,也就是指令遵从。它的背景是,OpenAI 有一个很著名的工作叫 InstructGPT,这是 ChatGPT 之前的前身。
它讲了一件事情:GPT-3 训练完之后,大家发现这个东西很强。但是如果你把 GPT-3 的 API 给一个外行人使用,在 2019 年、2020 年那个年代,他可能会觉得这个 API 不好用。
比如你跟它说:“请帮我解释一下登月是什么?”英文就是 “Can you explain the moon landing for me?” 然后你让 GPT 往后续写,它可能会重复:“Explain the moon landing for me, explain the moon landing for me”,讲很多遍。这是一个很常见的问题。
我去年用一些友商的大模型,也还会遇到这个问题。很多人就会说,大模型不好用。
我们来分析一下,一个人说这个东西不好用,为什么?其实这个人给了大模型一个指令。这件事情并不是让大模型把它当成一段文章去补全 next token prediction,它真正的意思是:我告诉你一个指令,你看着这个指令把它完成。
比如“Explain the moon landing for me”,其实是说:“好,你给我讲一下登月是什么。发射了什么火箭,有阿波罗计划、嫦娥计划……”我希望 GPT 看到这个指令之后,输出能够满足指令要求的内容。这就叫 instruction following,指令遵从。
曲凯
所以 GPT 当时的 next-token prediction,训练目标只是预测下一个词,并没有指令遵从的概念。我们一直说它本质上是一个概率模型。
吴翼
对。所以直到 InstructGPT,OpenAI 才开始想:有没有办法让大模型变得可用?就是我给你一个指令,你输出的话符合指令的要求。
这件事情有很多方法。当时 InstructGPT 提出,要不然用强化学习来做。
强化学习需要一个任务、一个奖励,还需要决策动作。那就这么建模——这也没有谁对谁错,只是 OpenAI 这么做了,最后发现效果还不错。
怎么建模呢?我有一个指令,比如“Explain the moon landing”,这件事情就是我的任务。之后你的所有强化学习决策,都针对这个指令。
动作是什么?决策是什么?模型看到这个指令之后,输出的每一个词就是一个决策。这样基本上就全了,只剩下 reward 是什么。
Reward 就是你说出来的话,最后是不是和我的指令一致。这样就可以完整地用强化学习过程来描述这个训练过程:给你一个指令,大模型开始输出 action,输出很多词,最后输出 end,然后我判断你是不是符合我的指令。
曲凯
这个“一致”是怎么定义的?这是一个非常好的问题。大家发现,怎么定义一致呢?发现定不了。
吴翼
对,得靠人。最后这个东西就叫 reinforcement learning from human feedback,也就是 RLHF。
指令遵从的标准是:人觉得它确实遵从了指令。所以我先找一堆人写指令,再让大模型输出,然后让他们判断。比如大模型针对 10 个指令生成了 10 个答案,让人排序,判断哪个更好、哪个更不好。他们也会写一些人觉得好的指令。
最后根据这些数据,训练出了一个奖励模型。因为确实没有一个金标准的奖励模型,所以需要人来定义。人定义之后有很多数据,再把这些数据训练成一个模型,作为奖励模型,这就是 RLHF 的由来。
曲凯
但去年这个词很火,随着这个词一起火起来的还有 alignment。也有人——我记得是 OpenAI 里面的人——说 RLHF 本质上不是一个真正的 reward model,而是一件跟人对齐的事情,并不是真正意义上的强化学习。
今天大家讲的 RL,和当时的 RLHF,区别是什么?
吴翼
确实不太一样。RLHF 到去年为止存在的主要价值,是让大模型变得好用。就像一个聪明的清华、北大同学,经过实习之后,变成这个公司里很能打的员工。
但它并不能让大模型更聪明,也不存在 scaling law。Scaling law 是说,我有更多计算、更多数据、更多资源,这个模型的智力水平会提升。
直到 OpenAI 的 o1 用了另一种强化学习方式,大家才发现:原来这东西可以提升智力。
这件事怎么来的?先有预训练,也就是说我有一个更好的基础模型。很长一段时间,大家都在想,除了预训练阶段堆更多数据、更多算力、更大的模型之外,有没有第二条曲线,能不能让模型变得更聪明?
这里还得说一句,伊利亚很厉害。这个想法是伊利亚想出来的,只是最后的实现是其他人做出来的。
伊利亚当时想的是:人是怎么样变得更聪明的?他认为人在面对很多复杂问题之前,会先思考。传统大模型拿到问题之后,立刻通过 next-token prediction 把答案给你,但很多问题其实需要思考。
所以 OpenAI 希望解决的问题就是:如何让大模型思考?
思考有很多方法。比如可以做一个小模型、一个大模型,或者在模型结构上进行创新。但最后 OpenAI 发现了一种有效的方法,叫让模型多吐一点字。
也就是先让模型输出 1 万个字,输出完之后再说:“好,现在给我答案。”这就叫 thinking token。现在 DeepSeek-R1 也会先想一会儿。
这个名词叫 inference-time scaling,也就是说模型训练好以后,让它先想一会儿。但这个“想”,其实就是在纸上写字。你让它想 10 秒、30 秒、100 秒,最后再给答案,发现想得越久,答案越准确。
通过写字的方式让模型想更久,这种范式是 OpenAI 想出来的,后来在 o1 上实现了。
曲凯
但这到底是什么?为什么它吐的字多,效果就会更好?
吴翼
不知道。到今天为止,也没人知道。很多人试图理解这件事,当然可以直觉地解释说,因为人会打草稿,或者怎么样,但目前没有特别理论上的解释,能够说明它为什么有效。
所以 OpenAI 从想做 slow thinking,到真正把这件事情做出来,花了 1.5 到 2 年的时间。这并不容易,需要坚持。你告诉我:“好像这样就可以了。”但为什么能从 slow thinking 想到让它吐很多字,这件事情当时是不知道的。
确定了这个 paradigm 之后,我们就要问,怎么训练一个模型,让它吐那么多字?
这又回到强化学习了。我们希望最后结果是对的,中间吐了 1 万个字,但具体吐什么字无所谓。这不就回到刚才打游戏的想法了吗?一开始我不管你游戏是怎么操作的,最后只要赢就行。
怎么训练一个模型,让它有 slow thinking 的能力?通过强化学习,中间到底吐什么字,可以让模型自己探索;我只要最后结果对就可以了。
但问题是,和 RLHF 相比,它的探索空间太大。RLHF 是输出几百个字,判断这些文字是不是符合要求;慢思考模型可能输出 10 万个字,甚至几十万个 token,非常大。
曲凯
这两个问题有点像我们刚才讲的机器学习和深度学习之间的区别。
传统的对齐问题,输出相对比较短,可以找人来标注、排序。但现在一个 AI 说它想了 1 万个字,另一个 AI 想了 2 万个字,最后输出的结果分别是:“国庆是哪一天?”一个想了 1 万个字,回答“国庆是 10 月 1 日”;另一个想了 2 万个字,也回答“国庆是 10 月 1 日”。
你说是想了 1 万个字的人好,还是想了 2 万个字的人好?因为你不知道它脑子里怎么想的,很难判断哪个过程更好。
吴翼
所以没办法评判,也就没办法用人来做强化学习训练。中间的推理过程哪个好、哪个不好,这个问题解决不了。
最后大家发现,OpenAI 用了一种非常简单的方式:训练推理时,只使用有标准答案的问题。比如一个二次方程,要求解 x 是多少。算出来 x 等于 3,写 x=3 就完全正确,写 x=4 就是不对。
所以从 o1、R1 开始,到最近发布的 AReaL 系统所支持的这类强化学习推理模型,都主要让大模型训练那些答案可以被标准检验的问题。
当然,这肯定是一个 spectrum。有些答案稍微含糊一点,可能也可以,但核心原因是思考过程太复杂,我们只能判断答案。你可以让模型自由探索,怎么想都行,只要答案对就可以。
曲凯
但结果对了以后,过程中的成本、效率,也会有好坏之分吧?
吴翼
有,确实有做得好和做得坏的区别。我们觉得 Anthropic 在这方面做得特别好。
你看刚才的思维范式,大家很难限制模型中间怎么想,所以经常有人抱怨:我问 DeepSeek “1+1 等于几”,它给我想了半天。为什么?因为你不管 AI 是怎么想的,也很难对它的思考过程做出好坏判断。
于是你如果不管它,AI 可能会想:“1+1 到底是什么意思?你是不是有什么别的意图?我来想一想。”想半天之后,你就会发现,这个 AI 怎么回事,1+1 都要想半天。
但 Anthropic 的 thinking 做得很好。你给它 1+1,它就不想;你给它一个复杂问题,比如算 24 点,它就想 10 秒钟。
曲凯
按照我们惯常的理解,是不是可以用一个小模型,先判断这个问题需不需要思考?
吴翼
首先我不知道它是怎么做的。我们当然可以猜,Anthropic 背后是不是放了 5 个模型。OpenAI 现在也允许你选择 o3 的 low、medium、high,对吧?它可能就是 3 个模型。所以 Anthropic 也有可能把这几个东西藏起来,也可能只是它的模型训练得比较好。这件事不得而知。
第二件事是,虽然我们对模型的思考过程没有限制,但 DeepSeek-R1 有一个好玩的地方:它训练时没有对思考过程做限制,但你给它一个明显没有标准答案的文科题,让它想一想,它也能讲出一些道理来。
这是怎么做到的?其实靠的是大模型的泛化能力。它在文科题上发现:原来你让我想一想,我也能想出一些东西来。这也是比较有意思的一件事。
曲凯
这也是我刚才想问的。用标准答案训练完以后,它本来会做的是数理逻辑类的事情,但目前看起来确实能泛化到其他领域。
吴翼
这里有两件事。第一,它确实会有泛化能力;第二,也不能单靠泛化能力。
所以最后,当你做完大规模的理科强化学习训练之后,还要用一些文科数据把它掰回来一点。否则你会得到一个极致理性的人,用 nerd 的方式回答问题,但 nerd 回答哲学也不行。
如果你去看 DeepSeek 的报告,会发现他们最后做了一下合并:一个极致的 nerd 模型,加上它的 base 模型,两边合起来,最后再做 SFT、RLHF,让它至少成为一个能用的模型。
你会发现,最后得到的模型处在一个比较好的中间位置:它的深度思考能力保留得不错,也能完成 RLHF 之后的普通对话和指令遵从任务。
但怎么把一个特别 nerd 的模型和一个特别人文的模型合在一起,本身也是一个很有挑战的事情。
曲凯
所以 DeepSeek 在强化学习这件事情上的应用,最主要强在哪里?
吴翼
我觉得首先,RLHF 这件事大家都在做。DeepSeek 也是最早做 R1 的团队之一。我觉得 DeepSeek 最重要的事情,是证明了这件事真的可行。
就像刚才说的,OpenAI 从真正开始立项思考 o1,到最后发布,可能经过了 2 年。大家都会觉得这件事很难,估计要花很长时间摸索。我当时自己的判断也会觉得,这件事太难了。
DeepSeek 最重要的是,团队特别专注。他们做这件事可能就做了 1 个月,结果发现,原来真的可以。
我觉得 OpenAI 厉害的地方在于,茫茫人海中,本来 365 度都是黑暗。OpenAI 说:“我告诉你,东方有一座灯塔。”大家说:“好,那往东方走,但到底怎么走?有多远?是不是万丈深渊?”
DeepSeek 说:“兄弟我回来了,灯塔就在这个方向,往前走 1 个月就到了。”
大家一看,原来是这样。这个信心是很难得的,所以一下子路径就变得非常清晰。
当然,真正去做之后,你会发现仍然有很多挑战。比如你还是要有一个好的基座模型。这也得感谢开源社区。没有基座模型,如果这个人只有小学水平,他再怎么思考也没用;至少得是一个高中生,你让他思考一下,才可能做大学题。所以基座模型很重要。
第二,整个训练系统非常重要。强化学习的输出长度变得特别长,你要允许模型自由探索 1 万个字,那就需要一个很强的训练引擎,能够支撑大模型在那里自由生成。同时还要并行地让很多大模型去思考,思考之后再判断,判断之后拿回来继续训练,而且模型的思考还会越来越长。
所以这个系统对稳定性和训练效率的要求非常高。DeepSeek 也是国内较早拥有比较好的强化学习系统的团队之一。
很多事情不是说他们做了什么大家都做不了的事情,而是他们做得特别早、特别专注,而且很扎实。
曲凯
你刚才提到,DeepSeek 相当于已经走到灯塔那里,再回来探索出一条可行路径。这个事情现在是整个行业的共识吗?大家认为这就是最优路径,后面沿着这条路做就好了,还是说大家仍然在探索其他路径?
吴翼
我觉得国内做得比较好的团队,比如 DeepSeek、字节,字节的豆包团队有那么多人,他们肯定在同时探索很多方向。DeepSeek 也比较前沿,肯定还会做下一代模型。比如他们最近发布的 3.2.4 模型,coding 能力就特别强,也是在探索。
其他很多团队,我觉得还处在相对追赶的位置。大家都会有自己的思考,但第一步还是先追。因为在国内,确实很难有一个模型能做到和 R1 一样好。大家都说差不多,但真的要全面超过,其实还没有。
海外仍然有很多团队有自己不同的 belief。OpenAI 自己肯定还有好东西没有拿出来。我们知道,OpenAI 的强化学习已经不只是做推理了,它还可以做很多事情。比如之前的 Operator、Deep Research,其实它的强化学习已经从纯推理变成了 Agent 范式。
这和做数学题不一样。做数学题是给它一个指令,它想一会儿,给你一个答案。但 Deep Research 或 Operator 是给它一个指令,它想一会儿、操作一下,然后看到新的信息或者反馈,再想一会儿、再操作。
它的训练范式从“一条指令输出一个答案”,也就是 InstructGPT 时代的一轮范式,变成了 ChatGPT 式的多轮范式,而且还要和虚拟世界交互。
所以 OpenAI 的强化学习训练系统,已经从传统的“做题,只要思考”发展到开始进行交互了。这是一个很大的变化,而且已经产品化了。
曲凯
为什么多轮交互的难度不是一轮加一轮、加一轮,而是会变得更高?是因为它更复杂吗?
吴翼
因为有没有交互,差别很大。最简单地说,从系统模块上看,如果我只做数学题,那么模块只有让 AI 思考、判断答案对不对,再加上训练这 3 个模块,就可以了。
但如果我要做 Deep Research 或 Operator,至少还需要第 4 个模块:一个可以和模型交互的虚拟网页。
复杂系统的模块越多,就越容易出问题、越容易不稳定。你还要思考这个模块到底怎么设计:能不能一边训练大模型,一边真的在网页上搜索?所以整个系统会复杂很多。
曲凯
Agent 这个概念,我记得 2023 年初就有了,从 AutoGPT 那个时候开始。回头来看,是不是当时其实完全不具备 Agent 的基础?Agent 应该是从强化学习真正起来、o1 之类的模型出现之后,才开始可以做?
吴翼
首先我们得定义什么是 Agent。
我个人认为,现在比较通行的定义是:从做数学题到做交互的差别。传统大模型只是写字,不会对其他软件、硬件、网页,或者任何虚拟世界、电子世界产生影响。只要它能够产生影响,大家其实就认为它是 Agent 了。
比如一个特别简单的例子:如果我家里有一个开关,大模型自己输出“开”或者“关”,我用一根电线把它连接过去,它说“关”,灯就关了。它输出的仍然只是“开”或者“关”,但因为它对世界产生了影响,所以我就认为它叫 Agent。
我一直认为,这是 Agent 最常见的理解。
曲凯
Agent 的定义确实很多。有的人觉得一个 bot 也叫 Agent,有时候 Copilot 也容易跟 Agent 混淆。但我觉得当下大家最关注的,应该是复杂决策,加上对现实世界或虚拟世界中的一些 action 产生影响,这才叫 Agent。
这里面重要的一点,是它要对文本之外的世界产生影响。
当年 AutoGPT 也好,LangChain 也好,早期的一些 Agent 框架也好,它们有这样的能力吗?它们是不是 Agent?
吴翼
显然是,只是它们实现 Agent 功能的方式,主要靠 prompt engineering。
比如我写一段 prompt,告诉你是一个什么样的 AI,你具备什么功能;然后再写一些脚本,把它输出的某个函数调用,或者某种特定模式的动作,拿到现实世界去执行。
所以 LangChain、AutoGPT,都是通过 prompt 的方式,把很多不同大模型的输出组合起来。
现在来看,OpenAI 的 Operator 或 Deep Research 做了什么改变?改变在于,你不需要人为设计那么多 prompt。你只要给一个指令,剩下每一步应该怎么做,都由大模型自己端到端地完成。
最近 GPT-4o 特别火。你给它一张狗的图片,再给它一件衣服,它能把衣服穿到狗身上,还能换一个风格。
传统上,一年前、两年前,能不能做这个事情?能。那时候叫 ComfyUI,你可以画一个流程图,每一步使用一个 diffusion model,逐步把图片换掉,也可以实现同样的工作。
但你会发现,有了一个特别强的多模态模型,有了一个可以多轮交互的模型之后,这些事情都不需要了。
我觉得 Agent 也是一样。传统的 LangChain 是因为模型能力不够,所以我需要在这里 prompt 一下、那里 prompt 一下,中间再通过流程图把它们连起来。
但如果你有一个特别强的决策模型,就会发现,传统的大量 prompt、大量流程工作都不需要了,一个模型就可以解决。
这也是强化学习的作用。你会发现,强化学习除了提升推理能力,也能让模型具备决策能力。当你有一个特别好的多模态模型之后,最后就会有 GPT-4o 画图、Deep Research 和 Operator。
曲凯
这里面还有一个点。你说用 prompt,其实隐含的意思是,我非常明确每一步要做什么,然后告诉模型。但很多时候,大家提要求时,自己可能都不知道这个事情应该怎么做,这就需要模型去探索各种可能性。
吴翼
对,所以你需要模型被这样训练过。
传统模型的基础能力,不足以让它面对非常未知、描述不清楚的指令时自己探索,那你就必须把任务拆解开。
这件事也很正常。就像我们第一次做饭时,爸妈会告诉你,第一步干什么,先开火、倒油。但如果你是一个大厨,别人可能只会告诉你:“这道菜要特别注意炒菜技术,刀工要怎么样。”说完就结束了。
好的模型和不够好的模型之间,就有这样的差别。
曲凯
所以最早的那些模型,更多具备的是文本能力,并没有长程探索和思维能力。强化学习加上了复杂决策的解决方案。
但我想到一个问题:如果把大模型抛开,单纯只是 RL,它仍然具备这些复杂决策能力吗?为什么历史上没有出现一个单独以 RL 为基础的模型,然后去做这些事情?
吴翼
我可以讲一些历史。2016 年,OpenAI 有一个项目叫 Universe,大家可以搜一下,也叫《OpenAI Universe》或者《World of Bits》,是一个关于比特世界的 paper。
2016 年强化学习正如日中天,OpenAI 就想:能不能通过强化学习在网页上买机票?
这个事情是不是跟现在的大模型特别像?当时 OpenAI 搭建了一个几十人的团队,做了一个真的可以在本机运行的网页环境,因为它要真正能够上网。
那个 demo 还是挺炫的:打开美联航网页,输入从旧金山到纽约,然后敲回车买机票。跟现在的 computer use 是一样的。
所以 OpenAI 当时想做的事情,和 9 年后真正做成的事情,方向完全一致。但那个时代,他们主要是搭建仿真器,再做大规模强化学习。那时候 Andrej Karpathy 还在 OpenAI。
最后失败了。这是 OpenAI 第一次大规模裁员。当时他们把这个团队裁掉了。
我还问过当时 OpenAI 的一些同事:“你们这样裁员,reputation 不太好吧?”他们说:“怎么办呢?那些人都是写 networking 的,我们也不知道他们还能做什么,或者写前端。”他说自己也给了他们很多好的推荐,但确实还是裁掉了。
所以 OpenAI 很早就想做这件事,但通过强化学习失败了,这是第一次失败。
第二次失败是在机器人上。2019 年,OpenAI 有一个特别有名的项目,用强化学习控制机器人的灵巧手去拧魔方。
大家想想,拧魔方这件事挺难的。人用一只手拧魔方都很难,OpenAI 却用一只机器手去拧魔方,这是很厉害的事情。
2019 年机器人团队做完这件事之后,2020 年又做了另一件事:通过图像输入,在桌上整理物品。这是不是现在具身智能公司在做的事情?也是 Google 的 Gemini Robotics,以及 Physical Intelligence 的 π1 在做的事情。
这其实是 OpenAI 机器人团队在 2020 年想做的事情。当时他们还发布过一个不太成功的 report,反正挺失败的。
曲凯
完全失败。
吴翼
那什么时候开始成功?大家发现这里面缺了什么?缺了预训练模型。
之前两次失败,都是大家仅仅通过强化学习,直接学出一个通用模型,最后发现这件事不行。
机器人什么时候第一次可以通过语言控制,去抓桌上的东西?OpenAI 在 2021 年解散了机器人团队。到了当年年底,华盛顿大学的团队做出了这个控制系统。
唯一的差别是,当时 OpenAI 已经做出了图像生成模型 DALL·E。DALL·E 中间有一个小模块叫 CLIP。CLIP 是一个预训练的多模态模块,可以通过预训练,让语言和图片拥有良好的表征。
这个模块是 OpenAI 自己发布的,但真正把它用于机器人,让机器人通过语言控制自己叠衣服的 demo,是华盛顿大学把这个模块加到强化学习或者数据收集流程里,最终实现了这件事情。
所以最后你会发现,这个世界特别有意思:OpenAI 2016 年想做这件事,失败了;2020 年又做了一次,还是失败;2021 年解散机器人团队;年底发现预训练模型有了。
之后的故事大家都知道了。大家发现,原来有 GPT-4o 这么强的预训练模型,机器人虽然还是以 demo 为主,但也能完成更通用的事情。给它两张图片,让它帮你编辑,也能做出来;让它帮你做 Deep Research,也可以。
我说这么多,是因为历史上有很多人其实都做过这件事,我自己也做过。2017 年我在 Facebook,当时做 embodied agent,也希望通过强化学习去完成,最后也失败了。
原因是你会发现,强化学习解决的是决策能力,但理解能力不是强化学习能够提供的,需要通过预训练获得。
所以你依然需要一个非常好的预训练模型,才能激发出强化学习的能力。
这里也要说,预训练到现在是不是重要?依然重要。即使最后是通过强化学习实现了决策模型的效果,你也可以在预训练阶段为这件事做准备:训练更好的理解模型、更好的记忆,以及更好的基础长程逻辑能力。
最后再加上特别强的强化学习,才会得到一个完整的智能体。
所以我一直说,预训练和强化学习是乘法关系。两者乘起来,才会有最后的智能。至少你得有一个基础,不能是空的。
曲凯
这样其实就很合理了。为什么 OpenAI 能把强化学习做起来?因为它本来就是先做强化学习的,失败过若干次,所以后面再把预训练加进来,是非常自然的事情。
相当于说,预训练,也就是我们之前讲的大语言模型,主要做理解、记忆这些事情;强化学习进来之后,更多做决策和 action 执行,让模型拥有决策和长程思维能力。
那能不能说,这两者现在放在一起就是一个完成体?
吴翼
我只能说不知道。
我们现在看到的最好的 Agent 模型,或者决策模型,确实是通过强化学习和好的基座模型整合出来的。但它有没有更好的范式,或者下一步强化学习算法本身会不会发生变化,我觉得空间还很大。
我仍然认为现在只是起步阶段。强化学习的 scaling,也就是通过决策、思考来提升智能,这个 scaling law 才刚刚开始。所以你不知道接下来会往哪里走。
但可以确定的是,它的天花板肯定还没有到。至少今年年底,大家应该会看到更好的决策模型,以及更好的通用 Agent 模型出现。
曲凯
现在未来发展的方向是什么?听起来已经做得挺好了,但还要在哪些方面继续发展?
我们知道,预训练以前的思路就是扩大规模,也就是之前讲的 scaling law。现在大家似乎觉得这件事已经不太 work 了。那么强化学习这条路,后面会怎么发展?
吴翼
这里有两个问题。
第一个问题,pre-training 是不是不 work 了?要更正一下,pre-training 不是不 work 了,而是收益变小了。
强化学习只是处在 scaling 的初始阶段,斜率比较高,所以大家觉得它更容易做出突破。就像一个刚开始的团队,我做强化学习可能比较容易突破,但你让我从零开始做一个 GPT-4,我肯定做不出来;我可能做一个单点突破的推理模型。
回到 pre-training 这个话题,它是不是完全没有收益?当然不是。
第一,大家还在继续“洗数据”。我们总说数据是一个挖矿过程。地表的石油挖完了,还有页岩油,加压之后还是能挖出数据来。数据质量的差别是很大的。
第二是合成数据。比如我们希望训练一个能够很好地做视频理解或多模态理解的 AI,需要做预训练。那么数据从哪里来?
文本还好说,互联网上都是文本数据。但有没有那么多图片和文字混在一起,并且前后有强关系的数据?有,但数量远远少于文本数据。
如果要训练一个好的多模态理解模型,数据从哪里来?就要靠构造,也就是合成数据。
大家是从浅水区走进深水区:石油都没有了,现在要给石油添加剂。添加什么添加剂,才能让这个石油变成好的燃料?这里面的空间非常大。
第三,scaling law 要求模型变大,但强化学习模块已经这么复杂了。你要训练一个 1T 或者 10T 参数的模型,可能根本训练不动。所以怎么把模型做小,也是一个重要问题。
OpenAI 厉害的地方就在于,它的 mini 模型做得非常好。我们总说蒸馏可耻,但我说蒸馏不可耻。你能蒸馏出一个像 o3-mini 那么好的模型吗?也不容易。
所以预训练至少有几个方向:第一,从浅水区走到深水区,走向合成数据;第二,在规模上,能不能用更小的模型做到同样的能力,允许进行蒸馏。
所以预训练仍然有很大的价值。
再讲强化学习,我还是认为它处在早期阶段。现在能刷的榜还没有完全刷完,仍然有人说决策能力不够好,还在继续做。
第二,各家其实是有特色的。举个例子,大部分编程任务大家喜欢用 Claude。它刷分可能没有 o1 强,但它刷的是什么分?通常是一个编程题,或者让它独立完成一个项目。
但大部分人的 use case 不是这个。大家可能是说:“我现在想让你把这个 PPT 画出来,把这个网页画出来,或者帮我改一个 bug。”这要求和人交互,并且拥有很好的编程体验。你会发现 Claude 在这件事上做得特别好。
DeepSeek 最新的基座模型也是这样。所以你最终要的是一个特别全面的模型,还是一个专注于代码、把代码做得特别好的模型,仍然会有分化。
这和合成数据有关,也和各家的训练方式有关。另一种可能是,不同大模型公司走向深水区之后,会形成不同个性。
比如你去做 Deep Research、网页 Agent,可能喜欢用 GPT;如果写代码,可能喜欢用 Claude;如果喜欢什么都会一点,可能就用 Grok。这里面还是有差别的。
曲凯
大家大概能理解 pre-training:往里放更多高质量数据,或者做算法调优、调参。
但强化学习到底是怎么样算训练得更好?是靠调参数,还是靠其他东西?
吴翼
首先还是看指标。指标不够好,就一定是训练得不够好。
你得看具体指标。比如代码指标;如果做强化学习,至少数学分数要刷得足够高。
曲凯
我想问的是,这个过程具体是怎么做到的?靠调参数,还是靠什么?
吴翼
这真的是炼丹,就是炼丹。这里面有很多“丹方”:有调参数,有训练算法上的改动,还有数据。
很简单,你想象一下,我找一个学生,想让他做奥数培训,老师出什么题也很关键。有的老师说:“你这个地方能力欠缺,我给你出两道题回家做,做完你就会了。”这就是高级教师。
有些学生学得不好,你天天给他灌小学数学题,让他刷题,刷半天也没用。
所以出题,也就是数据,非常重要。算法很重要,基础设施也很重要。
比如我们的基础设施,7B 模型 2 天就可以训完,但最早的一版模型,7B 模型可能要训 1 周。你想,我 1 天多迭代一次,1 周就有 4 次试错机会;但如果训练一个模型要 7 天才能看到效果,那就完蛋了。
所以很多因素会耦合在一起。
但确实还是要看最后的结果,因为强化学习是一个过程很难描述的东西。它经常会出现这样的情况:你看着指标涨得很好,后来突然不涨了;或者一直训练、一直不涨,突然开始猛增,都有可能。
DeepSeek 经常说 aha moment,也就是顿悟时刻,这件事很难预测。所以判断只能看最后的结果到底好不好。
你要看最难的几个指标,但指标高也不代表模型真的好。最后还是要看体感,自己去试。
曲凯
我能不能这样理解?大模型现在大概有两条主线:一条是在理解方面继续加深,另一条是在决策方面继续加深。
我好奇的是,从现在大模型的组织结构来看,这两件事是由一个核心的人负责,这个人具备多种能力;还是由两拨人分别在平行线上推进?
吴翼
最好的情况是,大家不要分得那么开。
当然,预训练和后训练这两个范式还是差别比较大,所以至少可能会有一个预训练团队和一个后训练团队。但我理解,最好的情况是不要分工分得过于细。
比如做强化学习后训练,要不要考虑数据?当然要。你有一个预训练好的模型之后,得先做冷启动,去做 SFT。那 SFT 用什么数据?
所以你说后训练的人完全不管监督数据,也不现实。训练之后发现基座模型缺某些能力,你还得跟预训练的人说:“你帮我补一些这样的数据。”
大致可以按照目标来区分:预训练、多模态训练、语音训练,肯定和预训练不完全一样;后训练也不一样;做 RLHF 的人可能又和一般后训练不同。
但我觉得 AI 时代团队最大的差别,是每个人都需要有破圈意识。最好所有东西都知道一些,这样不容易出问题。
曲凯
那模型的理解能力,包括图片理解,是不是和 RL 完全不相关?
吴翼
我认为,大量理解能力是在预训练阶段形成的。RL 显然也会带来理解能力的提升,但我觉得它的基础能力是在预训练阶段奠定的。
RL 更多是激发理解能力。也就是说,我知道你的能力应该怎么被用起来,但它不会带来基础能力的跃升。
曲凯
明白了。那多模态生成和 RL 在现阶段关系也不大?生成应该没有太大关系。
吴翼
所以我一直觉得,生成是容易的,理解是困难的。多模态理解其实也和 RL 没有太大关系。
曲凯
我前段时间刚听到一个事实,可能很多人想不到:理解一张图片所花费的 token,其实比生成一张图片还要高。
吴翼
这是因为理解是一件更难的事情。
或者换一种说法,核心是可控性,也就是 instruction following。你要理解现在的指令是什么,首先得看得懂那些字。
举个极端的例子:你没学过俄文,我把指令写成俄文,你学一辈子也学不会。当然不是绝对不可能,你刷大量题也可能学会,但效率会非常低。
最好是在预训练时就学会俄文。这样后面经过训练,我可以比较快地让你知道:“这个俄文题应该怎么做。”
画画也是一样。你本身得有画画能力;有了这个能力之后,我再把要求讲明白,你就能画出来。
只生成这件事本身都能做,但核心是:我给你两张图、3 张图,再通过交互式的方式让你最终生成想要的结果,这件事才是难的。
曲凯
我还想追问一个点。刚才讲到,最早用 RL 买机票不太行,是因为理解能力不够。
理论上,我的理解是,RL 反正是根据奖励得到结果,然后用各种方法去尝试。只要最后判断它成功买到了我想要的机票,不就可以了吗?为什么它一定要理解前面的所有东西?
吴翼
OpenAI 最早就是这么想的,所以失败了好几次。因为他们比较头铁。
这里的核心是泛化能力。我们下围棋,只要强化学习就可以。但你让一个下围棋的 AI 去下象棋,它行不行?不行。
为什么?因为它的所有训练过程都在同一个围棋棋盘上进行,所以它的推理逻辑都是基于那个棋盘的。
买机票也是一样。世界上有几十家主要航空公司,假设几十家航空公司的机票都能买,又怎么样?我再给你一个新的航空公司,你很难保证这个 AI 到底是记住了操作流程,还是它真的理解了图片和页面。
理论上,如果世界上有 1 亿种网页,我让你不停地点击,当然也可以,但这肯定是一种效率很低的方式。
曲凯
简单来说,当时的 AI 纯粹就是死记硬背。
吴翼
对,或者说你希望它学出一种更高级的理解,但不好意思,数据真的不够,或者数据的广度不够。
曲凯
我再问一个很马后炮、甚至可能有点“白痴”的问题。
我们觉得要训练人工智能,首先肯定得让它理解这个世界。或者说,大家最初想做有用的东西,所以它得具备决策能力,于是先用 RL 做。做了之后发现理解能力欠缺,所以要训练一个能理解的模型。
也有公司可能先训练一个理解模型,之后发现要做 AI、做有用的东西,肯定还要加决策;而决策最好的方式就是 RL。要把 RL 训练好,最好的办法就是用有标准答案的数据来训练,比如数学题。
这个逻辑听起来非常顺。为什么大家摸索了这么多年才摸索出来?为什么 RL 直到最近才成为共识?
吴翼
简单来说,大家花了很长时间,反复试错,才发现 RL 不够。
对我自己来说,我可能是最早一批做这件事的人。大概 2018 年的时候,我就充分意识到,当时具身智能的所有瓶颈都在视觉,跟 RL 没有关系,所以我放弃了,不做了。
所以第一,大家花了很长时间才发现,单纯靠 RL 真的不行,反复碰壁之后才意识到这一点。
第二,大家还要发现,到底需要多少数据,才能让模型泛化。这又涉及 scaling law。
这件事情其实很像当年关于 BERT 这种监督学习,还是 next-token prediction 的争论。Yann LeCun 很长时间都在说,我们应该做 contrastive learning,不要用生成式的方式学习,而要用其他监督式、对比式的方式学习。
直到 GPT-3 在文本上实现了 scaling law,大家才发现,原来这件事情这么厉害。
但中间有很多偶然。比如伊利亚想做这件事,但没人帮他做;Alex Radford 说:“我来试试。”这个人足够强,如果换一个能力不够的人,也做不出来。
然后大家又通过 scaling law 发现,原来预训练这么强,于是才继续往后探索。
大模型是不是能够拥有通用推理能力,这件事当时也不知道。可能有人坚信,也可能是一帮人探索了 1 年、2 年。
现在回头看,觉得这个逻辑很通,是因为每一步都已经知道是对的。但回到当时,其实处在战争迷雾里。
为什么 RL 不行?有人说要做预训练,但那时候没人做预训练;或者有人说预训练要用生成式,而不是监督式,这些都要等到后面才会逐步明确。
所以现在只能从后验来看,觉得这件事是顺的。答案往往很简单,如果答案不简单,可能说明答案就是错的。
曲凯
现在很多做 Agent 的公司,内部可能都会想配一个 RL 的人。你觉得这件事 make sense,有必要吗?
吴翼
我觉得 make sense。至少要有一个人对这件事情有认知。
虽然现在 RL 的门槛仍然很高,但我们做开源的目的之一,也是希望把这个门槛降下来。比如 1 年、2 年之后,门槛总会降下来。
最终大家有没有可能自己简单微调一下,用强化学习做微调?这一天肯定会到来,只是多久还不知道。提前储备一些人,总是没错的。
曲凯
类比一下,前两年大家还在讨论,应用公司到底要不要自己做 pre-training,要不要有自己的模型;现在基本没人讨论这个问题了。
那过两年会不会变成,模型能力,包括 Agent 和各种决策能力,都足够强了,创业公司或应用公司也不需要自己做相关事情?
吴翼
这确实是创业公司需要思考的问题。我不说答案到底怎么样,但我觉得创业公司不能用终局思维。
创业公司一定要想:在当前阶段,我能做一个什么 partial solution?如果创业公司一开始就想终局,那没有意义。你别活了,对吧?这个世界没有你的机会。
曲凯
尤其现在 AI 变化这么快。
吴翼
对。所以关键在于,我觉得 Manus 就是一个特别好的例子,我特别喜欢他们。
他们有一定的模型训练能力。你可以说,这件事情最终可能没有意义,但没关系。创业公司的切口,就是在终局还没有到来的时候,先把事情做出来。
Manus 是在市场上还没有这样一款产品的时候,用最快的方式,通过微调也好、调 API 也好,给市场提供了一个可用的东西。这就是创业公司的机会。
如果创业公司想的是:“反正最后有一天模型都会做到,那我现在还做什么?”那你就别做了,趁早投资去吧。
曲凯
大模型训练的人前两年非常缺,现在好的人肯定仍然缺。这个事情尤其在国内,也就是最近 2、3 年才真正起来。
但 RL 这件事至少已经有 10 年了,为什么现在大家还是觉得这方面的人才非常缺?
吴翼
首先,客观上讲,我们看论文引用数就知道。做 CV、NLP 的人,论文引用数都很高;但你说自己做 RL,引用数可能就少一个数量级。
本质上还是门槛更高。机器学习的问题定义比较简单;RL 要把环境搭好、跑起来、复现出来,这一步就已经筛掉很多人了,数学也会更复杂。
所以客观上,研究 RL 的人本来就比做视觉、NLP、推荐的人少。
第二件事比较遗憾:工业界大规模使用强化学习的机会,相对来说比较少,比 NLP、视觉都少。
很多人可能在学校里做 RL,但工业界没有足够大的人才池,所以这方面的人也会少。
第三,强化学习对工程的要求非常高。我觉得很遗憾,很多公司的业务场景本身就比较少,导致很多人没有机会使用好的基础设施,以工程化方式把强化学习扩展起来。
我回国之后做了很多相关工作。比如我们做过多智能体强化学习框架 MAPPO,后来做大规模强化学习框架 SIL,最近又做了 AReaL。我们希望解决的就是:国内真正懂强化学习工程化的人很少,所以我们也自己做一些这样的工作并开源。
总体来说,第一是门槛高;第二是人少;第三是工程门槛比大家想象的高;第四是大家又缺少实践机会,所以人才总体上就会比较少。
曲凯
2016 年 DeepMind 的 AlphaGo 起来之后,其实带动了一波热潮。但后面 RL 的热度是不是又下去了?
吴翼
是的。OpenAI 也碰壁了,而且很多做 RL 的人后来转向机器人。
曲凯
你当年是什么时候开始学这个的?哪一年开始读 PhD?
吴翼
我 2014 年读 PhD。
曲凯
那个时候 RL 算是一个冷门专业吗?你是不是也有过几年比较难过的日子?
吴翼
我算是运气比较好,因为我在伯克利。我觉得北美强化学习高校的大本营是伯克利,这也要感谢当时的几位 professor。
当时是 Pieter Abbeel
吴翼
老师,然后 Sergey Levine 老师。当时我印象特别深刻,可能是 2014 年底还是 2015 年初的时候,Pieter Abbeel 跟组里面开会。他是做机器人的,他说:“不行,这个时候我们全组 all in deep reinforcement learning,我们不做别的了。”
伯克利又是一个合作风气非常好的地方。因为我导师是 Stuart Russell,但是我其实也跟 Pieter 做了很多工作,还有别的组。也感谢伯克利当时的那个氛围,让我们有了这样的合作。
因为我最早做强化学习的第一篇工作是 Value Iteration Networks,当时拿了 Best Paper。那个工作其实也是合作的:我去敲 Pieter 的门,我说:“Pieter,我想试试这玩意儿。”Pieter 说:“你这些项目你挑一个吧。”我说:“我挑这个。”结果挑了个 Best Paper。
然后 OpenAI 早期的时候,其实 Pieter 也在 OpenAI 担任 Chief Scientist,他也让 OpenAI 跟伯克利有很强的联系。所以我当时引用最高的工作,就是跟 OpenAI 的同事一起做的。
所以我得说,这也不是说我就多牛,或者我选得特别强,就是运气好,我在那个地方。
曲凯
对,今年应该是 RL 彻底起来了,因为图灵奖也颁给了那两个做 RL 的人嘛,对吧?
吴翼
对对对。这里我觉得有个比较有意思的点,就是图灵奖那个 Sutton,他其实本科是学心理学的。
曲凯
是啊。所以我就回到你开头讲的:人生本身,你觉得就是一场强化学习?
吴翼
对,我觉得好像有点呼应。
其实蛮有意思的,就是很多做 AI 的人,本科都不知道学什么。国外其实有蛮多稀奇古怪专业出身的人,非科班的人也不少,尤其是强化学习在很长一段时间里是个冷门领域。
它真的到出圈,我讲句不怕别人笑话的:我申请 PhD 的时候是 2014 年入学的。当时我拿了 CMU 的 offer,也拿了伯克利的 offer,那时候我不知道世界上有个东西叫 reinforcement learning。
我第一次听说是在 campus visit 的时候。Alex Smola 当时说:“我太忙了,学生约不过来,你们俩人一起来吧。”我去那儿跟他讲 large-scale machine learning systems,旁边一个小哥进来说:“哎呀,我们能不能搞 large-scale reinforcement learning?”我说:“Reinforcement 是什么东西?”
所以你想,我们其实也是接受了最好的中国计算机科班教育,却不知道有强化学习这个东西。中国的计算机教科书上是没有的。所以我们得说,中国整个起步是晚的。
但是美国就不一样。你想,反正这些小众领域,多少年前就有人研究了,而且高校那么多。Sutton 他们一直在阿尔伯塔大学,对吧?还有 UMass Amherst。在中国人看来,这些绝对不是主流高校。
中国人看学校,一般就是哈佛、耶鲁、普林斯顿、斯坦福、伯克利、CMU。阿尔伯塔、UMass Amherst,什么学校啊?你要是放在 10 年前,如果不是图灵奖,你跟学生说:“哎,这里有个 offer。”他肯定不愿意去,对吧?
所以有很多这样的人,他们是在犄角旮旯里边,最后有一天把它做成了。
曲凯
所以现在如果国内的公司真的想招一个 RL 的人,或者想培养一个 RL 的人,大概需要做什么?包括怎么判断?
吴翼
我觉得这事儿挺难的,而且我不太想给这样的建议,因为我觉得这个东西非常带个人风格,不同公司、不同阶段,需要的人也不一样。
比如说,大公司可能需要招一些研究背景更强的人;小公司可能需要的是动手能力特别强的人。所以我觉得这里面挺难讲的。
但其实我觉得,在这个时代,尤其是大家开源这么多、自媒体这么多,途径也这么多,大家也愿意去宣传,更重要的事情是动手。
如果要培养的话,我会觉得这个人不要有边界意识,愿意去做很多东西,愿意去学,发自内心地想学、去动手。我觉得这样的人都是可培养的,不管什么领域都是。
曲凯
然后,你觉得强化学习未来发展的路线和可能性是什么?
吴翼
其实刚才大差不差也说了。我觉得首先肯定还是 scaling,就是你肯定还可以提升智能,scaling law 没有停下来。当然,它这个 scaling law 本身可能会跟预训练结合起来,这是第一条。
那么 scaling law 之后,就像我说的,其实很多公司开始做不同的特色了。比如有些公司泛化性做得很好,像 DeepSeek,对吧?它突出的一个原因,就是它的哲学体现出来了:泛化性做得很好。
比如 Claude 的代码做得特别好,还有 Agent。OpenAI 其实 Agent 做得特别好,对吧?一个模型从头到尾做 deep research,不需要你写特别复杂的代码,但是要很多次交互去调用函数。
所以我觉得,泛化性、professional coding、Agent function calling,这些可能就是分叉的点。当然还有别的点,我只是举例子。我觉得首先是一个主树干,然后会有分叉。
这也是我自己最近在想的:我们这个团队往后要往哪个方向走,但我觉得大家都可以讨论。
曲凯
你那天提的那 3 个方向是什么?对,我就说泛化、代码和 Agent。OK,这是 3 个挺大的分支,而且都可以长出非常大的东西。
我在想,决策这件事的 scaling law,最后在用户端体现出来的感知是什么?文本其实是很明确的,谁写得更好、谁写得不好之类的。但决策这件事,最后体现的是整个结果的准确率,还是什么?
吴翼
几个东西。首先是结果准确率,比如数学题,或者给你写一个分析报告,帮你做 deep research,或者帮你通过 Operator 去网站上完成一些操作,这些都是准确率可以判断的。
当然,交互体验也是。比如 Claude 的前端代码写得就是好,本质上还是可验证,只是到底是通过 benchmark 验证,还是通过人的体感验证。
还有一个我觉得特别重要的东西是多轮交互。我觉得 Claude 特别强的一个地方是,一般你给正常的模型一段代码让它 debug,它就说:“我来帮你看看这东西怎么 debug,bug 可能在这儿。”Claude 会问你问题。
Claude 会问:“你装的环境包是什么?你装的包的版本是什么?”这就不一样。你想,本质上跟你做个性化交互的时候是要有交互的,它是要问问题的。
那么能不能有一个 Agent,除了做事之外,还能适时地给你问问题,适时地给你做一些个性化的选择?这里面其实水很深,我觉得。
曲凯
问问题里面,理解跟决策的占比到底是怎么样的?
吴翼
我觉得这很难说,都是一个综合的结果。对,我觉得它是 A 乘 B。
比如说你让它看个屏幕,屏幕上的字你这帮人都看不清,让它分辨各个图像里面有几个物体,它都点不出来。那不好意思,我觉得你肯定完成不了。
你让它上网帮你完成一个买东西的任务,对吧?但它在哪个节点提问、什么时候提问、提什么问题,这个更多的可能是推理,还是 RL,对吧?这还是 RL 要来的。
就是你能理解过去发生了什么,然后你能做出正确的决定。
曲凯
明白。然后你们其实一直在做强化学习的框架,对吧?你正好这周新发布了一个框架。你能不能给大家解释一下,框架对于强化学习到底是个什么概念?
吴翼
两个事儿。第一件事情,首先强化学习还是一个 scaling law,它是不是 post-training scaling law,或者说这种叫强化学习 scaling law?
曲凯
那我打断一下,追加一个问题。之前大家讲 post-training、讲 scaling law 的时候,不一定就是强化学习,对吧?
吴翼
其实我觉得,大家原来只讲 post-training,是因为 RLHF 是在做 alignment。但是大家开始讲 scaling law 这件事,是因为 o1、R1 出来了之后,跟强化学习连上了,才开始讲 scaling law。明白?
曲凯
嗯,对,你继续讲你的框架问题。
吴翼
框架我觉得有两条。第一,它首先是 scaling law,那你首先要能 scale。你要想 scale up,好歹要有一个框架,能让你真的在 1 万张卡上做大规模强化学习训练。
这就是说,你要宰牛,好歹得有牛刀,对吧?很多公司的框架是不开源的,就像我们这个框架的前身,或者再往前的前身。
当时我们发现,OpenAI 在打游戏时代,打游戏也需要框架。你要去打 Dota,就要大规模并行模拟 Dota。那个框架怎么来?当时我们说,开源的没有,那只能自己写。
现在也是,开源有好的框架,但可能没有我们自己用得趁手。所以我们有一些自己对于框架的想法,就搭了一个。
一是得有牛刀,好歹先跑起来。跑上一个月,已经很了不起了。
第二件事情就是快。我们知道这个模块太多了,它是个复杂系统。之前说 MARL 就 3 个模块,加上 Agent 是 4 个模块,每个模块本身都很复杂,而且交互模式还不可预测:你怎么知道这个 Agent 会怎么跟环境交互?
所以中间会有很多很多可快可慢的东西,是一个复杂系统。就像一个公司,对吧?你有好多部门,效率差个 10 倍也不夸张。
那你就想,AI 在算法迭代阶段,本质上是你能做多少实验,就有多少 improvement 的地方。一个 infra、一个系统如果能快 10 倍,你就能多做 10 倍实验,那进度能不快吗?
所以我们一是先得有牛刀,得能跑 Agent 强化学习;第二也希望这个东西尽量能快。我们最近也跟很多做推理引擎的团队合作,比如跟 SGLang 做了一些联动,后面也希望跟他们做一些合作开发,让这个模型尽量快。
曲凯
所以你们现在核心的,就像这周发布的那个框架,主要进步的地方就是快?
吴翼
一是稳定,能够在 7B、32B 上都做稳定性训练。当然 32B 还没有达到我们想要的效果,我们还在训练。第二是它确实快了很多。
这两件事情都让我们觉得它是一个可发布的版本。当然,我们内部还有很多想做的东西,内部其实也有更快的版本,但还没有完全做到我们满意的状态,所以应该会很快有下一个版本。
曲凯
你后面主要研究的一些方向,或者自己在花时间的一些方向是什么?
吴翼
首先我自己最感兴趣的,就像我说的,AI 和人交互应该是一个什么样的范式。我觉得它是一个非常强化学习的问题,而且它有意思的地方在于,如果对面是个人,那么人一定有 partial information 或者 hidden information。
很多时候大家去做指令遵从,假设的是指令已经讲完了所有事情,但大部分时候其实不是,对吧?所以你才会需要交互,需要决策,因为你需要去猜人是想什么,有什么信息可以去问。
这就像我过去做泛化性、做多智能体学习一样。可能在这条线上,这是我最感兴趣的问题。
短期其实我们就是在做追赶的问题,对吧?因为我们首先得先追上,主干的 scaling law 我能顶上来,才有后面技术路线的选择。毕竟我们是个起步比较晚的团队。
曲凯
你说追赶,是说你们团队在追赶?
吴翼
对,追赶世界一流嘛。我们一直都觉得,比如之前两年我们总讲,预训练国内至少比海外晚个 1—2 年,对吧?现在也在慢慢追上。
曲凯
所以你觉得强化学习这件事情,现在国内跟海外的进展,区别大概是怎么样?至少能看到明显的差距吗?
吴翼
我举个例子。OpenAI 和 Claude 特别明显,他们有在强化学习环境里面大规模训练 Agent 的能力。Claude 那个模型 Sonnet 肯定是强化学习出来的,OpenAI 的 Deep Research 不是也已经说了吗?它就是这样做的。
国内似乎还没有。我不知道 DeepSeek 做成什么样了,但至少从放出来的东西来看,我们至少能看出这里面是有 gap 的。大家推理做得都还可以,单做代码做得也都还可以,但你说做到那么细,还是有差距的,而且这里面也有很多算法探索的东西。
我个人因为 3 月份也去了一趟 GDC,跟美国的朋友们 catch up 了一下。我还是觉得美国在这方面比较领先,尤其是这种探索性的东西。国内是在追,但到底差多少,我不能随便下判断。
曲凯
明白。如果按你讲的,把模型的效果等于 pre-training 乘以 post-training,或者说理解乘以决策,我是不是可以理解成,现在其实 pre-training 也有差距,post-training 也有差距?
吴翼
只是 DeepSeek 可能在 post-training 上走得更前了一步。它的基础模型其实也很好,但你要注意到,DeepSeek 一直没有做多模态。
DeepSeek 也是一个非常专注的团队,所以我还是很佩服它的一点:一个小团队,在有限的资源下,把一件事情做到极致。
这可能也是 OpenAI 开始 slow down 的原因,因为它变成 Google 了。
曲凯
对,我觉得它现在特别像 Google。
吴翼
但是 Google 你说它目标明确之后,做的东西也挺好的。
曲凯
是。所以反正总体而言,差距还是在的。
吴翼
但我觉得大家还是要谨慎乐观。
曲凯
关于 RL,你觉得有没有什么是你比较认同的,或者目前行业里面有一些错误的判断、错误的共识?
吴翼
我觉得大家可能没有意识到,RL 的数据、RL 的基建非常重要。数据大于算法吧,我觉得基建远大于所有。
曲凯
基建就是指你们做的框架?
吴翼
对,框架就是当你有屠龙刀,而且刀能比较锋利。这个基建非常非常难,而且基建需要有能做工程的算法同学去做。
因为这个东西最后是个复杂系统,它是为算法服务的。所以其实要破除很多概念:很多人觉得工程是工程、算法是算法,但强化学习真的不行,因为你很难标准化地定义“我要什么”。
所以有一个好的基建非常难,而且需要很多时间打磨,远远比算法本身重要。当你有一个团队能搭出特别厉害的基建时,它的算法不会差。
DeepSeek 其实也证明了这件事情,而且它的数据也很好。
很多人会觉得,强化学习听起来是一个很算法的东西,是不是还能用预训练的方式去想这个数据?但我觉得这其实是一个小范围的共识,只是需要被更多人听到:基建非常重要,数据重要,算法也重要,但没有那么关键。
算法这件事情,你只要有 1—2 个能判断对错的人就可以了。
曲凯
我最后一个问题,还是回到你刚才讲的人生那个问题。它很像是在研究各种决策、各种路径和方法。你这么多年研究强化学习,有没有其中一些点能够泛化到人生这件事上,给你很多启发,或者能够用在一些决策上?
各种算法、各种 paper 里面研究的东西,放在人身上做决策,是不是其实也会有一些参照性?
吴翼
我做强化学习有一套我很喜欢的论文,但它其实没什么引用,叫 diversity-driven reinforcement learning。
传统强化学习其实只要赢就行了。所以你会发现,强化学习打游戏,一旦发现那个赢的策略之后,它就停在那儿,不停地打。
比如我要踢足球,中路一个人带球单刀,我赢了之后,就每次都这么单刀。这是最 efficient、最稳定能赢的方法。
但是你会发现,人一般玩游戏的时候不是这样。你会想:“我玩一次腻了,再给我换一个。我要短传渗透,我要传中,我要头球。”对吧?这才是人生的样子。
曲凯
对。我们之前录过一期德州扑克主题的播客,那个人就在讲,他现在发现最好的牌手越来越趋同,大家都在学 AI,然后这个游戏就变得没有意思了。
吴翼
对,所以我很喜欢那一系列工作。你会发现,你就是让一个 AI 在强化学习的时候加一个 constraint:不光 reward 要高,还要跟之前找到的所有 solution 都不一样。
然后你会发现,它很自然地就会推动这个模型去发现一些很好玩的东西,虽然你也不知道它有什么用,对吧?
所以我其实想跟大家讲,我发现现在很多同学也都喜欢走一条风险最低的路径。我跟很多学生聊,他们老说:“吴老师,我去美国有签证风险,我要保研。保研是一个稳妥的选择,我要怎么样、怎么样、怎么样……”
我觉得人生还是要追求高熵的一个过程。我觉得很多我的学生正处在 20 岁的年纪,大家做所有的事情都是对的,但是你只有去选,才会有机会。
比如我确实运气很好,当时在伯克利读书。但是如果我不去敲 Pieter 的门,我不会有机会去选。就像我当时不回国,选择来看一看,我也不会有后来各种各样的人生经历。
所以我倒会建议大家,可能可以想想 diversity-driven reinforcement learning,去追求一种最大熵的生活。
曲凯
强化学习是怎么选的呢?强化学习在仿真世界里面不会出错吗?不是因为强化学习理论上来说可以无限次尝试吗?
吴翼
对,它可以无限次尝试。但我觉得,即使你在一个很强的限制条件下,就像你打牌,你别把把 all in,对吧?一般也不会怎么样。
曲凯
但问题是它可以无限次,所以它可以试所有选择。
吴翼
对,所以它不会有一个情绪叫作后悔。人经常有这种情绪:只要你没选的东西,你就会后悔,你就觉得那可能更好。
我昨天还跟我老婆聊,当你选择之后,其实期望是变高的,那你的 variance 也变大了。如果只看期望,大概率会变高,但只是有很小的概率你会变差。
大家因为恐惧这个变差,所以导致大家不愿意去选。我觉得这是一件蛮遗憾的事情,因为其实大家差也差不到哪里去,但是你如果不选,就永远不会去 explore。
就像你在一个局部最优里出不来,出去跳一跳,大不了再跳回来。其实我觉得人生只有一次——其实也不是,我觉得人生怎么着也能选个 3、4 次。
曲凯
然后 reward 这件事情,我想再跟你探讨一下。你刚才提到,人很容易说“我这段时间奋斗”,最后却发现那个目标或者那个东西不是自己想要的。
在深度学习里面会遇到类似的问题吗?比如中途改 reward,或者有什么可以参照的地方?
吴翼
我觉得这也是我喜欢的一些研究。传统的深度学习或者强化学习,大家做算法的时候,都希望这个问题 formulated 得非常标准:我知道这个 objective 是什么。
但是我做多智能体学习,做人机合作的时候,你跟人一起玩游戏,不会这样。比如我们当时跟人一起玩 Overcooked,一起在厨房做菜,所以我们希望 AI 能够猜人想干什么,然后跟人合作。
这个过程其实是一个 information-seeking 的过程。你只有去试,试了以后有交互,才会有 signal,才能知道那个 reward 是什么,对吧?你要是不观察,就永远不知道 reward 是什么。
所以跟一个不确定的世界交互,一定要去 active seek,你才能看清楚。
曲凯
对,有的时候不是先找到目标再去做,而是在做的过程当中寻找目标。一定是这样的,因为不可能一开始就想清楚。
我读书的时候还说,大家判断未来只能判断 3 年;我觉得现在判断未来最多 1 年半。能判断 1 年半已经挺厉害了,因为你现在回头想,1 年半之前的大模型是怎么回事?
我老劝我的那些学生,他们会说:“我先读个博,读个博再怎么样、怎么样。”我说:“哇,你读完博 6 年过去了,我的天哪。你做这种预测有什么意义呢?”
但我觉得很多人可能就希望是这样,只是可能是一厢情愿。
吴翼
我们最近开源了一个框架,叫 AReaL。其实这是 AReaL 的第 2 个版本,叫 AReaL-Boba,就是一杯真正的珍珠奶茶。
它的全称是 Ant Reasoning Reinforcement Learning,是我们跟蚂蚁研究院一起做的一个强化学习训练框架,我们也把它开源出来了。基本上自己测下来,应该是开源项目里面非常快的一个框架。
同时,我们也把所有的源代码、所有的数据、所有的模型、所有的评测脚本都开放出来。在 7B 的尺寸上,我们用强化学习做到了 SOTA 的标准。
我觉得我们应该是第 1 次公开汇报,在 7B 模型上于 AIME 2024 做到 60 分以上,这是一个挺高的分数。我们也觉得这个框架还不错。如果大家想用强化学习做尝试,可以来尝试一下这个框架,也可以关注这个项目。后面会持续发布,跟蚂蚁一起保持完全开源的状态。欢迎大家去 GitHub 点赞,谢谢。