Kimi K3 技术报告解读:相比 K2.6 到底提升了什么
Moonshot AI 放出了 Kimi K3 的权重和技术报告:2.8 万亿总参数,单 Token 激活 1040 亿,1M 上下文,原生视觉。光看这几个数字容易觉得就是”堆参数”,但翻完技术报告会发现,K3 真正的改动集中在架构和训练方法上,参数量反而是最不重要的部分。
先理清版本脉络
Kimi 这条线到 K3 已经是第四代主力模型,中间每一代解决的问题都不一样:
| 版本 | 总参数 / 激活参数 | 上下文 | 这一代解决的问题 |
|---|---|---|---|
| K2 | 1.04T / 32B | 128K | 打基础:384 专家 MoE + MLA 注意力,用 Muon 优化器训练,15.5T Token 预训练 |
| K2.5 | 1T / 32B | 256K | 加视觉:接入 MoonViT 视觉编码器,做联合文本-视觉预训练,支持百子智能体协同 |
| K2.6 | 1T / 32B | 262K | 抠 Agent/代码能力:注意力效率优化,Terminal-Bench、SWE-bench 等编码类跑分大幅提升,但纯数学推理落后 |
| K3 | 2.8T / 104B | 1M | 换架构:注意力机制、MoE 路由、强化学习训练方式一起换代,视觉编码器也升级 |
K2 系列走的是”同一套骨架逐代打磨”的路线——K2.5 加视觉、K2.6 抠 Agent 场景——总参数和激活参数几乎没变。K3 是这条线第一次真正意义上的架构换代。
K3 具体改了什么
注意力机制:从纯 MLA 换成 KDA + Gated MLA 混合
K2 系列用的是 Multi-head Latent Attention(MLA),这也是 DeepSeek-V3 那套设计。K3 换成了混合注意力栈:**Kimi Delta Attention(KDA)**和 Gated MLA 交替使用。
KDA 是一种带”每通道遗忘门”的线性注意力(delta-rule recurrence),计算成本比标准注意力低得多,适合处理长序列;但线性注意力通常会牺牲一部分表达能力。K3 的做法是把 KDA 和保留下来的 Gated MLA 层交替排布——不是全部换成线性注意力,而是让计算量大头由 KDA 承担,少数关键层继续用 MLA 保住模型的表达能力。这也是支撑 1M 上下文(相比 K2.6 的 256K 扩大了 8 倍)能训得动、跑得起的关键。
%% caption: 混合注意力栈:多数层用 KDA(线性注意力)压低计算成本,少数关键层保留 Gated MLA 保住表达能力。层数与排布为简化示意,非真实配置
flowchart BT
IN(["输入 Token"]) --> L1
L1["L1 · KDA"] --> L2["L2 · KDA"] --> L3["L3 · Gated MLA"] --> L4["L4 · KDA"]
L4 --> L5["L5 · KDA"] --> L6["L6 · Gated MLA"] --> L7["L7 · KDA"] --> L8["L8 · KDA"]
L8 --> OUT(["更深层 / 输出"])
L2 -. AttnRes .-> L6
L1 -. AttnRes .-> L8
class L3,L6 keep
classDef keep fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#0a0a0a
新增 Attention Residuals(AttnRes)
这是一个残差连接的替代方案:标准残差只能让每一层看到”上一层”的输出,AttnRes 让每一层可以有选择地读取更早、任意层的表示。技术报告里提到这个设计对 MoE 架构特别有用——因为不同专家在不同深度被激活,层与层之间的信息传递路径本来就不规整,AttnRes 相当于给这种不规整的路径开了更多”近道”。
MoE 路由:Stable LatentMoE + Quantile Balancing
专家数从 K2 的 384 个涨到 896 个,每个 Token 激活数从 8 个涨到 16 个。专家变多、变稀疏之后,最大的工程问题是负载均衡——不让某几个专家被疯狂调用、另一些专家闲置。
K2 靠的是启发式的负载均衡更新(需要手调超参数)。K3 引入 Quantile Balancing:直接根据路由打分的分位数来分配专家负载,不再依赖敏感的平衡超参。技术报告给出的说法是,这套框架带来了相对 K2 约 2.5 倍的整体扩展效率提升——也就是说专家数翻倍不止,但训练/推理的边际成本涨得没那么快。
%% caption: Stable LatentMoE 路由示意:Router 给所有专家打分,只激活分数最高的一小撮;Quantile Balancing 负责让负载别集中在同几个专家身上(为示意简化,未画出 896 个专家的完整网格)
flowchart LR
T(["Token"]) --> R["Router<br/>按打分排序"]
R --> ON["激活 16 个专家<br/>(K2 为 8 个)"]
R -. 不激活 .-> OFF["其余 880 个专家<br/>(K2 共 384 个)"]
QB["Quantile Balancing<br/>按打分分位数动态分配负载<br/>取代 K2 需手调的启发式均衡"] -.-> R
class R,ON keep
classDef keep fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#0a0a0a
视觉编码器升级到 MoonViT-V2
K2.5 第一次把 MoonViT 接进模型,做的是”预训练好的语言模型 + 后接视觉编码器”。K3 用的 MoonViT-V2(4.01 亿参数、27 层 ViT、patch size 14),技术报告强调这次是文本和视觉从一开始联合训练,而不是先训好文本模型再补视觉——这个思路延续了 K2.5 定的方向,只是编码器本身重新设计过。
强化学习训练:九个专家模型 + MOPD 蒸馏
这是本次训练方法上最反直觉的一处改动。常规做法是训一个大一统的 RL 模型去覆盖所有推理类型,Moonshot 反过来做:先训练九个各自专精不同推理类别的专家模型(比如数学、代码、Agent 工具调用等各管一块),再用 Multi-Teacher On-Policy Distillation(MOPD)——多教师同策略蒸馏——把九个专家的能力揉合蒸馏进最终发布的这一个模型里。
好处是每个专家可以在自己的领域里训得更深、不用担心负迁移到别的能力上;代价是训练流程本身复杂了不少(九条独立 RL 训练线 + 一次统一蒸馏)。
%% caption: RL 训练路线:九个领域专精的专家模型先各自训练,再用 MOPD 蒸馏合并为最终发布的单一模型。图中领域划分为示意,非官方公布的确切九类
%% 九个专家不放进 subgraph:subgraph 一旦与外部连线,内部 direction 会被忽略,
%% 节点就会竖排。直接各自连到 MOPD,dagre 会把它们排在同一 rank 上,横成一排。
flowchart TB
E1["数学"] --> MOPD
E2["代码"] --> MOPD
E3["工具调用"] --> MOPD
E4["长文本"] --> MOPD
E5["多模态"] --> MOPD
E6["对话"] --> MOPD
E7["安全"] --> MOPD
E8["规划"] --> MOPD
E9["其他"] --> MOPD
MOPD["MOPD<br/>多教师同策略蒸馏"] --> K3["Kimi K3(发布模型)"]
class MOPD keep
classDef keep fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#0a0a0a
长上下文不是一步到位喂进去的
K3 把上下文从 K2.6 的 256K 直接扩到 1M,训练上用的是渐进式课程:先在较短序列上训练,再逐步拉长,而不是一开始就把模型丢进百万 Token 的样本里硬训。配套的还有专门构造的长上下文合成数据集——技术报告特别提到,这些数据集是刻意设计成”必须扫完整个百万 Token 窗口才能解出正确答案”,用来验证模型是不是真的在利用长上下文,而不是”上下文变长了但注意力其实只看开头结尾”。
跑分:进步很大,但有几个坑不该被忽略
编码 / Agent 类跑分涨幅确实大
| 基准 | K2.6 | K3(Moonshot 自报) |
|---|---|---|
| Terminal-Bench 2.x | 66.7 | 88.3(KDA harness)/ 85(第三方 Artificial Analysis 独立复测) |
| SWE-bench Verified | 80.2 | 76.8 |
| MCPMark | 55.9 | — |
注意 SWE-bench Verified 这一项:K3 的 76.8 分反而低于 K2.6 的 80.2 分。这不代表 K3 在软件工程能力上退步了,更可能是评测用的 harness(KimiCode / Claude Code / Codex / mini-SWE-agent 这几种跑分框架)不同导致的——第三方分析指出,同一个模型换一套 harness,分数能摆动 10 到 26 分之多。这也是为什么厂商自己发布的跑分表格,最好先看清楚每一行用的是哪套 harness,再横向对比。
幻觉率跟着能力一起涨了
AA-Omniscience 这个基准上,K3 的准确率从 K2 系列的 33% 涨到了 46%,但同一份报告里,幻觉率也从 39% 涨到了 51%。模型答得更准了,但答错时也更”自信地编”了——这不是 K3 独有的问题,但技术报告愿意把这个数字放出来,值得认真对待,而不是只看准确率那一栏就下结论。
小结
K3 相对 K2.6 不是简单的参数量堆叠:注意力机制换了(KDA + Gated MLA 混合)、残差连接加了新设计(AttnRes)、MoE 路由方式换了(Stable LatentMoE + Quantile Balancing)、视觉编码器升级了(MoonViT-V2)、连强化学习的训练范式都换了(九专家 + MOPD 蒸馏)。这是这条模型线三代以来第一次动骨架,而不是在原有骨架上继续调参数。
跑分层面,Agent 和编码类基准进步明显,但 SWE-bench Verified 的反常下降和幻觉率的同步上升提醒我们:厂商自报的跑分表格,细节(用的哪套 harness、有没有第三方复测、有没有一起公布幻觉率这类”副作用指标”)比表格里那个加粗的总分更值得看。
参考资料: Kimi K2 Technical Report(arXiv) · Kimi K2.5: Visual Agentic Intelligence(arXiv) · Kimi K2.6 Model Overview(DeepInfra) · Moonshot AI unveils Kimi K3(CryptoBriefing) · Kimi K3 Architecture: KDA, AttnRes and 896 MoE Experts(PoYo) · Kimi K3 Benchmarks: Every Score, What It Means(Emergent) · Kimi K3’s Benchmarks and Hallucinations(Kili Technology) · GitHub - MoonshotAI/Kimi-K3