← 首页|学术|精读:Kimi k1.5 — 产品级长CoT RL配方 + Long2Short
精读 · cs.LG cs.CL · 技术报告 · 2025年1月
Kimi k1.5: Scaling Reinforcement Learning with LLMs
Kimi Team — Moonshot AI(月之暗面)
Long-CoT RL
Length Penalty
Long2Short
Context Scaling
Online Mirror Descent
Production-Scale
Multimodal
核心价值:唯一公开的前沿规模长 CoT RL 训练配方。不依赖 MCTS、Process Reward Model 或 value function——仅靠长上下文 scaling(128K)+ 改进的 policy optimization + length penalty就达到 AIME 77.5、MATH500 96.2,对齐 OpenAI o1。更重要的是首次系统呈现了 long2short:四种把长思维链能力迁移到短模型的方法,让短模型在 3,272 token 内达到 AIME 60.8——超越所有同期短模型。这篇报告证明了这件事在真实产品规模可行,是后续所有 length penalty 学术变体(DIET 等)的工业锚点。
🧭 核心哲学:简约框架为什么够用
不需要 MCTS、Value Function 或 Process Reward Model
k1.5 最重要的工程洞察:当上下文足够长时,LLM 可以在 token 序列中隐式实现搜索——不需要显式维护搜索树。
理解这个洞察的关键:把搜索树里的"节点"类比为 CoT 里的"推理步骤"。传统 MCTS 在树上搜索,k1.5 的模型在 128K 上下文里自回归搜索。当 context 足够长,模型学会的 planning、reflection、backtracking 实际上是对 MCTS 的端到端参数化近似。
代价:隐式搜索需要很长的 context——128K。这就是为什么 context length scaling 是这篇的核心贡献之一:不是因为长 context 本身有趣,而是因为它是"无 MCTS 的 RL"能够工作的必要条件。
🎯 RL Prompt 构建:质量门控三要素
三个必要条件:覆盖广度、难度均衡、可准确验证
- Diverse Coverage:STEM、竞赛、代码、通用推理,文字 + 视觉。用 tagging system 确保领域均衡。
- Balanced Difficulty:模型基于自身能力评估难度——对每道题采样 10 次,用通过率作为难度代理(低通过率 = 高难度)。这和 DIET 的难度估计机制完全一致。
- Accurate Evaluability:排除多选题、是非题(容易猜对)。对通用 QA 任务,用模型在无 CoT 时猜答案:若 N=8 次内猜对,则该题"太容易 hack",移除。
→ 质量门控的底层逻辑:reward signal 的准确性上限了 RL 的效果。一道可以被猜对的题,其 reward 信号会误导训练。
⚙️ Policy Optimization:在线镜像下降变体
不是 PPO,不是 GRPO——而是 Online Mirror Descent 的 off-policy 推广
每轮迭代 i,以当前模型 πθᵢ 为参考,优化:
max_θ E[r(x,y,y*)] − τ·KL(π_θ || π_θᵢ)
此目标有解析解:π*(y,z|x) ∝ π_θᵢ(y,z|x)·exp(r/τ)
利用 off-policy 数据,近似梯度为:
1/k Σⱼ [ ∇_θ log π_θ(yⱼ,zⱼ|x) · (r_j − r̄) − τ/2 · ∇_θ (log π_θ/π_θᵢ)² ]
第一项:policy gradient(用均值 r̄ 作为 baseline)
第二项:L2 KL 正则(PPO 用 clip 强制 ratio,这里用平方惩罚)
与 GRPO 的关系:GRPO 是 PPO 的变体,用 batch 内 reward 归一化(advantage = (r − mean)/std)代替 value network,并对多个采样做平均。k1.5 的 online mirror descent 和 GRPO 在本质上解决相同问题,但推导路径不同——k1.5 从信息几何(KL 正则)出发,GRPO 从 PPO clip 变体出发。两者都没有 value network。
→ 为什么故意去掉 value function?论文给出了一个有意思的理由:对于长 CoT,正确答案可以通过"先走错路再 backtrack"到达。经典 credit assignment 会惩罚"走错路"的步骤,但 k1.5 认为这恰好是探索的价值所在——允许模型探索错误路径,只要最终到达正确答案就给奖励。
📏 Length Penalty:Kimi 原始公式
这是后续所有 length penalty 学术工作的原始公式
给定 k 个采样响应,设 min_len / max_len 为 batch 内最短/最长响应:
λ = 0.5 − (len(i) − min_len) / (max_len − min_len)
len_reward(i) = λ (答对时)
= min(0, λ) (答错时)
最终奖励 = 任务奖励 + 权重系数 × len_reward
公式的语义:
- λ 在 [−0.5, 0.5] 之间,最短响应 λ=0.5,最长响应 λ=−0.5
- 答对时:短 → 正奖励;长 → 负惩罚。鼓励用更少 token 答对。
- 答错时:只有 λ<0 时才惩罚(即比 batch 中位线更长的错误答案才被惩罚)。不惩罚短错误,避免让模型学"为了规避惩罚而生成短垃圾答案"。
→ "答错不惩罚短响应"这个设计细节非常关键。如果答错也按长度惩罚,模型会学到"答错的最优策略是输出单个字符"——彻底破坏探索。
实际训练技巧:训练初期先不加 length penalty(正常 RL),等模型有了基础推理能力后再逐渐引入(warmup 调度)。原因是初期 length penalty 会减慢探索——模型还没学会推理就开始被迫缩短 CoT,导致训练失败。这个 warmup 细节在 DIET 的消融实验中也得到了验证。
DIET 对这个公式做了什么改进?k1.5 的公式对 batch 内所有问题使用相同的 α(惩罚权重)。DIET 发现:对简单题应该用大 α,对难题应该用小 α(甚至零)——因为难题需要长推理,均匀惩罚会损害难题的推理质量。DIET 的 αada = αbase × Ĉ(通过率)就是把 k1.5 的均匀 α 替换为难度自适应版本。同时 DIET 发现在 GRPO 中直接这样做会触发方差交叉污染问题(k1.5 用 online mirror descent 不存在此问题),因此需要 Advantage Weighting。
🎲 采样策略:课程学习 + 优先采样
两种采样策略的组合
Curriculum Sampling(课程学习):从简单题开始,逐步加入难题。理由:RL 初期模型能力弱,在极难题上几乎全错,梯度信号为零(no correct samples = no reward signal)。先在简单题上建立基础能力,再挑战难题,效率更高。
Prioritized Sampling(优先采样):跟踪每道题的历史成功率 sᵢ,按 1−sᵢ 比例采样——成功率低的题优先采样。和 curriculum 的区别:curriculum 是静态难度标签(人工标注或预测),prioritized 是动态成功率(随训练更新)。两者互补。
这和 DIET 的难度估计的关系:DIET 的难度估计 D̂ = 1 − Ĉ,其中 Ĉ 是 GRPO 采样的 N 条响应的通过率——本质上就是 k1.5 prioritized sampling 里的"成功率",只不过 DIET 用它来调节 length penalty 的强度,而 k1.5 用它来决定采样优先级。
🔄 Long2Short:四种方法深度解析
核心问题:长 CoT 模型性能好但推理成本高。能不能把它的"思维方式"迁移到短模型上?k1.5 提出了四种路径,从无需训练到全量 RL,效果依次提升。
方法四
Long2Short RL
强 length penalty RL
方法一:模型合并(Model Merging)
最简单的方案:直接平均权重,不需要任何训练
取一个长 CoT 模型和一个短 CoT 模型,直接对参数做线性插值:
θ_merged = (θ_long + θ_short) / 2
直觉:长 CoT 模型擅长深度推理,短 CoT 模型擅长简洁表达。合并后的模型理论上能保留双方的部分优势。
实际效果:有效但有限。合并后(k1.5-short w/ merge)token 效率提升,但性能不如训练方法。主要价值是作为后续 rejection sampling 的起点(merge + RS 组合使用)。
为什么权重平均有意义?现代 LLM 的模型参数空间是相对线性的——同一预训练基座微调出的不同模型,其参数差值通常指向某个特定技能方向。模型合并(Model Merging)近年来在其他场景(多任务、safety-helpfulness 平衡)也被证明有效,背后有 task vector 理论支撑。对于 long/short CoT,merge 实际上是在参数空间中取两种 CoT 风格的中间点。
方法二:最短拒绝采样(Shortest Rejection Sampling)
从长 CoT 模型采样,取最短的正确答案做 SFT
对每个问题,用长 CoT 模型采样 n=8 次,从中挑选最短的正确响应,然后用这批数据对短 CoT 模型做 SFT。
核心假设:长 CoT 模型在采样时本身就会产生长度差异很大的响应(有时推理效率高,有时绕远路)。最短的正确响应往往包含最精炼的推理路径——它是长 CoT 模型在"运气好的时候"生成的简洁解法。
通常和模型合并搭配使用(k1.5-short w/ merge + rs):先 merge 得到一个更均衡的起点,再用 shortest RS 做 SFT 进一步精炼。
→ 这个方法的上限是"长 CoT 模型在 8 次采样中最简洁的解法"。如果长 CoT 模型本身就找不到简洁路径,这个方法无能为力。
方法三:DPO(偏好优化)
构造"短正确 vs 长错误/长正确"偏好对
同样用长 CoT 模型多次采样,但这次构造
偏好对:
- Chosen(正样本):最短的正确响应
- Rejected(负样本):① 错误的较长响应 ② 正确但比 chosen 长 1.5 倍以上的响应
关键设计:把"正确但过长"的响应也作为负样本。这告诉模型:正确本身不够,还需要高效。
效果介于最短 RS 和 Long2Short RL 之间(图 7)。DPO 提供了"短 vs 长"的对比信号,比纯 SFT 更强,但没有 RL 的在线探索能力。
和 Optima 的 DPO 数据的区别:Optima 构造 DPO 对的标准是"综合奖励(准确率 + 效率 + 可读性)高 vs 低",并不专门针对长度;k1.5 的 DPO 是专门针对长度:最短正确 vs 较长(正确或错误)。后者更直接,但也更单一——只优化长度,忽略了 Optima 关注的通信质量。
方法四:Long2Short RL(最强方案)
从最优 checkpoint 出发,施加强 length penalty 继续 RL
具体步骤:
- 在标准 RL 训练中,选取性能/效率权衡最优的 checkpoint(不是最终 checkpoint)作为起点
- 开启第二阶段 RL,显著降低 max rollout length(比正常长 CoT 训练短得多)
- 施加更强的 length penalty(即 Section 2.3.3 中的 len_reward,但权重更大)
为什么 Long2Short RL 最强?
- 在线探索:DPO 和 RS 都是离线方法——用固定的采样数据训练。Long2Short RL 是在线的,模型边探索边学"哪些 token 可以省",且反馈信号直接来自任务正确率。
- 自适应压缩:max rollout length 的硬约束迫使模型学会在 budget 内解题,而不只是"偏好短一点"——这是质的不同。
- 继承长 CoT 的推理能力:从长 CoT 的最优 checkpoint 出发,保留了深度推理能力,只在此基础上学习"如何在更短的 budget 内用上这些能力"。
k1.5-short w/ rl 在 AIME2024 达到 60.8 Pass@1,平均只用 3,272 tokens——这相当于用 long-CoT 模型大约 1/5 的 token 达到接近性能。同期最强短模型(GPT-4o: 9.3, Claude Sonnet 3.5: 16.0)被远甩在后。
四种方法的统一视角
它们都在做同一件事:从长 CoT 的能力空间中"提炼"简洁路径
| 方法 | 数据来源 | 训练信号 | 在线/离线 | 上限 |
| 模型合并 | —(无需数据) | 无 | — | 中位数性能 |
| 最短 RS | 长 CoT 采样 | 模仿(SFT) | 离线 | 最短正确答案的质量 |
| DPO | 长 CoT 采样 | 对比偏好 | 离线 | 正负对的区分度 |
| Long2Short RL | 模型自采样 | 任务奖励 + 长度奖励 | 在线 | 任务本身的难度下限 |
→ 组合使用也是合理的:先 merge(提升基础),再做最短 RS(粗筛简洁路径),最后 Long2Short RL(精调)。图 7 暗示组合 pipeline 可以进一步压缩 token,但 k1.5 报告主要展示了各方法的独立效果对比。
🛠️ RL 基础设施:两个关键创新
Partial Rollouts(部分展开)
解决 128K 长 CoT RL 的计算瓶颈
问题:128K 的 CoT 如果每次都从头生成,rollout 成本极高。
解决方案:设置固定的每轮 token budget。如果一条 trajectory 在 budget 内未完成,
把当前状态存入 replay buffer,下一轮继续生成(类似游戏存档)。
- 每轮只需要计算最新分段的 on-policy 梯度,历史分段从 buffer 读取
- 多个 rollout worker 异步运行:有的在跑长 trajectory 的后续分段,有的在处理新的短 trajectory,GPU 不空转
- 内置重复检测:发现生成循环时提前终止并加额外惩罚
为什么这是关键创新:没有 partial rollouts,128K RL 在工程上不可行——单条轨迹的生成时间会导致大量 GPU 等待,系统效率极低。Partial rollouts 让 long-context RL 的 throughput 可以接近短 context RL 的效率。这是 k1.5 "长上下文 scaling"能够实际跑起来的工程基础。
Megatron + vLLM 混合部署
训练阶段和推理阶段复用同一批 GPU
传统 RL 训练框架:训练 GPU 和推理 GPU 分离,互相等待时都有空闲。k1.5 用 Kubernetes Sidecar 让 Megatron(训练)和 vLLM(推理 rollout)在同一 GPU 上分时运行:
- 训练完成 → Megatron offload GPU 内存 → vLLM 加载最新权重(via Mooncake RDMA 传输)→ 开始 rollout
- Rollout 完成 → vLLM 终止 → Megatron onload → 下一轮训练
- 切换延迟:训练→推理 <1 分钟;推理→训练 ~10 秒
动态扩容:推理阶段可以临时拉入额外的 inference 节点(idle GPU)加速 rollout,训练阶段释放。这让系统可以在"训练密集"和"推理密集"之间动态分配资源。
📊 实验结果
AIME 2024(长 CoT)
77.5
对齐 OpenAI o1
MATH-500(长 CoT)
96.2
SoTA
AIME 2024(short w/ rl)
60.8
GPT-4o: 9.3(+554%)
Short RL 平均 Token
3,272
Long CoT 的约 1/5
Long2Short 各方法对比(Figure 7 解读)
性能 vs 平均 Token 数——Pareto 前沿分析
图 7 的核心发现:
- k1.5 全系列(橙色点)在相同 token 预算下比所有其他模型(蓝色点)性能更高——整体 Pareto 前沿向右上移动
- k1.5-short w/ rl(Long2Short RL):最高性能,3,272 token(AIME 60.8)
- k1.5-short w/ dpo:性能次之,token 比 rl 略少
- k1.5-short w/ merge + rs:性能再次之
- k1.5-shortest:token 最少,性能 88.2 on MATH500,是"极度压缩"的极端点
→ 关键洞察:DPO 在 token vs 性能的曲线上并不是特别突出;Long2Short RL 是唯一真正做到"少 token + 高性能"同时领先的方案。
▶ 短模型与其他模型的完整对比表
| 模型 | MATH500 | AIME 2024 | LiveCodeBench | 类型 |
| k1.5-short w/ rl | 94.6 | 60.8 | 47.3 | 短 CoT |
| DeepSeek-V3 | 90.2 | 39.2 | 40.5 | 短 CoT |
| Claude-3.5-Sonnet | 78.3 | 16.0 | 36.3 | 短 CoT |
| GPT-4o | 74.6 | 9.3 | 33.4 | 短 CoT |
| Qwen2.5-72B-Inst. | 80.0 | 23.3 | 31.1 | 短 CoT |
Context Length Scaling 实验
更长的 context → 更好的性能,且难题提升更明显
用中等规模模型在数学集上实验:随训练迭代增加,准确率和响应长度同步提升。更重要的是,困难 benchmark 的响应长度增长幅度比简单 benchmark 更大——模型自主学会了"难题多想,简题少想",尽管没有任何难度感知的显式训练信号。这说明长 CoT RL 本身就有一定的难度感知性,DIET 所做的是把这个性质强化并理论化。
🧬 谱系:k1.5 → DIET → f(g(x))
k1.5 作为工业锚点,学术界如何在此基础上演进
| 论文 | 时间 | 规模 | 核心贡献 | 继承自 k1.5 |
| Kimi k1.5 |
2025.01 |
产品级 |
RL + 长上下文 scaling + length penalty 原始公式 + long2short 四方法 |
—(起点) |
| DIET(NeurIPS 2025) |
2025.05 |
1.5B |
难度感知 length penalty(αada + fdyn)+ GRPO Advantage Weighting |
Kimi 格式 length penalty 作为基础;长2短 → 单 agent 场景 |
| f(g(x))(ICLR 2026) |
2025.09 |
实验性 |
RL 真正学新技能(非 reranking)的理论证明 |
解释"为什么 k1.5 的 RL 能学会 efficient reasoning"的机制 |
→ k1.5 的价值不在于某个特定的方法创新,而在于规模证明:它告诉学术界"这件事在真实规模上跑得通"。DIET 可以在 1.5B 上验证 αada 的理论,但没有 k1.5 作为产品级佐证,这个方向能否真正落地是存疑的。k1.5 是这个方向的"工业可行性证书"。
k1.5 没有完成的工作(开放问题)
论文最后一段明确提出了几个开放问题:
- 如何改进 credit assignment:k1.5 故意去掉了 value function,用"只看最终答案"代替。但这对于超长推理链可能次优——中间步骤的错误难以被有效反馈。
- 如何在不损害探索能力的前提下减少 overthinking:这正是 DIET 接手的问题。k1.5 发现了这个 tension(长 CoT 对性能好 vs 实际使用成本高),DIET 提出了难度感知的解决方案。
- Long2short 与 long-CoT RL 的迭代结合:"combine long2short methods with long-CoT RL in an iterative way"——这是一个未被探索的方向。
局限:① 模型权重未开源,其他团队无法复现产品级结果;② RL 基础设施(Megatron + vLLM 混合部署,Mooncake RDMA)的具体实现未完整公开;③ Long2short 实验缺少完整的消融(如不同 max rollout length 的对比);④ 多模态 RL 部分信息密度较低,视觉数据的构建细节较简略。