Kimi K3 的技术报告信息量非常大,内容横跨模型架构、pre-training、post-training、训练系统和在线 serving。总体来看,Kimi K3 实际在同时推进三件事:
  • 把开源模型的 pre-training scale推到 3T 量级;
  • context window扩展到 1M token;
  • Agentic RL rollout延长到数百、数千次 tool call。
这三件事会互相影响。模型更大以后,MoE 的负载和显存更难控制;context 更长以后,attention、KV cache和通信都会变重;RL的trajectory 变长以后,模型 state、sandbox state 又必须跨多个 RL iteration 保存。
下面具体来看。

1 为什么还要继续扩大 Pre-training Scale

过去谈 LLM scaling,主要指训练更大的模型、使用更多的数据。
reasoning model出现后,test-time compute 成了另一条路线。模型可以延长 thinking,增加工具调用轮数,也可以组织多个 agent 并行工作。OpenAI o-series、DeepSeek-R1、Kimi K1.5、Kimi K2.5 Agent Swarm 都沿着这条路线取得了明显进展。
开源模型的问题在于,test-time scaling 发展得很快,pre-training foundation 的规模却大多停留在 1T 参数附近。如果底座长期相近,大家再叠加更复杂的 RL,后面的能力曲线可能会越来越接近。
Kimi K3 选择同时扩大两条轴。
  • 模型本身增长到 2.78T 参数
  • post-training 又覆盖 general、agentic、coding 三类任务,并为每类任务训练多个 reasoning-effort 档位。
先看几个主要参数:
项目
Kimi K2
Kimi K3
Total parameters
1.04T
2.78T
Activated parameters
32.6B
104.2B
Layers
61
93
Routed experts
384
896
Active experts / token
8
16
Attention
MLA
69 KDA + 24 MLA
Training context
128K
1M
K3 的 total parameters 增长了 167%,activated parameters 增长了 220%。hidden dimension 仍为 7,168,扩展主要发生在 layer 数、attention heads、expert 数量和每个 token 激活的 experts 数量上。
论文给出的 scaling-law 结果是:相同 validation loss 下,Kimi K3 的整体 scaling efficiency 约为 Kimi K2 的 2.5 倍。这个提升包含架构、数据和 training recipe 的共同贡献,不能简单归因到某一个 module。
notion image
架构图可以按三个方向理解:
  1. sequence 方向由 KDA 和 MLA 做token-mix;
  1. depth 方向引入 Attention Residuals;
  1. channel 方向使用 Stable LatentMoE。
MoonViT-V2支持原生多模态输入,同时处理图片和视频。视觉 features经过 projector后,与文本进入同一个backbone。

2 Sequence Mixing 里的 KDA 和 MLA

2.1 先看 Hybrid Attention

标准 softmax attention 会缓存历史 token 的 key 和 value。sequence 越长,KV cache 越大。context 到 1M 后,训练和推理都会面临很高的 memory、communication cost。
linear attention 会把历史压进固定大小的 recurrent state:
这样 state size 不再随 sequence length 增长。不过,固定 state 也会压缩历史信息,处理复杂的全局交互时,容量很难完全替代 softmax attention。
Kimi K3 采用 3:1 的 hybrid pattern:
KDA → KDA → KDA → Gated MLA
KDA用于控制长 context的成本,MLA补充更完整的 global attention。(混合attention也是目前的主流架构了)

2.2 KDA及一些工程trick

KDA 全称 Kimi Delta Attention。它在 delta rule 上增加了 channel-wise forget gate:
决定各个 channel 保留多少历史, 控制当前 token 的写入强度。更新时,旧 state 先经过 decay,再修正与当前 key 相关的内容,最后写入新的
这里可以对比普通的累加式 linear attention:
普通累加不会主动改写旧 association。KDA 会根据当前 token 调整已有 state,因此更接近一个可学习的高速 memory。
训练时,KDA 在 chunk 内并行、chunk 之间递归。chunkwise parallel 能提高吞吐,但 cumulative decay 的数值范围会成为问题。
假设某些 很小,多个 retention factor 连乘后会迅速接近 0。chunk 内计算又要使用 cumulative decay 的倒数,最终可能在 BF16 下 overflow。因此,Kimi Linear 把每个 chunk 再切成 16-token tile。off-diagonal tile 使用 Tensor Core matmul,diagonal tile 仍需显式计算 position pair
Kimi K3 把 decay 改成有下界的参数化:
其中 ,所以每一步都有:
16-token tile 内的 cumulative log-decay 被限制在 。其倒数仍处于 BF16 的动态范围,diagonal tile 也就可以转成 dense Tensor Core matmul。
notion image

2.3 MLA(NoPE version)

Kimi K3 的 MLA layer 没有显式做position encoding,这样设计有2点考虑:
  • KDA 的 recurrent gate 和 decay 已经提供了顺序、距离衰减等位置信号。
  • 对于causal attention的causal mask本身就蕴含位置信息。
因此MLA 层可以集中处理 global content interaction,也简化了 context extension。

3 Attention Residuals

标准 residual connection 沿深度逐层累计:
层只能直接读取 。更早的 layer information 已经被压进这一份 state。网络加深后,早期 features 需要经过很长的 residual path 才能到达后层。
Attention Residuals 把 sequence attention 的思路搬到了 depth 方向。当前层可以从 embedding 和此前 layer outputs 中选择信息:
每一层学习一个 pseudo-query ,用它计算该层对各个历史深度的 attention weight。
full AttnRes 要保留所有 layer outputs,memory 和 pipeline communication 都是 。Kimi K3 有 93 层,完整保存会比较重,因此实际使用 Block AttnRes。网络按 12 层左右切成 block。block 内继续顺序累计,block 边界产生一份 representation。跨深度 attention 只读取这些 block-level representations,以及当前 block 的 partial sum。
通过这样设计,memory 和 communication 因此从 降为 是 block 数。Kimi K3 大约有 8 个 AttnRes blocks,再加一份 embedding source。

4 896 个 Experts 如何稳定训练 (LatentMoE)

Kimi K3 每层有 896 个 routed experts,每个 token 选择 16 个,另外还有 2 个 shared experts。对应的稀疏度为 56 倍。
传统 MoE 会把完整的 维 token representation 发送给每一个 active expert。Top-k 变大以后,dispatch communication 和 expert weight traffic 都会同步增长。
LatentMoE 先把 token 降到更窄的 latent space:
Kimi K3 的 ,刚好是 hidden dimension 的一半。routed experts 在这个空间中处理 specialization,结果聚合后再投影回 7,168 维。shared experts 仍然走 full-width path,用来处理各 token 都需要的 common transformation。
完整输出可以写成:
在 expert aggregation 和 up projection 之间加入 RMSNorm,可以减小不同 expert、不同 routing weights 带来的 scale variation。

4.1 SiTU-GLU 控制 Activation Outlier

routed path 会连续经过 down projection、gated FFN、up projection,接近四次 matrix multiplication。SwiGLU 的 gate branch 和 up branch 都没有上界,在 2.8T 规模、低精度训练下,少量大值可能形成 activation outlier。
SiTU-GLU 给两个 branch 都加上平滑上限:
Kimi K3 设置 ,所以输出满足:
scaled tanh 在原点附近近似线性,常用区间内仍接近 SwiGLU;输入幅值很大时逐渐饱和。相比 hard clamp,这种处理保留了连续 gradient。

4.2 Quantile Balancing 处理负载

auxiliary-loss-free routing 会为每个 expert 维护一个 bias:
bias 影响 expert selection,但不参与 mixture weight 的计算。传统更新按照 expert 负载高低,以固定步长增减 bias。步长小,均衡速度慢;步长大,负载容易来回振荡。expert 增加到 896 后,这个超参数更难设置。
Quantile Balancing 直接计算下一步 bias。
假设 batch 中有 个 token、 个 experts,每个 token 选择 个,则单个 expert 的目标负载为:
对 token 做 Top- 后,第 个 score 可以看成 expert 进入 Top-k 的 cutoff 。expert 的 score 与各 token cutoff 相减,取对应 quantile:
取完 quantile 后,恰好有约 个 margin 高于 threshold。bias 一步移动到当前 batch 下的均衡位置,不需要再设置类似 learning rate 的更新步长。
notion image
global batch 可能包含数百万 token,实际训练不会 gather 全部 margin。每个 rank 先统计 per-expert histogram,再通过一次 all-reduce 合并 bin counts。最终从 global histogram 读取 quantile。通信规模由 expert 数 × bin 数 决定,不随 batch token 数增长。

5 原生多模态与 1M Context

Kimi K3 从训练第一步开始混合 text、image、video,并统一使用 next-token prediction。MoonViT-V2 与 LLM backbone 一起从头优化,中间不再增加单独的 modality-alignment stage。
MoonViT-V2 约 0.4B 参数,共 27 层。图片和视频共享参数;video attention 拆为帧内 spatial pass 和帧间 temporal pass。进入 LLM 前,再通过 pixel shuffle 压缩 visual tokens。
这里有一个比较反常规的实验。作者没有使用 SigLIP 初始化 vision encoder。
SigLIP 初始化的 MoonViT-3D 在 joint training 中长期保持较高 gradient norm,并频繁出现 spike。从头训练的 MoonViT-V2 更稳定,最终 vision benchmark 又能与 SigLIP baseline 基本持平。
notion image
这个结果说明,在足够大的多模态 next-token training 下,contrastive pre-training 未必是 vision encoder 必需的起点。language-modeling objective 也会直接塑造视觉 features,而且可能更关注 OCR、结构、细粒度文字等信息。

5.1 Context 逐步扩到 1M

context extension 分四个阶段:8K → 64K → 256K → 1M
8K 到 64K 位于 pre-training,256K 到 1M 集中在 cooldown。由于1M sequence 的计算很贵,因此将其放到训练后期的一小部分,可以控制总体成本,也给模型留下逐步适应 long-range dependency 的过程。
长数据本身并不一定能提升模型的长程能力。自然长文档、长视频里有大量重复内容、截断文件、无效 log 和低质量片段。这样的数据训练,模型也可能只利用局部信息。因此,作者专门合成长 context 数据。他们重新排列、拼接多模态文档和 sub-tasks,把完成任务所需的证据分散在整个 1M context 中。训练样本会迫使模型访问远处信息,避免 attention 退化成局部模式。

6 OPD based post-training

Kimi K3 的 post-training分为3步
  • SFT cold start
  • 基于RL训练9个teacher model (3 domains × 3 reasoning-effort levels)
  • Multi-Teacher On-Policy Distillation
SFT 数据除了常规 instruction,还包含复杂的 agentic trajectories。它们由上一代 Kimi domain models 合成,再经过多阶段 verification 和 human annotation。所有轨迹使用 XTML chat template 序列化,统一 reasoning、response 和 tool call 的格式。
RL 阶段分成 general、general agents、coding agents 三个 domain。general 覆盖知识、推理、视觉、搜索和 faithfulness;general agents 覆盖 deep research、long-horizon assistant、writing;coding agents 包含 SWE、kernel optimization 和 Web development。
每个 domain 分别训练 low、high、max 三个 reasoning-effort 档位,一共得到 9 个 teacher models。
teacher模型训练完整后,用OPT的方式将9个teacher的知识融入到student中。
为了兼顾效率和性能,作者采用了一些trick。

6.1 Partial Rollout

长程 agent task 的 trajectory 长度差异很大。同步 RL 如果等待全部 rollout 完成,少量慢任务会让大部分 GPU 空等。
Kimi K3 每轮只等待比例 的 trajectories 结束,随后暂停其余 rollout,先进入 policy optimization。未完成的 trajectory 连同 sandbox state 保存下来,在下一轮优先恢复。
一条 rollout 因此可能跨越多个 RL iterations。数据会变得更 stale,off-policy 程度也更高。训练侧使用 per-token regularization,把 policy update 限制在局部范围内,避免模型在长 trajectory 尚未结束时发生过大漂移。

6.2 Reasoning-effort

每个问题先由 cold-start model 估计初始 budget 。trajectory 使用的 token 超过 时,reward 被设为 -1。
general task 主要统计 thinking tokens;agentic task 统计累计 output,包括 reasoning trace 和 tool-call arguments。先用较大的 训练 max effort,再逐步减小,得到 high 和 low experts。

6.3 RL Environment

固定使用一套 agent harness,模型很容易记住某种 tool schema、system prompt 和 context management pattern。Kimi K3 把 harness 拆成 tool、prompt、memory、skill、subagent、context strategy 等 modules,训练时动态组合出 Kimi Code、Claude Code、Codex、OpenClaw、Hermes 等形式。
task synthesis 也采用 agent pipeline。系统从一组 coarse concepts 出发,让 agent 搜索 Web、扩展 hierarchical knowledge graph,直到节点足够细。训练时从不同层级采样相关 concepts,检索真实材料,再生成对应任务。
notion image
这套流程可以同时控制知识粒度和领域覆盖。某些很细、在通用 Web 数据里比例很低的知识,也能通过 graph node 被稳定采样出来。
长程任务的 reward 主要依靠 verifier。Autonomous Execution Task 会给出 initial state、goal、tool space 和 execution budget,agent 自行拆任务、选工具、恢复错误。结束后,verifier 检查 environment state。
kernel optimization task 是个很具体的例子。每个任务都有 PyTorch reference,数值误差超过阈值直接得 0 分;性能再与 expert implementation、hardware roofline 比较。系统还会识别 CUDA graph replay、input caching、降低精度等 reward hacking 手段。
这种训练允许多条不同的执行路径。只要最终结果通过 verifier,就可以获得有效 reward。

7 Infrastructure

论文第五章接近全文四分之一。KDA、MoE 和长程 RL 都有对应的系统实现。

7.1 KDA Context Parallelism

vanilla linear attention 的 local state 可以直接跨 rank 相加。KDA 不能这样处理,因为每个 token 都会用 变换 incoming state:
作者把一个 sequence segment 对 state 的作用写成 affine transform:
是 local segment 的 cumulative transition, 是从 开始时产生的 state。二者都能在拿到前一个 rank 的 state 之前本地计算。
affine transform 满足结合律,因此各 rank 可以 all-gather 固定大小的 ,再用 prefix scan 恢复准确的 incoming state。通信量与 context length 解耦,sequence 越长,KDA 相对 softmax attention 的优势越明显。

7.2 MoonEP

MoE router 产生的 token load 天然不均匀。某些 experts 很热,所在 rank 计算时间更长;routed activation 的动态 shape 还会引起 memory fragmentation。
MoonEP 根据当前 micro-batch 的 router output,在线规划 redundant experts,使每个 EP rank 恰好接收 个 token。
论文证明,每个 rank 预留最多 个 redundant-expert slots,就一定能找到完全均衡的 plan。 为 expert 数, 为 EP size;这个上界在一般情况下已经接近最小。
负载固定后,后续系统也变得简单:
  • 每层 compute shape 可以提前确定,不需要 host/device 逐层同步;
  • communication buffer 固定为
  • token 可以直接写到 remote rank 上按 expert 排好的位置;
  • intermediate copy 和 memory fragmentation 随之减少。
Quantile Balancing 先在 router 层面压平负载,MoonEP 再在分布式执行阶段兜底,保证每个 rank 的计算量一致。

7.3 如何处理1M Rollout State

partial rollout 会频繁暂停、恢复长 trajectory。假设一条 coding trajectory 已经积累 400K prefix,下一次 tool call 只新增 4K token;如果恢复时 KV cache 丢失,系统要重新 prefill 前面 400K,成本会非常高。
Kimi K3 使用 write-back external KV cache。active decoding blocks 留在 GPU;被 eviction、之后还可能复用的 prefix 写到 CPU DRAM;下一次继续 rollout 前再 prefetch。KDA states 与 MLA KV blocks 一起迁移,两种 cache 的生命周期保持一致。
训练 iteration 结束后,model weights 和 optimizer states 可以 offload 到 NVMe,CPU DRAM 暂时让给 rollout cache。rollout 结束后再释放,避免与下一轮训练争用。
scheduler 会根据 active requests、queued requests 和 KV utilization 自动调整并发。trajectory 早期 context 较短,可以同时跑更多 request;后期 KV pressure 上升,再逐步降低并发。

7.4 AgentENV

长程 agent 会 mount disk、运行 container,某些任务还要在 sandbox 内启动 VM。传统 container runtime 很难同时满足 isolation、fidelity 和快速恢复。
AgentENV 基于 Firecracker microVM,并提供三类操作。Pause/Resume 用于模型推理期间释放 sandbox 占用;Fork 复制完全相同的 state,可在不影响原环境的情况下做 reward judging;Snapshot 定期保存 state,用于失败恢复。
incremental checkpoint 只保存 dirty memory pages。论文报告的最低 checkpoint latency 为 133 ms,resume 为 49 ms。Kimi K3 训练和评测期间一共创建了 51,219,741 个 sandboxes,涉及 1,505,678 个 images。

7.5 Serving 端的 Hybrid Cache

KDA state 与 MLA KV cache 的形态不同。KDA 每个 request 只有固定大小的 recurrent state,MLA KV 则随 token 数增长。prefix hit 只有在同一个 boundary 同时恢复两者时才有效。
Kimi K3 把两种 cache 放进统一 paged pool,共用 allocation、reference counting 和 eviction。physical block 可以很大,例如 6,144 token;MLA 在 block 内再使用 512-token hash granularity。KDA checkpoint 稀疏保存在部分 hash endpoints,通常与 conversation-turn boundary 对齐。
notion image
图中的 request 前 2,800 token 与 cache 匹配。虽然 physical block 是 6,144 token,系统仍可在 处命中 MLA hash,并恢复同一位置的 KDA checkpoint。后面的 prefill 从 2,560 开始,无需等待完整 physical block 对齐。

8 Result

论文对比的模型包括 Claude Fable 5、GPT-5.6 Sol、Claude Opus 4.8、GPT-5.5 和 GLM-5.2。总体结果比较稳定:Kimi K3 紧跟前两者,在多数 benchmark 上领先 Claude Opus 4.8、GPT-5.5 和 GLM-5.2。
几个代表性结果如下:
Benchmark
Kimi K3
结果位置
GPQA Diamond
93.5
接近最高的 94.1
ProgramBench
77.8
表中最高
Terminal-Bench 2.1
88.3
接近最高的 88.8
SWE-Marathon
42.0
表中最高
BrowseComp
91.2
表中最高
DeepSearchQA
95.0
表中最高
MCPMark-Verified
94.5
表中最高
OmniDocBench
91.1
表中最高
coding 和 agentic 是 Kimi K3 比较突出的方向。SWE-Marathon 面向 GPU kernel,Kimi K3 得 42.0,比 Claude Fable 5 高 7 分;FrontierSWE 得 81.2,仅次于 Claude Fable 5 的 86.6。BrowseComp、DeepSearchQA、ResearchRubrics、MCPMark-Verified 也都处于第一档。
vision 侧,Python tool 带来的增益很明显。Math-Vision 从 94.3 提升到 97.8,ZeroBench-main 从 23.0 提升到 41.0。这个结果与前面的 vision-in-the-loop 训练是对应的:模型会写代码 crop、zoom、transform 图片,再把执行结果作为新 observation。
模型的弱项也比较明确。HLE-Full、CritPt 等 research-level reasoning 仍落后于最强闭源模型;OSWorld 2.0、SaaS-Bench、Agent Behavior Bench、MIRA Bench、Agentic Vision Bench 还有提升空间。

8.1 成本

BrowseComp 上,Kimi K3 得 91.2,每个 task 成本为 2.03 美元。论文给出的 GPT-5.6 Sol 得分为 90.4,成本约为 Kimi K3 的两倍;maximum-effort Claude models 的成本更高。
Kimi Code Bench 2.0 上,Kimi K3 比 Claude Fable 5 低 4 分,推理成本约为后者的 38%。GDPval-AA v2 与 GPT-5.6 Sol 的 Elo 差距小于 50,成本低 13%。
notion image
不同 benchmark 的 harness、计价方式并不完全一致,成本数字更适合用来观察量级,不宜脱离评测设置做绝对比较。

8.2 Case Studies

报告最后给了几个长程任务案例:
  • 在 24 小时 budget 内优化 AttnRes、DSA、KDA、MLA kernels,其中 KDA runtime 降低 73.6%;
  • 从零构建 MiniTriton compiler,覆盖 Python DSL、MLIR passes、PTX codegen、autograd 和 NCCL distributed primitives;
  • 48 小时内完成 nano-model inference chip 的设计与 RTL verification;
  • 约 2 小时复现 astrophysics 中的 I-Love-Q relation,阅读 20 多篇论文,评估 300 多个 equations of state;
  • 使用 20 多个 concurrent subagents 分析 391 个 gravitational-wave events。
这些任务的共同点是 execution horizon 很长,并且最终要交付可运行、可检查的 artifact。benchmark 的单个分数很难完整反映这种过程,case study 能补充模型如何持续调用工具、验证结果和修正错误。

9 几点理解

第一,Kimi K3 的几个主要 modules 并非孤立出现。
KDA 的 lower-bounded decay 对应 Tensor Core kernel;KDA 的 affine state transition 对应 context-parallel prefix scan;Quantile Balancing 与 MoonEP 分别处理逻辑负载和物理负载;partial rollout 又配套 external KV cache 与 resumable microVM。
这种 algorithm-system co-design 贯穿全文。模型到了 2.8T、context 到了 1M,很多架构选择最终都要接受 kernel、communication 和 state lifecycle 的检验。
第二,1M context 的难点会在 agent 场景中进一步放大。
普通长文理解主要维护模型 context。agent 每轮还会产生 tool result,并改变 filesystem、process、application 等环境状态。model KV cache、KDA recurrent state、sandbox memory、disk state 需要一起保存。任意一部分无法恢复,trajectory 都可能付出很高的 replay 成本。
第三,vision 在 Kimi K3 中承担了 environment observation 的角色。
模型写 Web code 后查看 screenshot,生成视频后检查 frames,处理视觉推理题时运行 Python crop 和 zoom。图片已经进入 action-observation loop。相比单轮 VQA,这类训练更接近 GUI agent、Web development 和 visual coding 的真实使用方式。
最后看开源价值。Kimi K3 的完整权重对外发布,给社区提供了一个 3T-class、hybrid linear attention、1M context 的研究底座。模型部署门槛仍然很高,但 architecture、training recipe 和 system design 都有独立参考价值,未必需要复现 2.8T 规模才能使用。

10 小结

Kimi K3 的主要设计可以归纳为下面几项:
模型架构层面:
  • backbone 按 3:1 混合 KDA 与 MLA,兼顾长序列成本和周期性全局交互;
  • Attention Residuals 缩短 features 沿网络深度的访问路径;
  • Stable LatentMoE 使用 896 个 routed experts,配合 SiTU-GLU、RMSNorm 和 Quantile Balancing 稳定训练;
  • MoonViT-V2 从头参与 next-token training,图片、视频和文本使用同一 backbone;
训练&infra
  • context 按 8K、64K、256K、1M 四个阶段扩展;
  • post-training 在三个 domain、三个 reasoning-effort 档位上训练 9 个 teachers,再通过 MOPD 合并;
  • KCP、MoonEP、external KV cache、AgentENV 和 hybrid prefix cache 共同支撑训练与 serving。
若有疏漏错误之处,欢迎指出~
 
LinearAttention系列解读(一):Transformers Are RNNsdiffusion model(一):DDPM技术小结 (denoising diffusion probabilistic)
Loading...