Kimi 智能助手 2025-02-17 08:02 北京
训练模型能够像我们人一样思考,自由地思考!
这个 k1.5 模型和技术报告①是我们的结果,那么相信大家也想知道一些思考过程吧,哈哈。所以这里主要想和大家分享一下复现 o1 的一些关键思考过程,也就是我自己的 Long Chain of Thoughts。
One thing that should be learned from the bitter lesson is the great power of general purpose methods, of methods that continue to scale with increased computation even as the available computation becomes very great. The two methods that seem to scale arbitrarily in this way are search and learning.
Sutton 早就揭示了一切呀。接下来这张来自 Hyung Won Chung 的 Don't Teach, Incentivize。这个带来的启发就更大了:图片来自:https://x.com/hwchung27/status/1800676312916656592Hyung Won Chung 为什么特别强调这个呢?Structure,什么是 Structure?MCTS(蒙特卡洛树搜索)是一种 structure,A*⑨是一种 Structure。当我们人为加了点 inductive bias ⑩进来强求 LLM 按我们要求的格式进行思考,那么这种思考就是结构化的。而基于我们前面对 o1 的观察,我们就可以把两件事联系在一起了:注释⑨ A* 算法(A-star Algorithm)是一种经典的启发式搜索算法,广泛应用于路径规划、图搜索和人工智能等领域。注释⑩ inductive bia:归纳偏差可以理解为算法在面对不确定性和不完整信息时,所采用的“先验知识”或“启发式规则”。o1 没有限制模型如何思考!这点非常非常关键!因此我们已经可以基于此排除一些带 structure 的工作了,MCTS(蒙特卡洛树搜索)就没必要探索,因为一定不 work。特别的:现在的各种 Agentic Workflow ⑪就是各种带 structure 的东西,它一定会限制模型的能力。注释⑪ Agentic Workflow:智能体工作流是一种利用人工智能智能体(AI Agent)来自动化执行复杂任务的工作流架构。它通过将任务分解为多个步骤,并利用AI智能体的自主决策、规划和协作能力来完成任务。所以,其实我们还可以直接得出一个结论:Agentic Workflow 只有短期价值,没有长期价值!早晚会被模型本身能力取代掉。All in All 我们就是要训练模型能够像我们人一样思考,自由地思考!然后,Noam Brown 还有一张 ppt 也蛮重要(视频:49:44):从这个惨痛的教训中,我们应该领悟到通用方法的强大力量——这些方法即使在可用计算资源变得极其庞大的情况下,仍能随着计算能力的提升而不断扩展。搜索和学习这两种方法似乎能以这种方式无限扩展。
未来研究Planning 是学术研究的一个相对较好的领域!这个非常直接地告诉我们:去做有精确 Reward 的 RL!不要被 Reward Model 给限制住了。之前 RLHF ⑫相信做过的同学都知道这是一件非常麻烦的事情,因为 Human Preference (人类偏好)并无法精准的建模,训的 Reward Model 又很容易 reward hacking,lilian weng 都专门写了个 blog 来讲这件事:大公司更倾向于高前期成本和低推理成本 考虑在一个有外部验证器的领域做研究避免因奖励模型质量而受限
⑫RLHF(Reinforcement Learning from Human Feedback)是一种结合人类反馈与强化学习的训练方法,通过人类偏好数据优化模型,使其输出更符合人类期望。所以,如果 reward 都不准确的话,那么要做 RL 就很难 work。RL 的 performance 完全取决于 reward。这不禁就回想起以前做 robot locomotion,game ai 的时候,一堆的 reward shaping⑬。⑬Reward shaping 是一种强化学习技术,通过调整原始奖励函数,将领域知识或先验信息融入学习过程,从而加速智能体的学习速度,帮助其更快地收敛到最优策略。信息到这里就很明显了:做题,做题,还是做题!做有标准答案的题,刷起来!math 和 code 就是很直接的两个有标准答案的方向,OpenAI 也是往这上面刷,那么我们当然就往上面刷呗。怕 context 太长,导致遗忘,我们在这里确认一下前面得到的关键信息:要训练 LLM 通过 RL 做题,有精确 Reward不要采取结构化的方法,最终会限制住模型的效果,要让模型自己探索思考范式。思考包含了搜索过程,允许犯错。好了,接下来我们需要解决如何用 RL 训练 LLM 通过 Long-CoT 做题这件事。很多同学可能会想:那就用 PPO⑭ 呗!⑭PPO(Proximal Policy Optimization,近端策略优化)是一种强化学习算法,通过限制策略更新的幅度来提高训练稳定性,广泛应用于大语言模型的微调,尤其是在人类反馈强化学习(RLHF)中。问题没有这么简单。Long-CoT 对问题的建模产生了很大的变化。o1 实际上是把 in context RL 的完整 trajectory ⑭当做一条 message 给训进去了。如下面的 code:⑮在强化学习中,trajectory(轨迹)是指智能体在环境中从初始状态开始,按照策略行动所经历的一系列状态、动作和奖励的序列,用于描述智能体的行为路径和交互过程。什么是 In Context RL 呢?不了解的同学可以看这边:In-context Reinforcement Learning with Algorithm Distillation(arxiv.org/abs/2210.14215)简单地说,就是模型做 next token prediction 的过程本身就是一个 RL 探索过程。模型做一个题,在 Long-CoT 下,实际上在做什么呢?实际上也在学习做这个题,它输出的整个轨迹就是:s1,a1,r1,a2,r2,a3,r3,.....其中 a 可以认为是一种解决方法,可以看做 action,而 r 就是 reward,但这里是模型自己做 reflection 得到的 reward,所以我说它是自带 critic/world model 的 in context RL。最近有相关 blog (Optimizing LLM Test-Time Compute Involves Solving a Meta-RL Problem https://blog.ml.cmu.edu/2025/01/08/optimizing-llm-test-time-compute-involves-solving-a-meta-rl-problem/)也终于说了这件事,大家也可以看看。但它没有提到 self-critique⑯这个问题。注释⑯:Self-critique 是强化学习中的一种自我评估和改进机制,主要让 AI 代理能够评估和反思自己的决策和行为。所以这个事情变复杂了呀。如果把 Long-CoT 输出建模成 in context RL with self-critique,那么我们怎么优化它呢?首当其冲的问题就是每一句话的 value 是多少?然后你会发现这个 value 已经非常难以估计了。举个非常简单的例子:计算 1+1=?然后模型输出 1+1=3,不对,1+1=4 呢?也不对,因为 4-1=3。那么 1+1=1 呢?不对,因 1 不等于 1-1=0..... 哦对了,左手有一颗糖,右手也有一颗糖,左手的糖放到右手,那么我右手有两颗糖,我知道了,1+1=2你会发现:如果模型不会反思,那么犯错了就是错的,value 就会是负值。但如果模型会反思,那么只要知错能改,最终是对的,那么这些错误都不算错误。value 就不应该为负。由此,我们进入了 Value 的混沌态,Value 很难估计了。这让我想到了人生:o1 即人生。人生就是一条有限的串行轨迹,各种探索,各种犯错,然而除了杀人放火你无法评价某种犯错/挫折的价值会是好还是坏(比如 steve jobs 可以被自己创立的公司解雇),最终的结局都取决于自己的目标。所以,我们可以从逻辑上判断我们不要训 value,不要搞 PRM⑰ 了,因为不会准的。注释⑰ PRM(过程奖励模型)是强化学习中的一种奖励机制,通过对生成过程的每一步进行打分,而非仅关注最终结果,从而引导模型学习更优的推理路径。所以,看起来用强化学习(RL)训 LLM 通过 Long-CoT 做题这个问题变简单了:不管模型中间做错了什么,只要不是重复的,那么最后模型做对了,我们就认为这是一个好的探索,值得鼓励。反之,如果模型一顿探索,最后做错了,那么再努力也是错,要惩罚。我们把问题变成了 Contextual Bandit⑱的问题。那么我们就可以用 REINFORCE 的变种来做啦。注释⑱:Contextual Bandit(上下文老虎机/情境赌博机)指的是一种机器学习中的决策模型,属于强化学习的一个分支。它的核心思想是:在动态环境中,根据当前的情境(上下文信息)选择最优动作(决策),并通过部分反馈(仅获得所选动作的奖励)不断优化策略。上面这就是最基本的 REINFORCE 的公式,简单的说就是做对加梯度,做错减梯度。当然,我们需要让训练更稳定,所以可以加 KL⑲,加 reward 的 normalization 等等一些小 trick,具体可以看下 paper(https://arxiv.org/abs/2501.12599)。但基本的思想就是这么简单。注释⑲:KL 指的是 KL 散度 (Kullback-Leibler Divergence),也称为相对熵,是衡量两个概率分布差异的一种方法。有了基本思路,那么剩下的就是实操了。但这里其实还有一个重要问题:Long-CoT 是如何变长的?这可能是最关键的事情。惊喜的是在我们实际训练的过程中,我们有了重要的发现:模型会随着训练提升 performance 也不断增加 token 数!也就是这是 RL 训练过程中模型可以自己涌现的!Fantastic!这个和友商 Deepseek 的发现几乎是一样的。看到他们直接做了 zero-sft 的 RL,也是挺 impressive!OK,理清了整个思考过程,也是不容易。感觉自己像个 AI,哦不,是 AI 太像人了。我们的思考还在继续,那么未来呢?ok,还有 o3 在前面,还有很多路要走。AGI(Artificial General Intelligence,通用人工智能)确实就是近在眼前的事情,这个 Sam Altman 没有乱说。那么 ASI (Artificial Super Intelligence,超级人工智能)呢?我重新开始思考 ASI。其实对于做强化学习(RL)的人来说,从来都不会把 AGI 作为目标呀,因为 AlphaGo,AlphaStar 已经验证了 RL 可以做 superhuman 的事情了,那么现在不过是把场景搬到了现实世界。给 AI 一个可衡量的目标,然后让其自己去探索,然后通过 RL 提升模型,仅此而已。未来不过是把这个过程不断的复制到更复杂的场景。比如给 AI 一本飞机手册,然后让其自己学会模拟驾驶。比如让 AI 写出 10 万+的公众号文章。比如让 AI 发布一个类似 tiktok 的 app。比如让 AI 去写一篇文章中 Nature。让我们一起期待一下接下来的进展吧!加油!Reward Hacking in Reinforcement Learning https://lilianweng.github.io/posts/2024-11-28-reward-hacking/
了解更多:听说还有人没用上 Kimi k1.5 ?
k1.5 新模型登场:Kimi 如何做到满血版多模态o1水平(附技术报告)
