潘佳怡
然后我们这里可以看一下 DeepSeek-R1 的论文。它的标题叫作 “Incentivizing Reasoning Capability in LLMs via Reinforcement Learning”,也就是“通过强化学习激发语言模型的推理能力”。
这里有一个非常有意思的词,叫作 incentivizing。这个词业内人士已经讨论了很多,其实背后还有一些小故事。之前 OpenAI 有一位研究员叫 Hongyu,他在 MIT 做过一次演讲,标题叫 “Don’t Teach, Incentivize”,意思是不要教模型怎么做,而是鼓励它。
然后模型自己输出了:“Wait, wait, there’s an aha moment I can flag here.” 等一下,这里有一个 aha moment,我可以看一看。接下来它又说,让我们重新检验一下这一步对不对。它重新验算了这个式子,发现有个地方有问题,最后解决了问题。
之所以有意思,是因为这样的 aha moment、模型的自纠错能力,以及“等一下,这里有一个 aha moment,我可以再看一看”的行为,同时一步步验证自己的结果,这些能力并不是 DeepSeek 的研究员自己写入模型内的,而是模型自己涌现出来的能力。
模型最终达到了 superhuman 的能力。这样的能力包括围棋里的“神之一手”——人类开发者没有想过、也没有预料到的情况,同时还表现出极其复杂的行为模式。这也就是强化学习的魅力。
模型训练的成本,如果优化得足够好,可能十万美金就够了。就算往高了说,最多最多也就一百万美金。相对之下,他们的预训练用了六百万美金。所以,优美的算法或者优美的技术,往往是最简单、最干净的技术,是吗?
张小珺
Hello,大家好,欢迎收听《张小珺商业访谈录》,我是小俊,这是一档提供一手高密度信息的商业访谈节目。首先祝大家 2025 年春节快乐。刚刚过去的这个春节,DeepSeek 一举改写了全球 AGI 的叙事。在万般热闹之际,我们特别想沉下来做一些基础的科普工作,一起来研读这几篇关键的技术报告。
今天这期节目,我邀请了加州大学伯克利分校人工智能实验室的在读博士潘佳怡,来做一个技术解读。她的研究方向集中在语言模型的后训练。
这期播客,佳怡将带着大家一起读春节前 DeepSeek 发布的那篇关键技术报告。报告里发布了两个模型,分别是 DeepSeek-R1 Zero 和 R1;我们也会对照讲解最近 Kimi 发布的 Kimi K1.5 技术报告,以及 OpenAI 更早之前发布的 o1 blog post,当然也会聊到春节期间紧急发布的 o3-mini。
这几个模型都聚焦于目前大模型最新的技术范式——强化学习。希望我们的节目能帮助更多人一起读懂这几篇论文,感受算法之美,并准确理解目前的技术拐点。佳怡,先给听众朋友们打个招呼。你也可以介绍一下自己的研究方向,以及你在对 R1 Zero 进行小规模复现时做的一些尝试。
潘佳怡
大家好,我是潘佳怡,是加州大学伯克利分校人工智能实验室的一名博士生。我现在主要的工作,集中在用语言模型强化学习的方式做智能体和推理的后训练。
我主要关注的方向,是怎么用强化学习等后训练技巧,让 AI 学会写复杂的代码,控制电脑完成各种通用任务。R1 发布之后,我和合作者都对这项技术非常兴奋。刚好我们手里也有一些相关项目,对这些代码比较熟悉,于是花了几个小时,发布了现在大家看到的 TinyZero 项目。
这算是全网第一个对 R1 Zero 的小规模复现,同时我们也进行了一系列早期的消融实验。在这项工作里,我们觉得最有意思的一点,是发现在一些简单任务上,哪怕是一个 3B、非常小的模型,在经过强化学习之后,也可以自然发展出自我纠错、搜索等能力。
我们的希望是,让大家能够以更低的成本,快速迭代,研究出这条新技术路线到底是怎么做的,以及未来应该怎么发展。
张小珺
你们就花了几个小时,实现了小规模复现吗?
潘佳怡
对。当时是那天晚上,我自己玩得比较兴奋,大概一个晚上就把早期实验全都做完了。
张小珺
今天这期节目的形式会稍微发生一些变化。我想请佳怡来主讲这几篇关键的技术报告,带着我们读一遍。中间如果我遇到不懂或者有疑惑的地方,我会站在观众视角来提问。提问可能发生在中间,也可能放到最后,主要目的是帮助大家一起理解这几篇技术报告,包括其中真正的突破点、几篇报告之间的相似和不同,以及如果复现的话,可能会遇到的一些困难或陷阱。
在正式开始之前,我还是先问佳怡几个问题。第一个问题是,很多人说 DeepSeek 一举改写了全球 AGI 的宏观趋势,你认同吗?在你看来,DeepSeek-R1 Zero 和 R1 这两个模型,对于 AGI 路线图或者大国科技叙事的标志性意义是什么?
潘佳怡
我觉得这是个很好的问题。我个人更多是在做这些研究,对宏观叙事没有足够多的了解,可能没办法发表特别好的评论。但是我觉得有几点是一定成立的。
第一件事是,DeepSeek 最近的工作一定让美国的大厂重新反思自己的模型,不管是模型训练效率,还是自己的创新能力。他们会发现,自己可能并没有想象中那么领先。
同时,在 DeepSeek 在国内和海外一系列爆火之后,美国也开始正视中国的 AI 创新能力,而不像之前那样,只觉得中国是在一步步地、比较滞后地模仿。
对于 R1 Zero 和 R1 这两个模型,它们最主要的标志性意义,应该是说,从 o1 发布到现在,大家终于知道了用强化学习可扩展地提高语言模型能力的整条技术路线。
所以未来,不管是模型的推理能力,还是作为智能体的能力,应该都会快速提高。
张小珺
我还挺好奇,你周围有什么比较有意思的讨论或者 feedback 吗?
潘佳怡
我觉得大家,包括我和 Google DeepMind 以及 OpenAI 的一些研究员交流时,都对 DeepSeek 最近的创新能力非常惊讶,包括它以这么低的成本产出了这么漂亮的工作。
对于 R1,大家倒是都觉得这个方向非常漂亮,算法也非常干净。很多人后续可能会想转向这个方向。比如我有一些朋友,之前做的是视觉语言模型的预训练,现在可能就想转型去做视觉语言模型的推理。
这会是一个全新的领域,可能就像一两年前 ChatGPT 刚出来时的 RLHF 一样。后面肯定会有很多人进入这个领域,拓宽它,进行相关研究。
张小珺
这个变化不是在 o1 出来时发生的,而是在 DeepSeek-R1 推出来之后发生的吗?
潘佳怡
我觉得是的。o1 出来之后,显然已经有一些在这个领域做推理研究的研究员在进行探索。但是我觉得,更多的人还是会在整个趋势非常明朗之后,才做出这种大的抉择。
所以 R1 出来之后,最近的流量和讨论,我觉得至少是和 o1 当时可比的。当整个技术路线对公众变得清晰,而且大家都知道它的原理之后,整个行业的激情才真正被点燃了。
张小珺
在业内人士看来,DeepSeek-R1 是对 OpenAI o1 的复刻吗?现阶段的 DeepSeek,究竟是追赶者还是创新者?
潘佳怡
至少在 R1 这个例子上,我觉得有一个比较类似的事情:OpenAI 在 o1 中给大家出了一个非常有意思的谜语,整个行业的厂商都开始想揭晓这个谜语的答案。DeepSeek 是第一个找出答案的,而且给出的答案也非常漂亮。
但如果问 DeepSeek 自己究竟是追赶者还是创新者,我觉得它其实已经做出了一些非常杰出的创新。包括它之前 V3 里的超级稀疏 MoE、专家模型,以及它对自注意力机制的创新,都非常出色。
大家可能还缺少的一点,是像 OpenAI 一样,能够持续推出 ChatGPT、Sora 以及现在的 o1 这样,一系列可以改变 paradigm 的创新。这个事情目前还没有出现。
不过,这些年也只有 OpenAI 能够长期、持续地实现突破,这本身也是一个非常高的要求。
张小珺
春节前后,国内前后脚发布了几个模型:DeepSeek-R1 和 R1 Zero,还有 Kimi K1.5。它们之间的差距大吗?为什么同时发布,大家的关注却全部集中在 DeepSeek 上?
潘佳怡
我觉得 Kimi K1.5 是一项非常漂亮的工作。如果大家看过这两篇报告,会发现它们的相似度非常高,可以说是异曲同工。
其实也很遗憾。如果我是 Moonshot 团队的成员,当然会觉得这样好的团队应该收到更好的关注和激励。事后来看,我能看到几个方面的原因。
一方面,Kimi 团队主要在国内,产业和影响力也主要在国内,没有开源传统,也没有长期发表论文的经历,所以在海外或者研究社区里,不存在大量自发传播的粉丝。
DeepSeek 则是从一两年前开始,就陆续发布了一些高质量的技术报告,同时公开模型。在各种社区里,它已经积累了很多自发传播的支持者,大家也可以跟着这些报告一点点读。
另一方面,从 R1 的报告来看,它更加简洁、易读。K1.5 其实公布了很多非常漂亮的技术细节,也做了很多工程创新,但可能缺少像 R1 和 R1 Zero 这样非常“爆款”的报告。读起来没有那么有爆发力,也没有那么令人激动。
张小珺
这和开源、闭源有关吗?而且 Kimi 似乎是第一次发布技术报告。
潘佳怡
我觉得有关。比如梁文峰在之前的采访里讲过类似的思路:开源其实会创造一种文化,也会创造一种认同。
这件事在 DeepSeek 身上已经得到了非常明显的体现。因为它一直有开源文化,技术报告也持续公开,长期坚持开源,所以在海外已经积累了很好的名声,大家也形成了对这种文化的认同感。
张小珺
你觉得后面 DeepSeek 的这一系列举动,会让更多公司开始开源吗?会促进开源生态进一步繁荣吗?
潘佳怡
我觉得目前看来真的会。对于我们这种在学校里的研究人员来说,能够看到大厂把自己遮掩了很久的东西公开出来,是非常令人开心的事情。
我们可以举一些具体例子。前几天,Sam Altman 在 o3-mini 的一个 Ask Me Anything 活动里,有人问他们怎么看开源。他们回答说,觉得自己之前的行为站在了历史错误的一边,之后会重新考虑是否开源。
后来他们的一些研究员又补充说,可能会开始开源一系列工作,把一些已经比较老、已经不是用来赚钱的模型开源。
我也知道 Kimi 开始采取类似的开源举措,听说他们后面可能会公开更多技术报告。
张小珺
开源会对整个 AI 生态带来哪些后续影响?
潘佳怡
我觉得一个影响是,可以促进整个生态更快繁荣,而且减少重复消耗。
在开源之前,大家可能都要把一条技术路线自己走一遍。特别是如果有些公司愿意开源框架,大家就可以直接基于这些代码复用,而不需要每个团队都重新摸索一遍技术细节和代码细节。
第二,对于开发者、研究员,甚至普通大众来说,开源之后技术一定会更快普及,成本也会降得更低。
比如现在 DeepSeek 的 R1 模型,本身推理架构就很便宜,所以可以以很低的成本部署。现在网友已经开始自己部署,后面随着推理框架继续发展,我非常相信这类技术的成本会降得非常低。
张小珺
如果都开源了,这些大模型公司怎么挣钱?它们的商业模式会遇到问题吗?
潘佳怡
这是个好问题。我没有特别多有建设性的看法。之前我和 OpenAI 的一些研究员聊过,他们个人会觉得,ChatGPT 的商业模式比卖 API 好非常多。我相信国内可能也有一些公司会形成类似共识。
原因是,如果你卖 API,就要和开源模型竞争。而且现在 API 的同质化非常严重,大家都兼容 OpenAI 的 API。你想换一个 API,可能只需要改几行代码,再给另一家公司充点钱就可以了,可替换性非常强,竞争也非常激烈。
你必须一直处在价格便宜、性能靠前的位置,才能持续卖 API。
但 ChatGPT 的模式是,用户每个月支付一个费用,比如 ChatGPT 每月 20 美元,就可以享受 OpenAI 最新的一系列技术,包括推理模型 o1、4o,以及 Sora 这样的图片和视频生成模型。
这更像是一个可持续、竞争更少、具有一定护城河的商业模式。不过我对商业模式没有深入了解,这里只是抛砖引玉。
张小珺
OpenAI、DeepSeek 和 Kimi 这三家公司目前都在探索强化学习路线。总体来说,它们选择的技术路线差异大吗?
潘佳怡
从目前来看,其实大家的技术路线很相似。我觉得一个原因是,这种技术路线与其说是某个公司的发明,不如说是一种发现。
这个发现简单来说就是:大家发现,在足够强的语言模型上使用强化学习训练,会涌现出长思维链,同时能让模型学会推理,在一系列推理任务上的性能明显提升。
这更像一个发现,所以目前大家的路线还是比较一致的。
张小珺
以上这些问题,是希望帮助大家做一个大致定位。接下来我们把主场交给佳怡,请她带着我们讲解这几篇关键的技术报告。中间如果我有问题,再随时提问。
潘佳怡
我们可以从一些背景开始讲起,让大家了解为什么需要推理模型,以及它在整个技术演进中的重要性。
其实可以从 GPT-3 开始看。GPT-3 是 2020 年 6 月发布的,大概两年半之后,也就是 2023 年 3 月左右,GPT-4 发布了。现在已经是 2025 年 2 月,距离 GPT-4 发布也快两年了,但到现在我们还没有看到 GPT-5。
同时,即使是现在的 DeepSeek-V3、Llama 405B,以及最近出来的一些其他模型,它们的基础模型能力其实并没有明显超过 2023 年、已经过去两年的 GPT-4。
更多的进展发生在后训练上,比如让模型更好地使用工具,让模型更符合人类价值观,让用户更喜欢。这些方面都有非常大的进步。
这其实就是预训练模型的技术进展。现在预训练所使用的算力已经非常庞大了。在 GPT-4 时代,大家通常估计它的训练成本大约是 5000 万美元。当然现在由于算法效率提升,像 DeepSeek-V3 可能只需要大约十分之一的成本,就能实现接近 GPT-4 的训练效果,同时芯片也在变便宜。
但如果我们要拓展到 GPT-5,按照 OpenAI 的命名规律,一般一代比一代会多大约 100 倍的有效算力。这样的话,它可能需要更多的钱,通常猜测会在 2 亿美元以上。
总而言之,预训练仍然在进展,虽然 Ilya 说过预训练可能马上要到头了,也许还能再推一代左右。但它的成本非常高,迭代也非常慢。不管是什么原因,整个行业投入了这么多资源,我们已经有两年时间没有见到下一代模型了。
o1 的工作就是在这个前提下展开的。除了预训练算力之外,有没有其他可以扩展的维度,让我们投入算力之后,模型能够进一步提升?
o1 的工作,也就是 “Learning to Reason with LLMs”,告诉我们答案是有的。用强化学习,可以让后训练以及推理时算力获得可扩展的提升,同时让性能近似线性增长。
我们可以先从 o1 的工作看起。o1 最重要的图,是它的第一张图。横轴是训练时算力,而且取了对数,也就是第一个点可能是 10,第二个是 100,第三个是 1000。这里的训练不是预训练,而是后训练。
另外一个轴是测试时算力,也就是 test-time compute。纵轴是一个非常难的任务,叫美国数学邀请赛,AIME,国内可以类比为高中数学竞赛或奥数竞赛。
在没有进行任何后训练和推理时扩展的情况下,模型的性能大概在 30% 左右。当你一步步投入更多后训练和推理时算力,就会发现,随着算力对数的增长,AIME 上的成绩也在稳定提升。
这是一个非常漂亮的结果。它的成绩从 20%左右、30%左右,一路提升到接近 80%,基本快把 AIME 这种难度的题目解出来了。
o1 的 blog post 没有讲很多技术细节,但现在回头看,它其实已经把主要要点都讲了,而且谜题设置得非常精妙。它强调的第一件事,就是实现这一切的方法是 reinforcement learning,也就是强化学习。
我们可以先快速讲一下强化学习是什么。强化学习可以和预训练、SFT,也就是监督微调进行对比。
在预训练或者监督微调里,我们给模型一段已经写好、已经知道答案的文字,教它模仿这段文字。比如我们给它“你好”,它就学会回复“你好”。
而在强化学习中,我们告诉模型它的回复是好还是不好,让模型自己摸索怎样做会更好。模型去完成一个任务,自己尝试很多次,其中有些效果好,有些效果差。人或者另一个模型告诉它,这个结果是好还是不好。如果效果好,就鼓励它多这样做;如果效果差,就让它少这样做。
这就是强化学习的大致原理。
OpenAI 告诉我们,强化学习是实现这个范式突破的重要途径,同时它展示了一些长思维链。刚才可能忘了提,随着训练时算力投入增加,性能会增长;而在推理时,随着算力投入增加,性能同样会增长。
推理时是怎么做到的?在训练中,模型训练得越久、运行的次数越多,就会使用更多算力。推理时则是让模型输出更长的思维链,先输出思维链,再回答问题。
思维链可以类比为慢思考和快思考。模型可能会先说:我要这么做,先把任务分成几个小任务,再一个个尝试。它可能先试方案 A,发现方案 A 的某一步有错,再重新尝试;发现方案 A 不对,就试方案 C;方案 C 也不对,再试方案 D。
它会在思维链中,像人自己的内心思绪一样,一步步把问题解决。这就是慢思考。
相对而言,ChatGPT 或之前的标准聊天机器人,更接近快思考:它一开始就直接给你一个答案。
通过让模型学会慢思考,就可以实现推理时的可扩展性。OpenAI 还给了一个非常关键的表述:它学会了识别并纠正自己的错误。
也就是说,模型自己学会找出并改正错误,学会把复杂、困难的步骤拆解成更简单的步骤,也学会在当前步骤出错时选择其他方法。
OpenAI 非常明确地说,这些东西是模型自己学会的,不是人教给它的。最后他们还说,这项技术仍处在早期,具有可扩展性,后续会有很多技术迭代和突破。
这大概就是 OpenAI 在这篇 blog post 以及 o1 发布时提供的全部信息。
张小珺
预训练加 SFT,涌现出来的快思考,其实就是人类的智商,对吗?我可以这么简单地理解吗?也就是智力提升?
潘佳怡
如果从现在的理解来看,预训练更多是在教模型很多关于世界的知识,教给它一些思维模式,以及世界上的各种信息。它更像是在吸收信息,同时储备各种可能有用的思维模式模板。
我觉得现在可以把预训练理解成这样一件事情。
张小珺
那强化学习呢?
潘佳怡
强化学习可以分成两个阶段来看:一个是 RLHF,也就是聊天机器人阶段;另一个是现在 o1 这样的推理模型阶段。
其实它们的目标是一致的:我们已经有了一个非常大的知识库,里面储存了网上各种事实信息,以及各种推理知识和思维模板。但我们的目标,是让它把这些东西用于完成某件事情。
做聊天机器人时,我们希望它成为一个友好、没有伤害性的聊天机器人。做推理模型时,我们希望它能够解决某个复杂问题。
强化学习的方式就是,我们告诉它要做什么,也告诉它做得好不好。模型自己通过各种尝试,找到“我应该这么做”或者“我应该那么做”。
强化学习的作用,是把一个已经拥有丰富知识和推理模式的数据库,应用到某个特定任务上。当然,这个任务也可以是通用的。现在看,一个任务是聊天机器人,另一个是复杂推理。
张小珺
GPT-4、GPT-5,它们走的是扩展知识库、把知识库做到最大这条路线,而这条路线可能再过一代就到天花板了。所以我们现在做的事情,是怎么把这个知识库用好,用在具体任务上。
潘佳怡
我觉得基本可以这么理解。OpenAI 的研究员在推特上有一个很有意思的描述。
如果我们仍然能够生产非常多的网络数据,也就是说数据不是瓶颈,那么预训练可能还可以继续推进。比如推到 GPT-6、GPT-7,也许仍然能够实现 AGI,或者实现 o1 这样的推理效果。
但现在我们有了更多拓展这件事的方法。一个不太严谨的类比是:模型性能有点类似于预训练算力乘以推理时算力。
过去我们在预训练上投入了非常多算力,但推理非常便宜。这导致继续推进预训练变得过于昂贵。现在有了推理时算力,我们可能只需要在 GPT-4 上投入更多推理时算力,就能达到未来可能要到 GPT-5、GPT-6 才能达到的高度。
之前有 OpenAI 研究员说过:“o1 is sort of a GPT-6 in your hand”,也就是 o1 相当于把 GPT-6 通过推理时扩展的方式,提前送到了你面前。
张小珺
推理帮助了预训练,或者说帮助了模型整体能力的激发,我觉得可以这么说。那实现 AGI 还需要 GPT-5、GPT-7 以及往后这条路线吗?还是说,可能沿着 o 系列就能实现 AGI?
潘佳怡
这是个很好的问题。所有公司应该都还在探索。根据一些公开信息,比如 Mark Chen 的说法,他们会同时在预训练和推理时后训练扩展上投入。两方面都可以推进,那何乐而不为呢?
张小珺
所以现在是两条腿在跑步。
潘佳怡
我觉得是的。
当然,现在后训练的扩展才刚刚起步。预训练中,训练一个下一代模型可能要几百万美元起步;但后训练,比如 R1,成本最多可能也就一百万美元,很有可能只有十几万或几十万美元。
它现在还处于非常早期。所以,在这个阶段快速推进后训练和强化学习的扩展,回报会非常高,因为这个范式才刚刚开始。
我们也可以看到,OpenAI 在 o1 发布大约三四个月后,就发布了下一代模型 o3,而 o3 在很多方面都有明显提高。
张小珺
o3 相比 o1,主要提高了哪些方面?因为我们对它的体验其实比较少。
潘佳怡
我自己还没有充分使用过 o3,但 o3-mini 已经可以在 ChatGPT 上使用。我觉得主要有几方面。
第一,在同样成本下,o3 系列的智力会高很多,也就是整体智力成本在快速下降。第二,o3 提高了能力上限。
比如在 ARC-AGI 这个困扰大家很久的 benchmark 上,o3 直接从 o1 的 20%到 30%左右,提高到了 70%到 80%左右。当时主办方都非常震惊。
另外,FrontierMath 是最近出现的一个非常困难的数学数据集,由专业数学家构造。此前最高分大概只有 1%,现在直接提高到了 20%多,在智能上也有非常大的突破。
最近一些 OpenAI 的产品发布也显示,o3 之后,他们正在更多投入所谓多轮工具使用。这其实就是智能体。
如果只做推理,给模型一个问题,它回答一个答案,不需要环境,只需要自己在“脑袋”里想。这是推理模型。
对于智能体来说,它也类似,只不过它有一个外界环境。你给它一个任务,模型想一想,走一步,环境给它一个反馈,它再走一步。这样形成一个多步循环,通过使用工具与环境交互。
OpenAI 最近发布的 Deep Research 等工作,都在稳步推进 o 系列模型多轮工具使用的能力。
张小珺
春节期间发布 o3-mini,是被 DeepSeek 逼出来的吗?
潘佳怡
这个我们不清楚,但他们本来应该就计划在 1 月底发布 o3-mini。不过 o3-mini 的价格比 o1-mini 还低,降到了 o1-mini 的三分之一,所以很有可能有一部分是被 DeepSeek 逼出来的。
张小珺
能不能简单讲讲 agent 是什么意思?从科普角度,让大家理解它具体能做什么。
潘佳怡
Agent,也就是智能体,更多是指我们希望把语言模型放在一个非常丰富的外界环境里,让它像人一样操纵某些东西,完成任务。
比如写代码的智能体。你给它一个任务,说帮我修复某个 bug,或者实现某个功能,然后把这个任务告诉 agent,也就是告诉这个语言模型。
接下来你再给它一个外界环境。这个环境可能是一台电脑,也可能是 IDE,也就是程序开发环境。它可以自己编辑文件,在终端里运行命令,进行 Git 操作,翻阅 GitHub 以及网上的各种资料。
有了这样的环境,agent 就可以和环境交互,完成非常复杂的任务,比如完成一个软件项目。
还有现在比较火的 Computer Use Agent。你直接把整个电脑交给语言模型,让它通过敲键盘、移动鼠标,完成网上购物、制作 PPT 等任务。
它相当于把语言模型的智能接入非常现实、非常有用的空间。
张小珺
也就是让大语言模型调度外部世界。
潘佳怡
这个描述非常准确。
大概来说,o1 以及整个技术背景就是这样。如果没有问题,我们接下来可以从 DeepSeek-R1 开始看。
接下来还有两篇文章要讲,一篇是 DeepSeek-R1,一篇是 Kimi K1.5。这两篇文章的主要思路非常相似,异曲同工。
R1 在算法上更加干净、漂亮;K1.5 则带来了更多细节,包括数据、架构和实验细节,会更加丰富。我们先从 R1 开始讲,中间遇到相似的地方,再插播 K1.5,最后通过 K1.5 具体看数据构造、奖励函数构造等细节。
我们可以看一下 DeepSeek-R1 的论文。它的标题叫 “Incentivizing Reasoning Capability in LLMs via Reinforcement Learning”,也就是“通过强化学习激发语言模型的推理能力”。
“incentivizing”这个词很有意思,业内讨论很多。之前 OpenAI 有一位研究员 Hongyu 在 MIT 做过一次演讲,标题是 “Don’t Teach, Incentivize”,意思是不要教模型具体怎么做,而是鼓励它。
这个意思是,不要像 SFT 和预训练那样,教模型具体应该怎么做,而是告诉它什么是好、什么是不好,让它自己摸索怎样做得更好。
当问题足够复杂、希望模型表现出非常复杂的行为时,人类没有办法一步一步教会它。这时应该告诉它什么是对的、什么是错的,然后希望模型自己学会。
一个比较简单的类比是“授人以鱼不如授人以渔”。给一个人一条鱼,不如教会他怎么捕鱼。但在这里,可能是教会他捕鱼还不如先让他知道鱼有多香,再让他饿着肚子。他自己就会获得足够的奖励,自我激励着学会捕鱼,而且可能比你捕得更好。
我们可以开始看这篇文章。
张小珺
好的,我已经打开了。
潘佳怡
我们可以先从摘要和第一段开始。它大概说,我们推出了第一代推理模型 DeepSeek-R1 Zero 和 R1。
其中,R1 Zero 是通过大规模强化学习训练出来的模型,没有经过监督微调,也就是没有经过 SFT。它是预训练完成之后直接进行大规模强化学习的模型,不像之前的 RLHF,要先预训练,再微调,再强化学习。
R1 Zero 展现出了非常漂亮的推理能力。同时,通过强化学习,R1 Zero 自己展现出各种有意思的推理行为,包括 OpenAI 之前提到的那些能力:搜索、检查自己的错误,以及改正自己的错误。
但是 R1 Zero 也面临一些困难。它的输出读起来比较难懂,有时会一会儿说中文,一会儿说英文。为了改善这些实际问题,也为了进一步提高模型能力,他们后续推出了 DeepSeek-R1,也就是大家现在在 Chatbot 或 API 中使用的 R1。
R1 不像 R1 Zero 那样只经过大规模强化学习,而是经过了多轮训练。在强化学习之前,它先用冷启动数据进行了微调。
这个模型在各种推理任务上表现非常漂亮,已经基本赶上了 o1。同时,DeepSeek 还开源了 R1 和 R1 Zero,甚至进行了一些蒸馏尝试,把从 1.5B 到 70B 的模型都开源了,开发者可以在本地运行。
这就是摘要的大致内容。我们再从 introduction 细细看它具体做了哪些事情。
语言模型经过了很多轮迭代,现在已经被证明是进军 AGI 几乎唯一、也是非常 promising 的候选者。近几年,后训练已经成为语言模型训练中越来越重要的部分。
我们之前讲过,现在基础模型的能力并没有显著超过 GPT-4,但在 Chatbot Arena 或者其他榜单上,模型能力有了很大提升。除了数据构造变好之外,很大一部分就是后训练模式的改进,包括推理能力、输出是否对用户友好,以及是否符合社会价值观。
但即使有这些后训练带来的提升,后训练使用的算力相对于预训练仍然是毛毛雨。
这里的“毛毛雨”大概是多少?我查了一下 DeepSeek-V3 的论文。V3 的论文里提到,预训练花了 530 万美元。中间还有一个阶段叫 mid-training,也就是中训练:预训练模型原本只能处理 8K 或者 4K、8K 的文本长度,通过大约 20 万美元、也就是大约 2%的成本,把上下文长度扩展到 128K。
DeepSeek-V3 报出的后训练成本是 1 万美元,也就是 0.01 million。这不到预训练成本的 0.2%,所以确实非常少,几乎可以忽略。
这也说明,如果能在后训练上实现扩展,收益一定会非常大。
接下来它说,o1 第一次展现了推理时的扩展性。它让模型自己实现了长思维链。此前也有很多尝试,包括学界里的尝试、DeepSeek 自己之前的强化学习,以及 MCTS,也就是蒙特卡洛树搜索,但没有人达到 o1 那么漂亮的效果。
这篇文章里,DeepSeek 第一步展示了,通过简单、纯粹的强化学习,就可以达到类似 o1 的强大推理能力。
我们再看 R1 Zero 具体怎么做。它从 DeepSeek-V3 Base 模型开始,也就是没有经过后训练、只经过预训练的基础模型,然后使用 GRPO 这个策略梯度强化学习算法,直接在各种推理任务上进行强化学习。
这样训练之后,模型会自己展现出各种有意思的推理模式。经过几千步强化学习,R1 Zero 展现出了非常漂亮的推理能力,能够和 o1 打平。相比 GPT-4 或 V3 Base,模型性能可能有百分之几百的跨越。
但 R1 Zero 是从没有经过价值对齐、也没有经过用户偏好对齐的模型开始的,所以它的文本质量肯定会像互联网上随便看到的文本一样,比较杂乱。同时因为是多语言训练,它会出现各种语言来回切换的现象。
为了解决这些问题,DeepSeek 推出了 R1。首先,他们用少量冷启动数据进行启动微调。这些数据是研发人员通过各种方式精心挑选出的长思维链数据。
这样,模型一开始就大概知道应该往哪个方向走,也可能已经知道可以进行搜索、可以进行自我纠错。模型学会这些 pattern 之后,后面探索时就能事半功倍。
接下来,它进行和 R1 Zero 类似的强化学习。这样就得到一个推理专家模型。
推理任务需要问题和标准答案,或者需要一个可以验证答案的任务。数学题通常有标准答案,看最后答案对不对就可以。代码则可以通过 unit test 检查。
但文学创作等领域没有这么简单。所以 R1 Zero 以及第一阶段的模型,强化学习主要集中在理工科和数学领域,是一个专门做推理的专家模型。
但我们的目标是通用模型,它还需要在聊天、角色扮演等更“软”的领域进行训练。这里采用的是行业里比较通用的方法:先用这个专家模型生成数据,再进行蒸馏,也就是 SFT。
除了数学和理工科推理数据之外,他们还从 DeepSeek-V3 中抽取了通用蒸馏数据,可能包括聊天、角色扮演等任务,把这些数据混在一起,重新微调 V3。
这样,V3 就像从多个专家那里学习了知识,在不同方面表现得更加均衡,什么都能做。
最后,他们再进行一轮覆盖所有领域的通用强化学习,得到最终的 R1。
R1 的性能和 o1 比较相似。
张小珺
所以,R1 和 R1 Zero,哪个更重要?
潘佳怡
要看你关注什么。如果从技术的干净程度来看,R1 Zero 显然更加干净。
因为 R1 需要像前面说的那样,手工制作、缝缝补补出一些长思维链数据;而 R1 Zero 不需要这些,它展现出模型自发涌现的性质,这非常漂亮。
如果后面模型性能继续提升,R1 Zero 由于更少依赖人类先验知识,也许能达到更高的高度,在各种领域里更加灵活自由。
但目前 R1 Zero 的性能没有那么好,通用性不强,用户友好度也不高。所以从商业化和实际部署角度,现在显然 R1 是更好的选择。
张小珺
所以我们现在使用的 DeepSeek,都是 R1。
潘佳怡
对,都是 R1。
最后,DeepSeek 在 introduction 里还提到,他们尝试了把 R1 蒸馏到小模型上。
此前我们看到 o1-mini 是一个很有意思的模型。OpenAI 在很多场合宣传它很小,价格也不错,但它在各种榜单上的能力,相对于前一代聊天机器人模型来说非常夸张。
DeepSeek 也在探索,能不能用知识蒸馏,把 R1 蒸馏到小模型上。他们用 Qwen2.5-32B 做了两个实验。
第一个方案,是用 R1 生成各种数据,直接通过 SFT 蒸馏到 Qwen2.5-32B 上。第二个方案,是在 Qwen2.5-32B 上直接用 R1 Zero 的方式进行大规模强化学习。
他们发现,从大模型蒸馏到小模型,效果甚至比直接用小模型进行后训练更好。这是一个很有意思的发现,后面我们还可以细聊。
无论是 32B 还是更小的模型,最低做到 1.5B,他们都发现了非常正向的结果。这说明,推理能力可以由大模型发现,再有效地蒸馏到小模型上。
张小珺
好的。
潘佳怡
接下来从 approach 开始看 R1 Zero 的技术路线。
R1 Zero 的出发点和 OpenAI 当时一样:想看这种能力能不能自发涌现出推理模式。
DeepSeek 从 2.2 节开始说,他们探索的是:不给任何监督数据,语言模型是否也能自己发展出推理能力。
方法非常简单:给一个基础语言模型,直接在它上面运行强化学习。只要整体设定正确,就能看到这种能力。
这里的强化学习算法沿用了 DeepSeek 之前的算法,叫 GRPO。GRPO 没有特别好的中文翻译,我们就直接这么说。
GRPO 是 PPO 的一个迭代版本,由 DeepSeek 自己研发。它最大的区别是,在 PPO 里需要训练两个模型,一个叫价值模型,一个叫 actor,也就是策略模型 policy model。
我们的目标,是得到一个非常好的策略,也就是一个能够很好完成任务的模型。那为什么 PPO 要训练价值模型?
在强化学习中,奖励可能只在最后一步出现,也可能出现在中间某些步骤,并不是每一步我们都知道它有多好。
比如生成一个句子,里面有很多 token。我们希望知道每一个 token 的权重有多高。
举个简单的例子,问题是“一加一等于二”,模型回答:“一加一等于三,不对,我觉得一加一好像等于二,答案是一加一等于二。”
如果只用最终 reward,因为最后答案是对的,我们可能会把整个句子的奖励都提高。这样一来,中间错误的“一加一等于三”也学到了,后面自我纠错、最终得出正确答案的步骤也学到了。
PPO 的思路是,通过学习一个价值函数,细致地描述每一步是对还是错。如果价值函数足够好,它会告诉你每个 token 是好是坏。这样你就可以学习好的 token,舍弃不好的 token。
在刚才的例子里,“三”是错的,价值函数如果学得足够好,就会告诉你不要学习这个“三”;后面的内容可以继续学习。这样可能让收敛更快,策略也更好。
但这个思路假设我们能够学到一个非常好的价值函数。现实中,尤其是在语言模型的长思维链任务里,这并不成立。
首先,任务非常难。特别是在语言模型任务中,很多时候只有最终答案是对是错,只有 0 或 1 这样稀疏的监督信号。我们要据此学习每一个 token 是对是错,本来就很难。
其次,监督信号只有最后一步,而长思维链可能有几千个 token,序列非常长。
此外,Kimi K1.5 提到,语言模型自己学会了纠错。在这个情况下,“一加一等于三”里的“三”到底是对是错,其实不好说,要看最后能不能纠正。
如果模型最后回答“一加一等于三”,那这个“三”显然把它引向了错误答案。但如果模型说“一加一等于三,不对,一加一其实等于二”,最后回答“一加一等于二”,那么中间的“三”真的就是错误行为吗?它可能只是一次尝试,后面已经纠正了。
在这种可以不断纠错的场景里,学习一个精确的价值函数非常困难。
所以 K1.5 和 R1 都做了类似的事情:取消价值函数。价值函数既不可能提供精确反馈,又会占用巨大算力,让训练过程更复杂。不如把它丢掉,给所有步骤相同的奖励。
这就是 GRPO 以及 K1.5 中相关算法的出发点:价值函数不准确时,直接舍弃,只进行 policy gradient,也就是策略梯度训练。
损失函数大概有两项。先从 advantage 说起:模型会尝试很多次,有些对,有些错。我们把相对好的作为好,把相对差的作为坏,然后进行归一化,均值为 0,标准差为 1。这样有助于稳定训练。
比如每个 batch 里有 1000 次尝试,我们可以区分哪些好、哪些坏。向好的学习,坏的就舍弃。
另外,无论是 Kimi K1.5 还是 R1,都希望除了使用 on-policy data,也能够使用 off-policy data。
On-policy data 是当前模型即时生成的数据;off-policy data 是模型几代之前生成的数据。它可能和当前模型有些不一样,但我们仍然希望利用这些旧数据。
这里会用到一些强化学习技巧,包括重要性采样等,让模型除了接受 on-policy 数据,也能够容忍一定程度的过时数据,从而重复利用之前采样过的数据,提高数据利用率。
另一个技巧是 KL divergence,也就是 KL 散度。我们有一个正在训练的模型,同时有一个开始时的 reference model,作为参考模型。
参考模型的能力可能没有我们想要的那么强,但它的输出大概是合理的。我们希望当前模型不要偏离这个参考模型太远。如果偏离太多,就会受到惩罚。
这就是整个强化学习算法的大致含义。
我和身边做理论强化学习的同学、师兄师姐聊过之后,最大的感受是,这样的算法在强化学习领域算是非常简单、直接的,没有使用特别深的技巧。
它只是解决了几个必须解决的问题,比如 off-policy 数据、不要偏离原策略太远,然后得到了一个非常简单明了的训练损失函数。
张小珺
这个算法是 DeepSeek 的创新点,对吧?GRPO 是 DeepSeek 大约一年前在 DeepSeekMath 论文里第一次提出的。
潘佳怡
对。GRPO 是 DeepSeek 的创新点。之后大家可能会越来越多地使用它。
K1.5 讲的论点非常明确:当价值函数估计不准时,不如把它丢掉。大家发现这件事之后,可能会从带价值函数的 PPO 转向不带价值函数的算法。GRPO 就是一个例子,K1.5 也提出了一个相似但损失函数细节不同的算法。
接下来,强化学习需要几部分:一个是希望训练出来的策略,也就是能够获得最高奖励的模型;另一个是环境。
在 R1 和 K1.5 的例子里,环境其实就是一个问题和奖励函数。奖励函数告诉你到底做对了还是做错了。
R1 Zero 里使用的是 rule-based reward system,也就是基于规则的奖励系统。它可能是用 Python 写的一些规则:答案是否和标准答案一致,化简之后是否一致;代码是否通过测试;性能是否达到某个量级。
R1 Zero 有两部分奖励:accuracy reward 和 format reward。
Accuracy reward 是答案对不对。Format reward 是格式对不对。
前面提到,我们希望模型先慢思考,再回答。在 DeepSeek-R1 Zero 的例子里,会让模型先输出一个 `<think>` 标签,把长思维链放在里面,后面再使用 `<answer>` 标签,放入最终答案。
如果答案对,就给奖励;格式对,也给一点奖励。在 TinyZero 的复现里,我们设置 format reward 为 0.1,accuracy reward 为 1,这样就已经能够跑起来了。
DeepSeek 还说,开发 R1 Zero 时没有使用针对过程或结果的神经网络奖励模型。这里主要是和 RLHF 以及 PRM,也就是过程奖励模型进行对比。
在 RLHF 中,我们也是用强化学习,但强化学习的目标是一个奖励模型。奖励模型本身也是从语言模型开始训练的,它会看到很多文本对:这是问题,这是答案一,这是答案二,答案一比答案二好,或者答案二比答案一好。
最后,当你问这个模型答案一怎么样,它会给一个分数;问答案二怎么样,它也会给一个分数。在聊天机器人场景里,语言模型就使用这样的奖励模型作为奖励函数进行学习。
另一个是 process reward model,也就是过程奖励模型。现在回头看,大家可能有些被 OpenAI 去年或前年发布的 “Let’s Verify Step by Step” 影响了。
那是 OpenAI 关于语言模型推理的最后一篇公开论文,之后就发布了 o1,所以大家可能觉得两者之间有某种神秘联系。很多团队在过程奖励模型上投入了相当多时间。
过程奖励模型和结果奖励模型类似,也是给一个问题和一个答案打分。但它不只是给最终结果打分,而是更加细致:第一步是对的,第二步是对的,第三步是错的。
这和我们刚才说的价值函数非常相关。它告诉我们,不是整个回复是好是坏,而是哪一步好、哪一步坏。
这听起来非常诱人,因为细致的监督信号在强化学习中长期以来都被证明是有效的。但至少在 R1 这个时间点,我们发现很难做出非常精确的神经网络奖励模型。
这些模型会出错,而且当我们训练的策略模型足够强时,它很可能会对神经网络奖励模型进行 reward hacking,也就是破解奖励。
奖励模型只是对我们真正想要的奖励的不完美模仿。模型可能会钻这个模仿的漏洞,让奖励函数认为它做得非常好,但人类看起来却很奇怪。
RLHF 里有一个例子:如果奖励模型没有调好,它可能觉得回复里 emoji 越多越好。模型学到之后,就会输出非常多 emoji,但人类看起来会觉得非常难以理解。
这就是 reward hacking 的具体体现。
DeepSeek-R1 的做法是,为了防止这种现象,直接使用 ground-truth reward,也就是真实奖励。在数学和代码任务中,我们能够确定最终答案是对还是错,这样就避免了奖励破解的可能。
张小珺
你刚才提到,OpenAI 之前那篇报告是不是故意把大家往偏的方向带?当时是这样吗?
潘佳怡
我觉得不一定。当时他们自己可能也还没有找到最正确的方向,尝试了各种技术路线。
DeepSeek 自己其实也做过很多过程奖励模型的工作,包括 DeepSeek-Prover。我觉得当时大家都还没有找到最好的方向,所以才会那样做。
“Let’s Verify Step by Step”距离 o1 的公布大概有一年时间,只是这一年里他们没有公布更多进展。
张小珺
所以,OpenAI 不一定是有意的,但这个结果确实让大家走了一些弯路。
潘佳怡
对。
张小珺
这是 approach 里的第二点。第一点是算法,第二点是奖励函数。
潘佳怡
对。我们可以快速看一下它使用的模板。
模板相当于给模型一个前缀,告诉它应该怎么做,规定训练模式。这个模板非常简洁:下面是一段用户和助手的对话,用户会问一个问题,助手会解答。
助手首先要一步步思考,把推理过程写出来,最后给用户一个答案。
因为奖励函数里有格式奖励,我们需要比较容易地读出答案,才能和标准答案比较。所以模板里规定了聊天机器人的回答格式:先把思考过程放到 `<think>` 标签里,最后把答案放到 `<answer>` 标签里。
之后用户提出问题,语言模型开始一步步生成答案。
整体来看,模板非常清晰、简洁,只告诉模型格式该怎么做,以及要先思考、再回答。
我们接着看 2.4 的实验结果。Figure 2 和 Figure 3,是复现 o1 图表的两个漂亮例子。
Figure 2 的纵轴是 AIME 性能,横轴是强化学习训练步数。训练步数和投入算力正相关。
R1 Zero 模型最开始可能只有十几个百分点的准确率,随着强化学习推进,逐步提升到 70%左右。它还测试了 maj@16,也就是让模型输出 16 次答案,然后选取答案中重复最多的那个作为最终答案。这也叫 majority voting,是很标准的推理时扩展技巧。
使用这个方法之后,结果会更高一些,但整体趋势一样。强化学习训练到大约 1 万步时,性能大致进入 o1 的区间,只是略低一点。
Figure 3 更有意思。Figure 2 只告诉我们性能在提高,但没有说明模型究竟是怎么做到的。Figure 3 告诉我们,很大一部分原因是输出在慢慢变长。
模型在强化学习中学会利用更多 token,用更长的思维链,通过更多推理时算力提高能力。这就是推理时扩展的来源。
Figure 3 的纵轴是每次回复的平均长度,也就是思维链平均长度,横轴仍然是训练步数。
第 0 步时,输出大概只有一百到几百个 token。经过大约 8000 步强化学习,平均回复长度到了约 1 万个 token,增加了接近 20 倍。
这张图也非常漂亮,是一条从底部延伸到顶部的直线。你会期待他们为什么在这里停下来,后面继续训练是不是还会继续扩展。我觉得非常有可能。
张小珺
它在这里是不是用了一个词,叫“顿悟时刻”?
潘佳怡
对。我们可以马上看这个部分。
模型自己学会了利用更多测试时算力,发现如果在推理时花更多算力,性能就会提高,于是它学会了这么做。
我们还可以看看,它在这么长的思维链里究竟在做什么。
DeepSeek 在后面的 aha moment 里提到,R1 Zero 通过强化学习,自己涌现出了复杂的推理能力,包括反思、自我验证、搜索等。
它可能会重新看一遍自己之前的答案,重新评估答案,甚至改正答案,也可能进行搜索。
这些行为不是 DeepSeek 的研究员写进模型里的。他们没有先给模型一批 SFT 数据,教模型可以反思、可以搜索,而是模型自己在强化学习中涌现出了这些能力。
这和 aha moment 的定义很相关。
他们举了一个例子:模型一开始按部就班地解决数学问题,一步一步往下走。每一步都对就成功,某一步错了,问题就失败了,模型也不会自我订正。
但在某个训练时刻,模型开始学会 self-revision,也就是自我修正。它在某一步发现自己有个式子列错了,自己输出:
“Wait, wait, there’s an aha moment I can flag here.”
等一下,这里有一个 aha moment,我可以看一看。
接下来它说,让我们重新检验一下这一步对不对。它重新验算这个式子,发现某个地方有问题,最后解决了问题。
之所以有意思,是因为这样的 aha moment、自我纠错,以及“等一下,这里有一个 aha moment,我再看一看”,并不是程序员或 DeepSeek 的研究员写入模型的,而是模型自己涌现出来的能力。
这不仅展示了模型是如何一步步提高推理能力的,也让我们看到强化学习如何在意料之外产生复杂行为。
和监督学习相反,强化学习只告诉模型什么是好、什么是坏,没有规定具体应该怎么做。这可能是目前唯一已知能够达到 superhuman performance 的方法。
无论是下围棋还是打游戏,大家都是通过强化学习告诉模型什么好、什么不好,模型最终达到超越人类的能力。中间还可能出现围棋里的“神之一手”,也就是人类开发者没有想过、没有预料到的行为模式。
这就是强化学习的美。
张小珺
我能理解,这部分是整篇论文的高潮,对吗?
潘佳怡
我觉得是。其实 OpenAI 的 o1 里也有类似内容。他们提到模型如何自己涌现出某些能力,OpenAI 内部的视频里也提到过类似的 aha moment。
aha moment 的出现,说明他们的技术路线是对的。科学上,这种时刻也增强了我们对这条路线可扩展、可继续推进的信心。
模型已经能够出现一些人类意料之外的复杂推理能力。那当我们把它再推进几个数量级,给它更多数据,把算法调得更好之后,很可能出现更加漂亮、更加有意思的效果。
从各个角度来看,这都是非常漂亮的结果。
张小珺
模型能涌现出意识吗?
潘佳怡
这取决于大家怎么定义意识。有些人认为,模型只是在一次次预测下一个词,所以没有意识。
也有人,比如 Geoffrey Hinton,认为现在的模型已经有意识了。如果只看输入和输出,模型和人很像:你给它一句话,它能够回复,而且可能比我回复得更好。
只看输入输出,你会问,它里面是人吗?我们知道人有意识,能做到这些事情;那换成模型之后,能不能说它没有意识?
这确实是一个不太好定义的问题。但大家开始认真讨论这个问题,本身就说明模型的能力已经出现非常卓越的突破,开始让人思考自己的存在和价值。
张小珺
已经超过人了。
潘佳怡
在很多领域可能已经超过人,但还有很多领域需要继续突破。
接下来,DeepSeek 讲了 R1 Zero 的一些劣势。它的可读性比较差,因为是从基础模型直接初始化的;同时有时会切换语言。
在这个基础上,他们迭代出了 DeepSeek-R1。它在科学意义上可能没有 R1 Zero 那么有趣,但商业上更可行,性能也更好,是一个更适合落地的方案。
R1 这部分更多是工程优化。
R1 和 K1.5 的整体思路比较类似。它们首先都使用了冷启动数据,也就是少量长思维链数据。
R1 Zero 自己学会纠错和搜索;R1 和 K1.5 则是把这些能力直接展示给模型,通过 SFT,或者通过各种 prompting 方法,手工制作一些长思维链数据,告诉模型可以搜索、可以自我修正。
同时,这些长思维链数据会修复可读性差、语言来回切换等问题,为模型提供更好的初始化。
接下来是 2.3.2,面向推理的强化学习。这部分和 R1 Zero 类似:有了经过冷启动数据调优的模型之后,在写代码、数学、科学、逻辑推理等领域运行强化学习。
这些任务需要可验证的答案,所以要有非常精确的奖励。训练过程中,他们发现模型又会出现语言混杂,于是做了工程上的调整:如果回复中出现多种语言,就降低奖励,让模型学会不要混合语言。
这样就得到一个推理专家模型。它在推理任务上很强,但如果让它聊文学、做聊天机器人或者角色扮演,因为没有在这些任务上训练,能力会弱一些。
但 R1 的目标是生产环境可用的模型,所以还需要把这些能力迁移过去。
做法是把不同专家模型的能力集中到一个模型里。现在有一个 R1 推理专家模型,它提供推理数据;同时 DeepSeek-V3 是一个通用模型,在写作、翻译、事实问答等非推理领域,可以把 V3 当作专家。
然后用 rejection sampling fine-tuning,也就是拒绝式采样微调,蒸馏这些专家模型的能力。
比如采样 1000 个回答,剔除错误的、格式不好的、语言混杂的、答案不标准的回答,只留下剩下的数据,作为 SFT 数据。
推理专家模型的数据,来自 R1 中间 checkpoint 的拒绝式采样。提示词包括上一阶段大规模强化学习使用的所有数据,这些数据可以用基于规则的方法得到 ground-truth reward。
此外,他们还扩充了数据集,加入一些无法简单写成规则奖励的数据。这些数据可以用生成式奖励模型判断。
在拒绝式采样中,他们筛掉思维链里语言混杂、过长、格式不符合要求的数据,最后得到 60 万条推理训练数据。
非推理部分则使用 DeepSeek-V3 进行拒绝式采样。对于比较难的任务,让 V3 先生成 chain of thought,再给出答案;对于“你好”这样的简单任务,就直接回答,不需要思维链。
非推理方向一共收集了 20 万条训练数据,总共就是 80 万条专家模型产生的数据。
然后用这些数据微调最开始的 DeepSeek-V3 Base。这样得到的模型相当于同时被推理专家和通用专家教过,既懂推理,也不会落下通用任务。
最后再对所有场景进行强化学习。推理任务继续使用基于规则的 ground-truth reward;通用任务则使用 reward model。
这样就得到最终的 DeepSeek-R1,也就是商用和落地的模型。
张小珺
同时发布两个模型,一个更偏技术,一个更偏工程,常见吗?
潘佳怡
非常不常见。之前基本没有见过这样发布的技术报告。
我猜 DeepSeek 的研究员也意识到 R1 Zero 的叙事非常有意思,技术突破也非常好玩,所以愿意花很大篇幅讲 R1 Zero,同时把它作为一个模型公开、开源。
张小珺
如果不选择这种方式,其实可以只开源 R1,隐藏 R1 Zero 这部分,对吗?
潘佳怡
我不太清楚。R1 Zero 后来实际使用的人好像不多,因为它确实没有 R1 那么好用。
可能一方面,DeepSeek 想把自己的开源文化贯彻到底;另一方面,他们也觉得 R1 Zero 是一个非常重要的发现,公开出来比较好。
张小珺
为什么叫 R1 Zero?Zero 这个词是不是和 AlphaGo、AlphaGo Zero 有一些渊源?
潘佳怡
是的。AlphaGo 和 AlphaGo Zero 的顺序和 R1、R1 Zero 正好相反。
AlphaGo 是第一个达到世界级水平的围棋 AI。它先从大量人类棋局中学习,再进行强化学习,所以依赖人类先验知识。
AlphaGo Zero,或者后来的 AlphaZero,则是不借助人类先验知识,直接从零开始。给它一盘棋和一个奖励函数,它自己学习,看能学出什么。
AlphaZero 则把这个方法推广到不只是围棋,而是各种棋类。
它们的主要区别是,Zero 模型不依赖人类先验知识就可以学到各种东西。它们还证明了,这种 Zero 模型收敛后的上限高于 AlphaGo,并且能够出现各种“神之一手”。
R1 和 R1 Zero 其实还没有那么 Zero,因为它们都经过了大量互联网文本的预训练。但 R1 Zero 没有像 R1 一样经过思维模式的冷启动,而是直接进行强化学习,自己学出这些思维模式。
从这个程度上看,它依赖更少的人类先验,所以可以称为 Zero。
不过目前还没有证明 R1 Zero 的效果比 R1 更好。后面会不会更好,大家也说不准。
张小珺
没有 R1 Zero,就没有 R1,对吧?因为 R1 是基于 R1 Zero 调优出来的。
潘佳怡
这其实不太确定。K1.5 就完全类似于 R1,它们可能没有做 R1 Zero 这一轮,也能做出 K1.5。
大家目前都知道,一条比较保险的技术路线是:先用长思维链进行冷启动,再进行强化学习。这样至少能够在很大程度上复现 o1 的效果。
但 R1 Zero 算是比较出乎意料的创新:不经过思维链冷启动,也能够达到类似效果,更接近 OpenAI blog 中描述的“推理模式是涌现出来的,而不是人教的”。
接下来看看它对小模型的蒸馏实验。
2.4 这一节叫“蒸馏,让小模型也拥有推理能力”。这对整个社区非常有帮助,因为它一次性开源了从 1.5B、7B、8B、14B、32B 到 70B 的一系列推理模型,性能都相当漂亮。
它的做法很简单:上一步 R1 通过推理专家和 DeepSeek-V3 通用专家,得到了 80 万条高质量数据。然后用这些数据蒸馏一系列模型,包括 Qwen 和 Llama,观察蒸馏之后的效果。
比如用 R1 的 80 万条数据蒸馏出的 Qwen 1.5B,在 AIME 上的性能已经比 GPT-4o 或 Claude Sonnet 这样的前沿模型高出 10 到 20 个百分点,非常夸张。
在数学等标准榜单上,它的表现也超出传统聊天机器人模型很多。哪怕是 1.5B 的模型,通过推理蒸馏,也能获得非常好的性能提升。
另一个值得关注的数据点,是 R1 蒸馏到 Qwen 32B、R1 Zero 训练的 Qwen 32B,以及 QwQ 的对比。
第一个模型是 DeepSeek-R1 Zero-Qwen-32B:用 R1 Zero 的方式,让模型自己探索推理模板,训练出一个 Qwen 32B 推理模型。
第二个是先从 R1 这个 600B 以上的 MoE 超大模型中学习推理逻辑,再把它蒸馏到 Qwen 32B 上。
结果显示,通过 R1 蒸馏得到的模型,效果远远超过 Qwen 32B Zero。
简单来说,从大模型往小模型蒸馏,很可能比小模型自己通过强化学习学到的东西更好。
原因可以这样理解:模型之所以能学到推理范式,是因为它尝试了各种解,其中一次试对了,于是学会了这种方式。尝试得越多,学到的好方法越多。
大模型的能力比小模型强,更可能探索到复杂、有益的推理模式。探索出来之后交给小模型,当然比让小模型从零探索更好。
R1 Zero 最后的性能,和 Qwen 去年发布的 QwQ-32B-Preview 基本一致。也不知道 Qwen 内部是不是使用了类似管线,还是不同技巧最后收敛到了相似性能,这很有意思。
蒸馏当然有效,但 DeepSeek 也提到,他们只是探索了蒸馏,发现蒸馏之后继续进行强化学习,还能获得更好的提升,只是没有放出相关模型参数。
可以把蒸馏后的模型理解为一个笨拙的学生。它从比自己强很多的老师那里学习,但学生和老师之间并不完全匹配。蒸馏之后继续强化学习,学生可以自己学会哪些东西应该用、哪些东西不应该用,进一步打磨自己的推理模式。
张小珺
笨学生努力学习,成绩还是可以变好。
潘佳怡
对。笨学生不能只是抄答案,还要自己对症下药,这样才能学得更好。
前段时间 Priming Tech 在 QwQ 上做了一个 SFT 后再强化学习的小实验,这应该是我目前看到的比较早的蒸馏后强化学习提升的线索。
当时 R1 还没有出来,所以他们是在 QwQ 上做蒸馏和强化学习。他们报告的数据是:Qwen2.5-Math 模型自己的平均成绩是 43.8;做蒸馏之后大约是 49;再加一步强化学习,可以上升到 52。
这确实有明显提升。我相信无论是蒸馏还是蒸馏后的强化学习,开源社区才刚刚开始摸索,后面出现更多效果完全不意外。
这就是论文的主要内容。后面 DeepSeek 还放出了一些失败尝试,并分享了一些经验。
第一个是过程奖励模型,第二个是蒙特卡洛树搜索。这两件事 DeepSeek 之前都专门发表过论文,一个是 Math-Shepherd,一个是 DeepSeek-Prover。
这也说明,DeepSeek 能够比较漂亮地复现 R1,并不是巧合。他们之前尝试过很多方向,最后发现直接做强化学习是可行的,于是把资源投入到这个方向。
过程奖励模型没有成功,原因和我们之前说的类似。因为它要标注第一步、第二步、第三步,而在通用任务中很难定义哪一步是哪一步。
比如竖式乘法,是每一行算一步,还是整个竖式算一步?标注一定会遇到很大困难。
其次,评估当前这一步对不对也很困难。即使不考虑模型能够“悔棋”,逐步判断也需要标注者跟着模型完整走一遍。模型还能够纠错时,判断就更加模糊,K1.5 对此有非常明确的讨论。
另外,过程奖励模型本身需要训练。之前一些自动化训练算法效果不够好;人工标注又太贵,没有可扩展性。
更本质的问题是,只要有奖励模型,就可能发生 reward hacking。模型可能通过压榨或欺骗奖励函数,学到奇怪的东西,偏离真正目标。
不过,过程奖励模型在传统使用场景中仍然很好用,比如 best-of-N selection。
具体来说,给模型一个问题,让它在 temperature=1 的情况下生成 10 次、100 次回答,然后用过程奖励模型给每个回答打分,选出分数最高的作为答案。
“Let’s Verify Step by Step”里做的就是类似实验。在这种情况下,过程奖励模型仍然是非常好的选择,比只使用 outcome-based reward 更好。
但在大规模强化学习中,他们目前没有发现过程奖励模型有什么作用。如果只使用规则奖励就已经能够成功,那确实没有必要增加系统复杂性。
第二个失败方向是蒙特卡洛树搜索,也就是 MCTS。
MCTS 最早在 AlphaGo 和 AlphaZero 中大放光彩。它的思路是,一个任务可以一步步走,把每一步切分出来,像树一样展开。
比如现在走到某一步,下面有多个决策,可以走 A、B 或 C。MCTS 会人为构造这样的树,让模型在每一步进行分叉,尝试多个下一步。
MCTS 中非常重要的一件事是 value estimation,也就是评估当前这一步好不好、有没有前途、是否应该继续走。
模型会尝试多个方案,用价值函数判断哪个好、哪个坏。坏的停止,好的继续搜索,最后走到答案。
这个方法在围棋等领域非常有效,所以大家会在语言模型上进行很多探索。
但语言模型和棋类运动不同。围棋里下一步是什么定义得非常清楚,就是落子。语言模型中每一步可能只是一个语句,和过程奖励模型里的问题类似,很难定义一步。
而且语言模型是一个 token 一个 token 生成,搜索空间可能有一万个词甚至更大,成本太高。
你可以想象,一棵树可能有一万层,每一层都有上万甚至十几万个词。虽然很多分支可以剪掉,但整体搜索空间仍然非常大。
如果要剪枝,就需要奖励函数;而奖励函数又不稳定、难以估计,也不好训练。
DeepSeek 尝试了各种方法,但最后发现,在通用语言模型推理场景中,很难训练出足够精确的奖励函数。AlphaGo 的成功证明了在特定棋类场景中可以做到,但在通用语言模型里很难复现。
这就是 DeepSeek-R1 的主要内容。中间很多东西和 K1.5 异曲同工。接下来可以看看 K1.5,特别是它在数据构造、奖励模型和其他技术细节上的内容。
张小珺
所以 K1.5 的技术细节更多,更工程化?
潘佳怡
对。如果要复现,我觉得 K1.5 里有很多东西可以学习。有人说这两篇论文可以合在一起读,确实这样会比较舒服。
R1 的论文给了很多精妙的算法和发现,读起来像一篇非常优美的算法论文。但在技术细节上,它没有像 V3 那样公开很多内容,比如算力、超参数等都没有完全公开。
我们可以做一个 back-of-the-envelope calculation,估算 R1 的成本。
整个训练大约用了 1 万步强化学习。按照传统设置,每一步可能让模型生成大约 1000 个回复。每个回复满打满算有 1 万个 token,但这是训练后期才达到的平均值。
这样计算,整个训练会生成大约 1000 亿个 token,也就是 100 billion tokens。
这有多贵?其实没有特别贵。DeepSeek-R1 现在的 API 价格是每 100 万 token 2.2 美元。就算直接按照 API 价格购买这些 token,也只需要大约 22 万美元。
当然,DeepSeek 自己的成本肯定比 API 价格低很多。同时训练过程中还会有策略模型训练等开销。我们一方面极大高估了 token 价格,另一方面忽略了一部分模型训练开销,互相抵消后,数量级应该不会错。
所以最后的结论是,如果优化得足够好,R1 的训练成本可能十万美元就够了;就算往高了说,最多也就一百万美元。
相对而言,DeepSeek-V3 的预训练用了 530 万美元,R1 的后训练确实非常便宜,只用了不到预训练成本的 20%,甚至大约 2%。
当然,相对于之前聊天机器人后训练的成本,这已经有一到两个数量级的突破。
但这条扩展路线仍然处于早期。我们完全可以期待,后面投入越来越多算力,甚至有一天超过预训练算力,达到更好的结果。
张小珺
它现在的成本如果可以降低到十万美元、最高一百万美元,必须依赖 V3 吗?
潘佳怡
你的意思是,R1 的训练一定要依赖 V3?
张小珺
对。
潘佳怡
需要一个预训练模型,才能进行后训练。它们是相辅相成的。
张小珺
如果我自己没有做预训练,而是基于 V3 做强化学习,能够复现它的结果吗?如果我不是 DeepSeek 呢?
潘佳怡
我觉得一定可以。如果你有相应的数据,就可以复现成功。
张小珺
现在自己再去做预训练的必要性,是不是进一步降低了?因为已经有 V3 这样的模型了。
潘佳怡
要看公司处于什么阶段。如果你想像 DeepSeek 或 Moonshot 一样,目标是通用人工智能,显然希望每个环节都自己把关。
但如果你有明确目标,比如想在某个行业训练一个很好的推理模型,或者训练一个 agent,或者让模型在某个行业表现很好,那么后训练本身就够了。
有了 V3 这么强大的模型,而且未来可能会长期持续开源,在同样的资金和资源下,做后训练的收益应该更大。
张小珺
但如果我要追求 AGI,还是需要每一步都自己摸一遍。
潘佳怡
我觉得是。因为你做 AGI,可能会希望自己尝试预训练中的各种技巧,而不是等另一个厂商开源给你。你希望整个技术路线都由自己把关和推进。
张小珺
所以 R1 的成本,其实是建立在 V3 的投入之上的,不能只计算 R1 本身的成本。
潘佳怡
我同意。
接下来我们看 K1.5 的技术细节。K1.5 的训练逻辑更接近 R1,而不是 R1 Zero。它同样使用了一部分冷启动数据,也就是长思维链数据,先教会模型这些思维模式,然后再让模型自己探索、打磨和提高。
K1.5 对冷启动数据的构造写得稍微清楚一些。它希望覆盖几种能力。
第一是 planning,也就是规划能力。模型做事情之前,先画一个草图,想清楚先做什么、再做什么。
第二是 self-verification,也就是自我验证,模型能不能验证中间步骤是否正确。
第三是 reflection,也就是反思,模型能不能反思自己是否在正确路径上。
第四是 exploration,也就是探索。模型发现一条路径走不通之后,能不能自己绕到其他路径。
他们通过手写长思维链,直接把这些比较本质的推理模板交给模型,然后再进行强化学习。
整个任务设置和强化学习算法,和 DeepSeek-R1 比较类似:给模型很多回复,先算出哪些相对好、哪些相对差,对好的进行学习,坏的舍弃,同时确保当前策略不要离最初的参考策略太远。
张小珺
它用的不是 GRPO,对吧?
潘佳怡
对。它使用的是一个叫 “a variant of online policy mirror descent” 的算法,也就是 online policy mirror descent 的一个变体。
论文没有特别解释为什么不用 GRPO,但从目标和梯度来看,它和 GRPO 比较类似。我猜差别不会太大。
DeepSeek-R1 里我们看到,模型会不断增加回复长度。增加长度当然比不增加好,但如果模型已经能够解决问题,我们希望它不要太长。能用 500 个 token 解决,就不希望用 1000 或 2000 个 token。
K1.5 加了一个非常简洁的 length penalty,也就是长度惩罚。逻辑是:做错了,最好越短越好;做对了也很好,但希望更短。
所有回复都希望短一些,但如果做对了,仍然会给很大的奖励。你希望模型怎样,就把它写成规则告诉模型,它慢慢就会学会。
张小珺
这和 DeepSeek 不一样。它会影响输出长度吗?
潘佳怡
我觉得会。K1.5 的一个目标就是让输出尽量少。它们后来还做了一个从长思维链转成短思维链的模型,希望在保留高性能推理能力的同时,让回复更短、用户体验更好。
张小珺
但我感觉 DeepSeek 的输出一直比 Kimi 长,Kimi 的输出比较短。
潘佳怡
这个观察应该是真的。K1.5 在技术报告里明确提到,他们有意控制输出长度;DeepSeek 至少在报告中没有提到类似设置。
张小珺
但我感觉用户其实希望它多说一点。
潘佳怡
要看回答内容。
张小珺
DeepSeek 这一次明显让我感觉到它情商很高,有情绪价值。
潘佳怡
这个挺有意思。我没有特别意识到。
如果模型不仅直接和用户互动,也作为 API 被其他服务调用,那么在很多场景里确实是越短越好。这其中会有一些权衡。
K1.5 还提到一个技巧:模型每次 rollout 时,我们会给它一些题目,让它做,然后告诉它对不对。
DeepSeek 的论文没有说明题目应该怎么给。标准做法可能是有一个题库,每次随机抽取。
K1.5 尝试了 curriculum sampling,也就是课程学习。刚开始给模型简单题,能力提升之后再给更难的题,或者一直给模型有一定概率做对、但不能完全轻松做对的题。
也就是说,让题目难度和模型能力匹配,这样模型学得更快。
另外,K1.5 在某些方面比 DeepSeek 更全面,因为它是多模态模型,支持视觉输入。它的数据构造不仅包含文本,也包含视觉数据。
代码任务中,他们会构造问题、算法答案和 test case,用自动生成器生成小程序和 unit test。运行 test case,就能知道写出的算法是否符合要求,从而获得代码任务的可验证性。
数学任务则更复杂。规则奖励很难覆盖所有数学问题,比如证明题很难直接写出规则判断对错,这时需要神经网络奖励模型。
他们测试了两种方法:传统奖励模型,以及思维链奖励模型。
传统奖励模型的输入是问题、模型回复和标准答案,然后输出答案对不对。它可以从一个语言模型开始,把模型的激活值接到一两层 MLP,再接 softmax,预测答案是对还是错。这是传统 RLHF 奖励模型的做法。
传统奖励模型的精度大概是 84.4%。
另一种是思维链奖励模型。这是去年 Google 和斯坦福研究人员提出的方法。
语言模型本来就是为了生成语言而优化的,而且思维链可以提升回复质量。那为什么不把奖励模型的任务也变成思维链任务?
他们把问题、标准答案和模型答案输入奖励模型,让它先生成一段思维链,自己分析模型答案和标准答案的差别,判断哪里正确、哪里有错误。
这样做之后,性能明显提升。他们构造了 80 条标注好的思维链奖励模型样本,用这些样本微调 Kimi 模型。
传统奖励模型的精度是 84.4%左右,使用思维链奖励模型后直接提升到 98.5%。错误率从 15%下降到 1.5%,效果非常漂亮。
我觉得思维链奖励模型这条技术路线非常 promising,后面大家可能都会往这个方向发展。
张小珺
这个是 DeepSeek 里没有写的。
潘佳怡
对。DeepSeek 主要使用规则奖励函数,没有使用奖励模型。
K1.5 也提到了一些视觉数据的构造。一个方面是从现实生活中收集数据,另一方面是合成数据。
比如数据集里有图片标注,说图片上面是一个球,下面是一只狗。基于这些标注,就可以合成“上面是什么”“下面是什么”的问题,得到需要多步推理的空间关系数据。
还有一种是文本渲染数据。用户可能把代码或文本以 PDF、截图的形式交给模型。为了让模型处理文本和截图时保持类似性能,他们会把文本转换成截图形式,加入后训练数据,让模型学习视觉处理能力。
接下来是 RL training 架构。这部分和现在开源框架以及大厂内部架构的差距相对较小,因为已经有其他大厂公开了类似内容。
比如字节的 Volcano Engine RL,也就是 VERL,还有社区的 OpenRLHF。这些框架和 Kimi 展示的架构比较类似。VERL 的内部版本据说支撑了字节自己的长思维链模型训练。
强化学习大致分为几部分:需要训练 actor,也就是策略模型;如果用 PPO 而不是 GRPO,还需要 value model;策略模型要根据问题生成很长的思维链,这个阶段叫 rollouts;同时还需要 reference model,计算参考概率,并在训练时约束策略不要偏离太远。
这是一个比较复杂的 workload,有的阶段要训练,有的阶段要推理,还要同时管理多个模型。
现在的共识是,用类似 Ray 的框架调度这些任务。训练时使用训练框架,比如 Kimi 使用的 Megatron,也可以使用 FSDP。做 rollout 时,再把训练框架的参数传到推理框架,比如 vLLM 或 SGLang。
训练时使用训练框架,推理时使用推理框架,二者之间来回调度。训练切换到推理时,需要把训练时模型参数和优化器的占用挪到 CPU,腾出显存。
而训练和推理的参数切分方式可能不同,所以要先收集完整模型参数,再发送到推理服务器。推理完成后,再释放推理服务,让训练框架继续工作。
这里有很多技术细节。无论是 Kimi、DeepSpeed 还是其他开源框架,性能都还有很大的提升空间。之后训练效率再提高 50%甚至 100%,我都不会意外。
Kimi 还提到一个比较巧妙的技巧,叫 partial rollouts。
语言模型的输出长度差别很大,最长可能一万或几万个 token,最短可能一百或一千个 token。如果有 1000 个问题,等全部问题回答完再训练,就会一直等最慢的那一个。
大部分回复已经生成完了,但有一个要生成 1 万个 token,整个推理引擎就必须等它,batch size 实际上会被拖慢,集群利用率很低。
Kimi 的做法是设置一个 threshold,中间截断比较长的生成。到阈值时,没生成完的就先停掉,下一轮再继续生成。这样可以减少气泡,也不会让最长的生成拖慢整个 pipeline。
我觉得这会成为后面非常标准的技巧。
此外,规则奖励、代码 test case,以及思维链奖励模型本身可能都比较重,有一定延迟,所以他们还会进行异步调度,提高奖励计算的吞吐量,降低延迟。
这些技术细节在复现时都非常有用。
张小珺
如果要拎出几个重点,核心但容易被掩盖的点会是什么?比如刚才讲的思维链奖励模型。
潘佳怡
思维链奖励模型显然是一个重点。我觉得 K1.5 可能是第一个大规模展示思维链奖励模型非常好用、效果非常好的公开工作,大家后面可以沿着这个方向研究。
同时,它还讲了很多训练小技巧,包括实际遇到的问题和解决办法。
大家希望长思维链模型在推理时仍然高效、延迟较短,所以 K1.5 讲了如何减少思维链长度;它还讲了强化学习基础设施怎么设置,partial rollouts 如何避免长生成成为训练吞吐量瓶颈,以及异步测试等细节。
对于想复现或者了解这条技术路线的人来说,这些细节都很有意思。
接下来讲 long-to-short。意思是,现在有长思维链模型,但 Kimi 可能主要面向用户,担心用户觉得等待时间太长,所以尝试把思维链变短。
他们尝试了几种直接可行的方法。
第一种是模型融合。你有一个模型 A 和一个模型 B,它们基于同一个 base model 训练,只是后训练方式不同。你可以把两个模型参数加起来再除以二,或者做加权平均。
如果两个模型基于同一个基础模型,参数空间的语义就比较一致,可以进行融合。
他们有一个短思维链模型,也有一个长思维链模型。把二者合起来之后,可以得到一个思维链较短、但推理能力较好的模型。
第二种是拒绝式采样。模型输出 10 次回答,其中可能有 6 次正确,长短不一。他们每次挑选正确答案中比较短的,再把这些数据训练回模型,让模型学会生成更短的回答。
还有 DPO。DPO 的思路是,有一堆好例子和坏例子,告诉模型学习好的、远离坏的。在这里,可以把短回复作为好的,把长回复作为差的,让模型逐渐偏向短回复。
最后是 long-to-short RL。通过长度惩罚,让长回复受到惩罚,鼓励模型生成更短的回复。
实验得出两个主要结论。
第一,回复通常越长,模型性能越好,这和 test-time scaling 有关。使用更多推理时算力,性能会提高,而且效果近似线性。
第二,他们把能想到的方法都试了一遍,发现都有效,但最后 long-to-short RL 是最佳方法。在相同 token 数量下,它的效果更好;或者说,达到相同效果时,它更 token efficient。
张小珺
所以在 long-to-short 上,目前看最优的是强化学习。
潘佳怡
对。
K1.5 还有一些非常有意思的消融实验。
第一个是模型大小和性能的关系,以及模型大小和思维链长度的关系。
如果思维链长度一致,模型越大,效果当然越好。但如果小模型可以通过生成更长思维链的方式,和大模型的性能相媲美呢?
如果瓶颈只是推理时能够使用多少算力,那么小模型生成更多思维链,可能可以和大模型竞争。大模型在同样算力下只能生成更短的思维链,不一定能赢。
这对小模型和用户自己部署模型非常有利。未来也许手机上一个几 B 的模型,通过生成超长思维链,就可以和服务器上几百 B 的模型相媲美。
第二个消融实验,是比较不同强化学习算法。
K1.5 和 DeepSeek 的强化学习,大致做两件事:不要离初始策略太远;做得好就鼓励,做得差就让它少做。
还有一种更简单的算法叫 ReST,也称为 STaR 或 filter-based rejection sampling fine-tuning。方法是让模型尝试 100 次,其中 30 次答对,就把这 30 次挑出来做 fine-tuning。下一轮在新模型上继续 rejection sampling,再把正确的样本拿来训练。
它和 K1.5、R1 的区别是:它没有约束模型不要离初始策略太远,也没有通过负向梯度告诉模型“不好的东西不要学”,只是告诉模型“好的东西要学”。
实验显示,ReST 类方法效果差很多,test-time scaling 和强化学习几乎没有明显增长,有时只提高三四个点;而 K1.5 或 R1 的强化学习可以提高十几到二十个点。
大家猜测,主要原因是 ReST 没有 negative gradients,也就是没有告诉模型不好的东西不要做。告诉模型哪些东西不该做,可以让策略更有效地向新的好策略迁移。
这说明,一个好的优化算法非常重要。当然,OpenAI 内部是不是有别的算法,或者 PPO、GRPO 的某个变种,还需要时间给答案。
最后,K1.5 还实验了 curriculum learning。如果给模型难度和自身能力匹配的题目,学习会更快,也会学得更好。
这就是 K1.5 里基本所有的实验。
DeepSeek 在 conclusion 里还提到了未来方向。
第一,R1 目前仍然处于比较早期,一些能力还没有充分照顾到,比如 function calling、使用外部函数,多轮对话,多轮工具调用,复杂角色扮演,以及 JSON 这样的结构化输出。
R1 没有针对这些任务做足够优化,所以表现可能不够理想。后面如果加入相应的数据和技术,应该能够快速提高。
第二,即使做了 language mixing 的惩罚,模型有时仍然会切换语言,尤其是使用非中文、非英文语言时,可能仍然会切换到英文。后面希望解决这个问题,提升用户体验。
第三,这类模型的 prompt engineering 和传统聊天机器人不太一样,用户需要适应。
比如对于推理模型,直接把完整问题和要求一五一十地告诉它,可能比只给几个例子更好用。用户需要迁移使用方式,模型厂商也要让提示词更加鲁棒,不那么挑剔。
最后是软件工程任务。这和我做的事情比较接近。
R1 目前主要针对竞赛题:问题比较短,可能写一个 100 行左右的函数,再看答案对不对。
但软件工程任务,比如 SWE-Bench 或 MLE-Bench,会复杂得多。任务可能是在 GitHub 上给一个 issue 或 pull request,模型能不能自主解决问题,提交一个 PR,并通过所有 test case。
或者在 Kaggle 竞赛中,给模型一个电脑和数据,看它能不能自主完成任务,拿到银牌或金牌。
这种任务的代码库复杂,不是输出 100 行代码就结束了,可能需要不断修改、运行实验、检查结果,更接近 agent 的设定。
目前强化学习还没有充分应用到这种场景。后面他们希望在软件工程上进行拒绝式采样或强化学习,但强化学习延迟会非常高,因此可能需要异步训练,保证效率。
张小珺
如果大家感兴趣,也可以看一下你和合作者做的工作,SWE-Gym。这个工作在哪里可以找到?
潘佳怡
它是公开的,直接搜索就可以。这个应该是这方面的第一篇工作,而且我们有一些非常漂亮的 scaling results。之后我可以贴一个链接。
张小珺
你有没有计算过 Kimi K1.5 花了多少钱?
潘佳怡
我觉得应该和 R1 是一个数量级。当然 Kimi 没有告诉我们模型大小,但效果相似,成本应该也差不多。
张小珺
这就是几篇报告的全部内容,对吧?
潘佳怡
对。
张小珺
我们刚才相当于做了一次预训练,接下来强化学习一下。我来问几个问题。
我听下来,这次不管是 R1、R1 Zero 还是 Kimi K1.5,核心突破还是算法突破。大家常说 AI 驱动三要素是数据、算力、算法,这次核心突破还是算法,对吗?
潘佳怡
我觉得是算法突破,但这个算法突破建立在之前积累之上。
如果用更老的模型,比如 Llama 1 或者规模更小的模型,可能做不出 R1 或 K1.5 这样的效果。模型发展到当前阶段之后,我们才发现强化学习能够做成,算法突破是在这个基础上发生的。
张小珺
上一次闭门会的时候,大家还在讨论,DeepSeek 带来的震撼不是开源或者低成本,而是不需要做 SFT。刚才我们好像没有特别多地讲 SFT,也就是监督微调。
这会带来一个新的范式或架构吗?
潘佳怡
我觉得不一定。
之前的 SFT 或 RLHF 里的 SFT,通常是一个比较大规模的过程,可能需要几千、几万,工业界甚至可能需要 100 万条左右的 SFT 数据。
但 R1 和 K1.5 都说自己使用的是少量、少而精的 SFT 数据。它的收集成本没有那么高,未来可能也不会很高。
少了大规模 SFT 数据标注,当然是好事。但如果要在这个模型上进行强化学习,还需要另一种数据:问题和答案。
这种数据也可能需要很大的人力成本。现在模型已经很聪明了,要收集足够难的问题,可能不能只找普通标注人员,而需要各个方向的专家、博士生或硕士生。
以后标注的数据类型可能会慢慢发生变化,但数据标注仍然非常重要。
张小珺
DeepSeek、Kimi 和 OpenAI,在解决数据标注问题上有什么不同吗?
潘佳怡
他们都把这件事藏得非常深,没有怎么展开。这也说明,数据可能是他们最重视的方面之一。
我知道一些消息,OpenAI 一直会以每小时 100 美元、200 美元的价格,找博士生等专业人士帮他们标注数据。因为他们需要的问题可能非常难,而且涉及专业领域,后面需求可能还会越来越高。
张小珺
具体是怎么做的?能不能描述一下,比如一个博士生帮他们标什么数据?什么样的数据会被标成好数据?
潘佳怡
我没有亲自做过,但可以从这些报告里大概推测。
首先,问题要是一个非常难的推理任务。如果问“一加一等于二”,模型本来就会,训练价值很低。问题需要有一定难度,让模型能够在上面学习。
其次,希望它覆盖一定的专业知识,锻炼模型在专业领域的能力。
另外,也希望它和用户需要的能力相关。
最标准的形式,可能是问题、解题思路和答案这三个元素。理论上模型训练时只需要问题和答案,但为了防止答案乱写,或者因为解题思路之后还有其他作用,通常仍然会收集解题思路。
这只是推理模型第一阶段需要的数据。后面如果要做智能体或多轮工具使用,数据会更加丰富。
比如模型如何一步步开发一个软件;在代码库里完成什么任务;如何写 test case;或者要写一份行业调研报告,就需要真实的行业报告作为 reward,教模型什么是好的行业调研报告。
张小珺
可以把这些数据标注人员理解成 AI 教练、AI 培训员。
潘佳怡
完全可以。
这也是目前技术路线的一个瓶颈:它还没有那么 Zero。模型学到这些能力,仍然依赖人类先创造环境。
R1 Zero 是一个非常干净的设置,可以研究 test-time scaling。但如果真的要做通用人工智能,肯定希望少接受人的监督,比如变成自监督或弱监督,把整个互联网或者离散、没有经过人为组织的数据,作为监督信号。
这应该是大家接下来工作的目标。
目前有一些技术路线有一定可行性,比如 self-play,也就是自博弈;还有思维链奖励模型,都可能帮助我们往这个方向走。
张小珺
这些 AI Lab 需要的数据标注人员,大概需要多大规模?
潘佳怡
这个我不太清楚。K1.5 和 R1 里有一些相关信息。
K1.5 在 appendix 里写了贡献者,其中大概有 20 个人负责数据标注。可能可以从这里了解一些。
张小珺
有人说读完 DeepSeek 的论文,感受是它使用了很多节约硬件开销的技术。你觉得是吗?能不能展开讲讲?
潘佳怡
R1 本身其实没有公开很多技术细节,所以我看不出它有什么特别节约硬件的技术。
如果要说,可以提 GRPO。因为它不需要价值模型,所以相比标准 PPO,肯定更节约硬件。
但 R1 本身没有特别体现这一点。V3 则确实有很多漂亮设计,极致地榨干了训练和推理效率。
张小珺
DeepSeek 的上下文能力提升得很快,输出也非常长。
潘佳怡
你可能是在和 K1.5 对比。K1.5 花了相当篇幅讨论如何把思维链砍短,这是它的一个选择。可能和这个有关。
张小珺
能够看得出来 DeepSeek-R1 和 R1 Zero 是在多少张卡上做出来的吗?
潘佳怡
这个很难看出来,但应该不会特别多。
如果在 100 到 200 张卡上,可能可以训练这样的模型。但 V3 是很大的 MoE,有 600B 级别的参数,可能需要几百张卡训练,我完全不会意外。
张小珺
数据蒸馏现在看是一条可行的路,对吧?
潘佳怡
对。OpenAI 也提到过,o1-mini 说明数据蒸馏是让小模型变强的一条非常好的路线。
但只蒸馏可能还不够。R1 的实验说明,蒸馏之后再做一些强化学习会更好。
蒸馏本身已经被证明是非常有效的提升小模型性能的路线。
张小珺
蒸馏会带来什么坏处吗?比如把智能再次压缩之后,会不会变得笨一些?
潘佳怡
如果把蒸馏模型和老师模型比,肯定会差一些。
另外,如果是一个蒸馏后没有再做强化学习的模型,相比正常的小模型,它可能会有更多幻觉。
因为蒸馏时老师说什么,学生就信什么。比如老师模型既会中文又会英文,你把它蒸馏给一个只会中文的模型,同时把英文数据也给它,那么小模型其实学不会英文技巧。
实际逻辑太复杂,少量数据不够它真正学会。但它可能观察到回答开头经常是 “I” 或 “You”,于是模仿一些很浅层的模式,出现奇怪输出和幻觉。
这也是为什么建议蒸馏之后再进行一轮强化学习。
张小珺
你一直说 DeepSeek 的报告非常干净、漂亮,是一个很好的爆款报告。为什么 DeepSeek 的论文能够爆,Kimi 却没有爆?
潘佳怡
这和我们刚开始说的有关。
第一,DeepSeek 一直有开源文化,在国内外有很多自发传播者和研究人员关注它,整个开局就更好。
第二,它一直开源模型,包括 R1。大家可以拿到模型自己玩。如果 K1.5 这个多模态推理模型开源,大家肯定也会很喜欢。
另外,报告写法也不同。K1.5 讲了非常多有用的技术细节,但如果从感受技术之美的角度看,它不一定能带来那么大震撼。
DeepSeek 的报告隐藏了很多技术细节,可能也是出于商业考量,但它把算法本身的精妙之处、技术之美展现出来了,所以更加震撼。
张小珺
你一开始说,看完报告之后非常兴奋、非常惊喜。最让你兴奋的一点是什么?
潘佳怡
一个是算法,另一个是范式的变化。
o1 之后,大家都非常兴奋,因为发现除了预训练之外,还有 RL training 和 test-time scaling。但大家探索了几个月,都没有找到这条路线究竟应该怎么做。
R1,特别是 R1 Zero,相当于把这条训练时、后训练以及推理时扩展的路线解密了。
看完文章,你大概能想到这条路线接下来会怎么变化、会走向哪里、自己可以做什么。突然有了一个新的东西可以玩,当然会很高兴。
而且算法本身也非常干净。你会想,原来它就这么简单,之前为什么把事情想得那么复杂,没有很好领悟所谓的“第一性原理”。
张小珺
o1 可能是因为没有开源,所以大家不知道它怎么做。
潘佳怡
对。R1 把它公开了。
张小珺
你自己在复现过程中,遇到过什么困难或者 tricky 的地方吗?
潘佳怡
复现其实非常顺利。我写了几个小时代码,第一轮就跑通了。
当然,复盘来看,也有一些原因。最大的一个问题是,我们是在比较小规模的任务上复现的,所以结论可能不够通用。下面只说我们在小规模任务上观察到的现象。
第一,模型基础能力要和任务匹配。
我的猜测是,如果拿一个 7B 模型,哪怕是 DeepSeek 的 7B,去跑这个实验,可能看不到很好的强化学习 scaling,也看不到明显的 test-time scaling 曲线。
但我们拿 3B 模型,配合简单得多的任务,就能看到强化学习学到新的 reasoning,也就是复杂推理模式。
这可能是一个涌现现象,需要模型本身达到一定能力阈值后才会出现。否则,可能就像之前很多研究员,包括我去年一样,尝试过类似方案,却观察不到这种现象。
张小珺
它让整个过程变得更直观了。
潘佳怡
某种程度上可以这么说。
现在也有人对 R1 Zero 有抱怨或怀疑,认为它可能是因为预训练时混入了某些标注数据才做到的,这个问题还在争论。
但如果 R1 的报告是真实的,整个事情就很干净、很直观:模型足够强时,做强化学习就能 work。
张小珺
所以,优美的算法或者优美的技术,往往是最简单、最干净的技术,是吗?
潘佳怡
是的。看来这件事一直都是真的。
张小珺
你刚才说“范式革命”。但 R1 还是沿着 o1 的路线走,对吧?它没有新的转弯或拐点。
潘佳怡
对。我说的范式革命,是指 R1、o1 以及后续这条路线。
预训练在某种程度上已经比较成熟了,但后训练才刚刚开了一个新坑。你可以看到,o1 到 o3 只用了几个月,进展就这么大。
开源社区和几家厂商肯定还会有很多新问题可以探索。比如怎么把它拓展到其他领域,怎么减少对人的依赖。这些都非常值得研究。
当这些问题解决之后,模型能力可能又会出现很大飞跃,可以做很多有意思的事情。
张小珺
后训练的 scaling law,现在看起来增长曲线陡峭吗?
潘佳怡
按照 OpenAI 研究员的路线,他们觉得会非常陡峭。
原因是现在后训练用的算力和预训练相比仍然是毛毛雨。只要算法正确,就可以每几个月把算力提高 10 倍,再提高 10 倍。
因为当前算力基数很小,增加 10 倍就能在 scaling law 上前进很多,所以进展会很快。
更准确地说,这个范式还处在非常早期。后面算法革新让 scaling law 变得更陡峭,这件事一定会发生,而且可能非常夸张。
也许一两年之后,R1 现在的性能,只用一台 DGX 或几台 DGX 就能复现,我也不会特别意外。
预训练目前确实遇到了一些门槛。我们刚才说 GPT-5 可能已经憋了快两年,虽然今年也许会出来,但从 GPT-4 之后,我们还没有看到下一个非常大的、革命性的基础模型突破。
预训练的 scaling law 因为成本太高而放缓;后训练目前成本很低,可能只有预训练的 2%或几个百分点。只要算法和数据到位,就可以继续推进,所以后训练应该会有非常大的突破。
o1 在数学推理 benchmark 上的提升,从 20%到 80%左右,就是非常大的突破。
张小珺
我们刚才说 DeepSeek 的报告受到很多关注,而 Kimi 的报告关注少很多。如果 Kimi 改变一下报告写法,你觉得有可能引发更高关注吗?会让读者的 aha moment 更强吗?
潘佳怡
Kimi 团队非常棒,我没有特别好的建议。
从读者角度来看,K1.5 可能缺少一个 aha moment 的爆点。这也是 R1 和 K1.5 在报告质量上最大的区别。
当然,Kimi 可能选择了稳扎稳打的战略,也可能确实没有发现 R1 Zero 这样的现象。
R1 能成为爆款,很大的理论原因就是 aha moment。这个东西看起来非常有意思,大家愿意讨论。
张小珺
我在使用 DeepSeek 时,明显感觉到它情商很高,经常会给我发表情,其他模型很少这样。它会发很多表情,让人喜欢和它互动。你觉得这是怎么做到的?听说 DeepSeek 找了很多北大中文系的人做标注,会和这个有关吗?
潘佳怡
可能有关。
这和后训练时奖励函数怎么调,以及数据怎么标注有关,都是可以调的价值对齐方式。
我自己也在小红书等地方看到一些有意思的沟通案例。DeepSeek-R1 或 V3 的回复确实比较有意思,中文理解能力很深,也会使用表情。
这些应该是它在后训练、RLHF 或类似阶段做价值对齐时的一些“秘方”,可能在标注上有一些小要求。
也许梁文峰在某个数据标注要求里加了一条:标注员倾向于给出更浪漫的回复。这样就可能导致模型出现现在这种输出风格。
张小珺
全球对 DeepSeek 来说都有巨大的流量,用户数据高歌猛进。你觉得这些用户数据对模型进一步增强有帮助吗?
潘佳怡
这是个很好的问题,也是外界比较不清楚的一点。
从目前来看,用户数据至少在现阶段没有带来特别大的帮助。比如 Anthropic 和 ChatGPT 之间并没有因为用户数据拉开明显差距;国内厂商也可以很快建立标注团队,追上来。
目前看,用户数据当然多了是好事,但多 10 倍、多 100 倍,并没有明显转化成更好的用户体验。
以后可能会不一样。比如 ChatGPT 有 Live Screen Share,用户可以把电脑投给 ChatGPT,OpenAI 能收集用户如何操作电脑、如何使用软件的数据,这种数据可能会产生不同影响。
但在现在这个阶段,还没有观察到用户数据帮助某个厂商建立稳定护城河。
张小珺
你觉得 DeepSeek 会 beat OpenAI 吗?
潘佳怡
梁文峰是一个非常有意思的人。从他的事业和决策来看,至少在 AI 领域,我觉得他可能比 Dario Amodei 或 Sam Altman 的决策更加清晰。
但要说 beat OpenAI,OpenAI 的护城河也很深。我相信 DeepSeek 能做出更多创新,但以它现在的资源投入量来看,要彻底打垮 OpenAI,可能还有一定距离。
张小珺
现在 OpenAI 的护城河有哪些?
潘佳怡
第一,算力非常充沛。现在它手上可能有几十万张 H100,应该比较容易做到。它还有 Stargate,目标是在几年内拿到几百万张 B100、B200 这样的显卡。
在国内,包括 DeepSeek,可能和这个有一到两个数量级的差距,这很难弥补。算力是国内整个行业都需要思考、必须解决的问题。
第二是组织能力。
可以对比 DeepSeek、OpenAI 和 Meta 的 GenAI 组织。Meta 现在被普遍认为,虽然有很多非常出色的研究员,但由于组织管理、层层官僚体系和 KPI 考核,创新和产出都比较糟糕。
比如 Llama 3 现在已经比较落后,架构上也没有明显创新。DeepSeek 爆火之后,Meta 还成立了几个 war room 进行研究讨论。
它们资源很多,但没有把资源转化为创新和技术,内耗严重。
DeepSeek 则是另一个特例。它的资源相对来说,我相信在国内也不是最丰富的大厂之一,但能做出非常漂亮的工作,至少在这个时间点做出了最先进的模型之一。
这说明它的组织、管理,以及把资源转化为创新的能力非常突出。
OpenAI 在这方面也相当出色,目前没有明显落后,所以它的组织护城河也很强。
张小珺
像你和你的同学们,毕业以后会倾向于去硅谷的 AI Lab 工作,还是会有回国的打算?PhD 毕业后的考虑是什么?
潘佳怡
现阶段,大家可能会觉得,回国之后再回到硅谷有一定难度,包括一些政治因素的影响。
所以从我现在了解的师兄师姐情况来看,大部分人可能会先去硅谷闯几年,闯出一些名声,之后再看着办。
张小珺
好啦,这期节目就是这样。如果你喜欢我的节目,欢迎前往小宇宙、苹果 Podcast、腾讯新闻、喜马拉雅、QQ 音乐订阅《张小珺商业访谈录》。如果你有其他想邀请的嘉宾、想听的内容,或者你有任何想探讨的话题,都欢迎各位听众朋友们在评论区里留言。那我们下期再见,拜拜。