【论文阅读】Kimi K3! Open Frontier Intelligence
背景
Kimi K3 以接近 Fable 5 的性能外加开源强势出圈,所以对其技术报告产生了兴趣,特别来阅读一下。本文更主要的是关注 Agentic RL 训练相关的内容,特别是 sandbox 方面。
摘要
Kimi K3 是一个 2.8T 参数的混合参数模型,具有 104B 的激活参数,以及原生视觉能力和 100 万 token 上下文窗口。
Kimi K3 基于 Kimi Delta Attention 和 Attention Residuals 构建,二者改善了跨序列长度和模型深度的信息流动。结合能够高效地为每个 token 激活 896 个路由专家中的 16 个的 Stable LatentMoE,以及精细化的训练与数据方案,这些进展使得整体扩展效率相比 Kimi K2 提升了约 2.5 倍。
Kimi K3 后训练阶段着重于跨通用、智能体(agentic)和编程领域以及多种推理努力(reasoning-effort)级别的强化学习,从而实现组合泛化能力和稳健的长程执行能力。
在 2.8T 参数规模下,Kimi K3 得到了多个领域基础设施进步的支持:面向 KDA 的算法—系统协同设计、具有高效内存管理的完美均衡专家并行训练、具备持久化 rollout 和沙盒状态的百万 token 智能体强化学习,以及部署方面的创新。
实验表明 Kimi K3 只落后于最前沿的 Claude Code Fable 5 以及 GPT 5.6 Sol,而优于其他开源与闭源模型。
后训练
流程与方法
后训练遵循三阶段范式:
通过 SFT 初始基础 Agent 能力
通过 RL 开发具有不同推理强度的专业领域专家
通过 Multi-Teacher On-Policy Distillation (MOPD) 将多领域专家融合到一个模型中
SFT
其在原本 SFT 数据的基础上又一次进行了拓展,其使用原本 Kimi 系列的领域专业模型合成数据轨迹,并进行多阶段验证和人在回路(human-in-the-loop)标注。为了更一致地表示复杂的智能轨迹,其使用了基于 XTML 的对话模板。
- 因为普通的聊天模板如下所示,只能做角色区分。
1 | |
- 而 XTML 可以更加灵活的表示 Agentic 相关的思考、工具调用、工具调用结果等。
1 | |
SFT 使 Kimi K3 具备自适应推理、精确工具调用以及在长周期智能体场景中稳健执行的能力。此外,其从 SFT 阶段开始应用量化感知训练(QAT),采用 MXFP4 权重和 MXFP8 激活。
RL
其将 RL 任务划分了为如下的三大类,每一类涵盖了广泛的子任务,并在每个推理强度上为每个领域训练一个单一的专家模型。
通用任务:涵盖通用体验、视觉、推理、忠实性、搜索能力和知识工作任务。
通用智能体:涵盖长时程助手任务、深度研究和段落级写作;
编程智能体:涵盖软件工程(SWE)、编程体验、内核任务和网页开发。
算法方面,为了缓解长程任务的长尾问题,其对 partial rollout 架构进行了拓展。在每次 rollout 阶段,其对 N 个 prompt 采样 K 个结果(类似 GRPO),从而维持 N×K 个 active sessions。然后其设置一个比例 $\lambda$,当完成比例达到 $\lambda \times N \times K$ 时暂停剩余未完成的 session 并入队,并取其中完全了 K 个采样的 prompt 及其轨迹进行训练(因为是 co-locate 的,训练时就不能推理),而后在下一轮时优先恢复被暂停 session 的执行。在这种 partial rollout 架构下,会出现单条长周期轨迹跨越多次迭代的情况,其采用了 per-token 正则化的手段来容忍这种 off-policy 情形,以维持训练稳定。
推理强度控制方面,其在 RL 过程中实现了一种针对每个问题的预算控制机制,对于每个问题 x 都关联一个由冷启动模型估计的初始 token 预算 $b_0(x)$,并对总 token 预算超过 $\tau b_0(x)$ 的轨迹将奖励覆盖为 -1。对于一般任务,token 预算计算的是思考 token 的数量,对于 agentic 任务,token 预算计算的是包括推理轨迹和工具调用参数两部分的累计输出 token。其整体训练的思路是先训练一个 $\tau$ 最大的模型,而后通过调小 $\tau$ 来抑制过度思考,从而得到其他更小推理强度的模型。
Agentic Generative Reward Model(GRM)方面,对于不可验证的通用任务,其采用了 GRM,保留了与 Kimi K2.5 中相同的基于二元比较的锦标赛式群组奖励机制。整体流程为:
agent 读取结果、产物或者输出;
生成评分标准;
依据评分标准对每个候选打分;
将分数记录在评分板上。
并且为了防止模型输出愈发冗长的问题,其会参考冷启动模型估计出的初始冗长长度 $l_0$,如果输出长度大于 $\sigma l_0$ 就在比较中自动判负。
Multi-Teacher On-Policy Distillation
其总共设置了 3 种推理强度(low、high、max),叠加 3 类任务,总共有 9 个模型,优化过程由 9 个专家中相应的教师模型 π(d,e) teacher 进行引导。给定输入查询 x 和前缀响应 y<t,教师模型 π(d,e) teacher 与学生模型 πθ 之间在 yt 上评估的逐 token OPD 奖励定义为:

其中 sg(·) 表示停止梯度算子,Rmax > 0 是用于约束极端优势信号的裁剪阈值,从而稳定强化学习训练。
量化感知的后训练(QAT)
为了减少部署时的内存占用和服务成本,其将主导模型参数内存的 MoE 专家权重量化为 MXFP4,激活值以 MXFP8 计算,而所有非专家组件则保持较高精度。在整个后训练阶段执行量化感知训练(QAT),涵盖 SFT 和 RL,从而使模型能够适应量化引起的精度损失。在 RL 期间,rollout 和训练共享相同的量化方案——消除了训练与推理之间的不匹配。
Kimi K3 在预训练时配备了一个多令牌预测(multi-token-prediction,MTP)层,该层的结构与主干模块(backbone block)保持一致。由于 EAGLE-3 的草稿模型(draft model)由单个解码器层组成,其结构与 MTP 层相匹配,训练时将预训练的 MTP 层微调为 EAGLE-3 风格的草稿模型,此时目标模型(target model)被冻结,仅更新草稿层及其特征融合投影。草稿模型微调也遵循后训练 QAT 配置。
RL 任务合成与 Agent 环境
为了支持跨复杂长周期任务的可扩展训练,其设计了一系列专门的白盒环境和任务合成范式。
统一白盒强化学习环境
为了防止模型过度拟合到特定的 Agent 工具上,其开发了一套统一的白盒强化学习环境,该环境将智能体框架表示为一组可配置、可组合的模块,包括工具接口、系统提示、上下文管理策略、技能、记忆、子智能体及其他组件。通过配置组合这些模块,该环境能够实例化主流框架,例如 Kimi Code、Claude Code、Codex、OpenClaw 和 Hermes,以及全新的框架。在强化学习训练过程中,通过为不同的任务组动态构建不同的框架配置,使 Kimi K3 接触到这些模块的多样化组合,而非依赖于任何单一框架的惯例。同样的抽象机制也能够顺利支持跨多种任务领域的强化学习,为训练更加通用的智能体提供了可扩展的基础。
知识图谱引导的任务合成
为了大规模地同时控制粒度和覆盖范围,其构建了一个自我演化、分层组织的知识图谱,智能体通过在知识密集型和编程领域进行网络规模的探索来持续扩展该图谱,如下所示。

在知识图谱构建方面,其将知识图谱构建为一个有向无环图,扩展过程始于一组预定义的粗粒度种子节点。随后,为每个节点分配一个智能体实例,并执行多次网络搜索以探究相应的概念。在添加新节点之前,智能体会先探索现有图谱,以识别等价或相关的概念,在适当情况下复用现有节点,并尽量减少重复。无论智能体先发现哪个端点,边始终从较粗粒度的概念指向较细粒度的概念。新添加的节点随后会被分配给智能体进行进一步探索。当所分配的智能体判定当前概念已足够原子化时,某一分支便停止扩展。
在任务合成方面,为实现跨领域和任务类型的目标分布,系统以不同粒度层级对节点进行采样,采样方式既可以是单个节点,也可以是相关节点的组合。从采样节点中提取的关键词与知识图谱中其祖先节点的上下文信息相结合,用以构建网络查询。检索到的真实世界材料经过组装后,由合成智能体生成各种任务类型的训练任务。
Infra for 1M Agentic RL
长上下文 RL Infra
其采用同置(co-located)强化学习训练,将每个 1M-context 的 Kimi K3 强化学习实验控制在数百个 GPU 之内,并使用 partial rollouts 来降低超长轨迹带来的尾部延迟。虽然这提高了硬件利用率,但是长上下文为 KV-Cache 的保留引入了额外的 DRAM 需求,从而与训练侧状态产生竞争。此外,要同时实现预填充(prefill)和解码(decoding)的高效率,需要对前缀管理和请求调度进行精心设计。
在 KV-Cache pool 管理方面,其通过一种写回(write-back)设计,将前缀保留与 GPU 驻留解耦。活跃的解码块保留在 GPU 的 KV 缓存中,而可复用的空闲前缀仅在其被从 GPU 中逐出时,才写回到位于 CPU DRAM 中的外部 KV 缓存池,并在下一次复用之前被预取回来。为了给外部内存池提供充足的 DRAM,其在一次训练迭代结束后将训练状态(模型权重和优化器状态)卸载到硬盘存储中。
在 Rollout 自动限流调度器方面,在多步 rollout 中,上下文随着轨迹推进而逐渐增长,这使得基于全轨迹平均长度设定固定并发度既难以估计,又在早期过于保守。反之,将并发度设置得过高会在后期阶段造成 KV 缓存压力,并可能触发抢占。因此,其在 LLM 请求调度层设计了一种自动限流机制,利用诸如活跃请求数、排队请求数和 KV 缓存利用率等运行时信号,来动态控制发送到推理引擎的请求数量。这既能保持早期 rollout 的良好利用率,又能在 KV 缓存压力上升时降低并发度,从而在无需手动调优的情况下同时避免利用率不足和过载。
在 non-policy 模型前向传播的梯度缓冲区复用方面,强化学习损失计算通常需要 ref 模型,其权重过大而无法常驻于 GPU。故其将这些权重保存在 CPU 内存中,仅在需要时才实例化,并使用策略模型的 FP32 梯度缓冲区存储来承载其参数张量。这种做法复用了现有的 GPU 内存,无需额外分配或造成碎片化,并且保持安全,因为当后续计算真实梯度时这些缓冲区会被覆盖。
Sandbox Infra
其采用了多种沙箱运行时,包括传统的基于容器的运行时、GPU 沙箱运行时和 MicroVM 沙箱运行时,系统名为 AgentENV(https://github.com/kvcache-ai/AgentENV)。其围绕 3 个核心目标构建。
高保真隔离。这一方面可以避免由智能体的非预期操作引发的内核崩溃,另一方面也能够避免限制智能体的能力,让其尽可能探索,该系统允许智能体应能够随意挂载磁盘、运行容器,甚至启动虚拟机。而这主要来自于 MicroVM 的运行时。
灵活沙箱生命周期。AgentENV 支持沙箱状态的增量式检查点保存与恢复,其中在检查点保存期间仅保存自上次检查点以来被写脏的内存页,从而实现了低至 133 毫秒和 49 毫秒的检查点保存与恢复延迟。在此基础上,AgentENV 提供了三种有助于提升智能体强化学习效率的高层操作。
Pause and Resume:处于暂停状态的沙箱不消耗任何内存或 CPU 资源;因此,当智能体正在等待模型的推理结果时,可以暂停沙箱,而这一等待时间可能占到沙箱生命周期的 98% 之多。
Fork:分叉可以在保持原始沙箱继续运行的同时,从其精确状态创建一个新沙箱,这对于无副作用的奖励评判非常有用。
Snapshot:可以按固定间隔保存沙箱的快照,以用于错误恢复。
高效率与高密度。在其工作负载中,数以万计的沙箱(每个都具有一组独特的镜像)可能需要在数秒内被创建。所以其采用 OverlayBD 作为镜像格式,并结合自定义的 ublk 驱动实现、存储层共享以及 P2P 传输,从而在大规模场景下实现亚秒级的启动延迟。其通过写时复制内存和页缓存优化进一步降低了内存使用量,在实际工作负载中实现了高达 6.5× 的内存超额分配比率。
在整个 Kimi K3 的训练和评估过程中,共创建了 1,505,678 个镜像的 51,219,741 个沙箱。
Inference and Online Serving
Fleet-Level Scheduling
服务请求存在两个关键问题:
前缀缓存未命中的代价比命中高出几个数量级,
对于百万级 token 上下文请求的突发涌入可能会使短请求陷入饥饿
所以服务挑战从单次请求效率转向可预测性。故而其提出了两种集群级调度策略来解决这一问题:
缓存感知的亲和性调度:一次性哈希会将每个会话固定到两个集群,一个负责为其流量提供服务,一个当做预先分配的次集群用以容灾。在服务集群中缓存依赖于集群内部的传输。一旦集群故障将中断所有绑定到它的会话,而次集群将重新计算预填充,由于哈希均匀分散到多个集群,所以对整体其他集群的影响是可控的。
基于预算的准入控制:采用基于预算的准入控制,为不同的请求类别分配独立的资源预算,使得突发的长上下文流量最多只消耗其自身份额的容量,而不会降低其他类别所体验到的系统级 SLO。
实验
- 外部开源 benchmark 测试如下:

- 内部 benchmark 测试如下:
