30 秒版本:Kimi K3 是 Moonshot 最新开源的旗舰模型——2.8 万亿参数的 MoE,每个 token 只激活 1040 亿(约 1/27),原生视觉,100 万 token 上下文。定位一句话:能力咬住闭源前两名(Claude Fable 5、GPT-5.6 Sol),稳坐开源第一,成本却只有对手的几分之一。本文把 47 页技术报告拆成三个灵魂问题:
- 2.8T 的大家伙,怎么训得起、推得动? → 架构”三板斧”
- 100 万 token 上下文,怎么不让显存爆炸? → 换一种”记忆方式”
- base 模型怎么练成能干活的 agent? → RL + 九专家蒸馏
先看全景:架构就三句话
三句话概括整个架构:token 维度靠 3 层 KDA + 1 层 MLA 混搭,深度维度靠 AttnRes 跨层查档,宽度维度靠 LatentMoE 稀疏调用专家。先感受一下 K2 → K3 的体格变化:
| Kimi K2 | Kimi K3 | 变化 | |
|---|---|---|---|
| 总参数 / 激活参数 | 1.04T / 32.6B | 2.78T / 104.2B | ×2.7 / ×3.2 |
| 层数 | 61 | 93 | +52% |
| 专家数(每 token 激活) | 384(8) | 896(16) | 稀疏度 56 |
| 训练上下文 | 128K | 1M | ×8 |
| 注意力 | 全 MLA | 69 KDA + 24 MLA | 混合架构 |
| 综合 Scaling 效率 | 基准 | 2.5× | 同等 loss 省 60% 算力 |
第一板斧:KDA —— 把”无限增长的会议记录”换成”固定大小的笔记本”
传统 attention 的痛点:每来一个 token,都要和之前所有 token 重新算一遍关系,KV cache 无限变长——像开一场永不散会的会,每页发言记录都要永久存档。KDA(Kimi Delta Attention)是线性注意力的一种:不管序列多长,只维护一个固定大小的笔记本 S,成本 O(n)、缓存恒定。
笔记本每来一个 token 做三个动作:褪色(forget gate α 让每个通道的旧笔记按各自速度变淡)、擦除(delta rule——写入前先把旧值精准擦掉,这是它和普通线性注意力的关键区别,防止内容越叠越糊)、写入(新内容按强度 β 落笔)。
报告里我最喜欢的一个工程细节:数学上”1/累计衰减”会指数级膨胀,BF16 装不下就溢出。K3 的解法是给褪色速度设个下限(用 sigmoid 把 log-decay 压进 (-5, 0)),16 个 token 的累计衰减倒数最大 e⁸⁰,刚好卡在 BF16 动态范围内——一个数值稳定性的小改动,让整条计算路径都能跑满 Tensor Core,直接消灭了最慢的 kernel 分支。
两个配套设计也值得记住:
- 3:1 混搭:光靠笔记本会丢全局细节,所以每 4 层插 1 层 Gated MLA 全量注意力”开全员大会”
- NoPE(无位置编码):不显式存”第几个位置”,靠笔记本的衰减自然感知远近。上下文从 8K 一路扩到 1M 完全不用改位置编码
第二板斧:AttnRes —— 把 attention 的思想搬到”深度”方向
普通残差连接像传话游戏:第 93 层只能拿到第 92 层传过来的话,前面 91 层的细节全被压扁在一个向量里。AttnRes 的思路很直接:每层带一个可学习的”查询词”,主动去检索 embedding 和所有前序 Block 的输出,想要谁的信息就拿谁的。93 层切成 8 个 Block,块内先求和压缩、块间再做检索,开销可忽略,实验上 N=8 就能拿回大部分收益。
第三板斧:LatentMoE —— 896 个专家的分诊艺术
MoE 的核心矛盾:专家越多知识容量越大,但每个被选中的专家都要收一份 7168 维的完整 token 表示,通信和显存跟着爆炸。K3 的三连解法:
- 先压缩再送诊:token 先被 W↓ 压成 3584 维”简报”,专家们在简报空间里干活。于是专家数翻倍(384→896)、激活数翻倍(8→16),通信量却没涨
- SiTU-GLU 激活函数:SwiGLU 的两个相乘因子都无界,2.8T 尺度下会数值爆炸。SiTU-GLU 给两个分支都装上 tanh”限高杆”(输出硬上限 100),原点附近和 SwiGLU 一阶等价——形状不变,永远不失控
- QB 分位数均衡:传统 MoE 靠辅助损失逼负载均衡(伤性能),K3 改成给每个专家加一个”排班偏置 b”——b 只影响谁被选中、不进梯度、不改权重。每步训练后按分位数调:太火的专家降分、冷门的加分,直到每个专家接待量精确达标。工程上用直方图估分位数,一次 all-reduce 只传几百个 bin,几乎免费
后训练:先分头练出 9 个专家,再蒸馏回一个模型
后训练里几个有意思的细节:
- 思考预算控制:每题先发预算 b₀(x),输出超 τ·b₀ 直接奖励 -1。先训 max 档,再退火出 high/low 档——模型自己学会”简单题别过度思考”
- 防话痨:GRM 打分时回答长度超 σ·ℓ₀ 直接判负,专治 reward hacking 的啰嗦倾向
- 训练任务够野:知识图谱自动扩展出题、mock 版 Gmail/Notion/Slack 练”连续工作好几天”的助理任务、GPU kernel 优化(奖励=正确性+逼近 roofline 程度,还配反作弊系统)、黑盒系统复刻等
基建:2.8T 不是堆卡就行的
| 工程难题 | K3 的解法 |
|---|---|
| KDA 递归本质是串行,GPU 不喜欢 | FlashKDA kernel:chunk 内并行、chunk 间流水重叠 |
| 1M 上下文并行训练 | KCP:把每段的状态转移分解成可本地计算的两部分,一次 all-gather 搞定——线性 attention 的通信量与序列长度无关 |
| 专家并行负载不均、显存碎片 | MoonEP:每个 rank 精确收 S×K 个 token,冗余专家 ≤ E/R(有数学证明),shape 全静态免同步 |
| 1M agentic RL 的 KV cache 存不下 | 外部 KV 池:GPU 逐出的前缀写回 CPU DRAM,KDA state 与 MLA KV 生命周期对齐 |
| agent 把容器沙箱搞到内核 panic | AgentENV:Firecracker microVM,支持暂停/分叉/快照(checkpoint 133ms);整个训练共创建 5122 万个沙箱、150 万个镜像 |
| 1M token 长请求挤死 2K 短请求 | 预算制准入控制:长短请求各有独立资源池,互不饿死 |
成绩单(报告官方数据,截至 2026-07-23)
| 维度 | 表现 |
|---|---|
| 编程 | SWE-Marathon 第一(42.0%,领先 Fable 5 七分);Terminal-Bench 88.3% 几乎平 GPT-5.6 Sol;WebDev Arena 总榜第一(1678 Elo,首个登顶的开源模型) |
| Agent | BrowseComp 91.2% 全场第一;MCPMark 94.5% 第一;GDPval-AA 第三(前二为 Fable 5、GPT-5.6 Sol) |
| 知识推理 | GPQA 93.5%;但 HLE、CritPt 等研究级任务仍落后前两名——报告自己承认这是短板 |
| 视觉 | OmniDocBench 91.1% 第一;ZeroBench 平 Fable 5 |
| 成本 | BrowseComp 每题 $2.03,是 GPT-5.6 Sol 的一半、Claude 系的约 1/10;KCB 2.0 用 Fable 5 约 38% 的成本拿到只差 4 分的成绩 |
Case study 里最夸张的三个:24 小时内把 4 个 GPU kernel 优化到匹配 Fable 5 的水平;独立写出一个能端到端训 GPT 的 Triton 类编译器 MiniTriton(matmul 达 cuBLAS 约 90%);48 小时用开源 EDA 链设计了颗 INT4 推理芯片(RTL 仿真 8700 tokens/s)。
普通开发者能带走什么
- “混合”打败”纯粹”:75% 便宜层 + 25% 贵层 ≈ 全贵层。缓存/数据库/索引的分层设计是同一个道理
- 数值稳定性就是性能:一个 sigmoid 下限换来整条 kernel 路径上 Tensor Core,边界条件别小看
- 负载均衡可以”调偏置”而不是”加惩罚”:不改目标函数、只调准入门槛——任何调度系统都好使
- agent 能力 ≈ 环境复杂度:K3 的 agent 能力是 5122 万个沙箱喂出来的。你的 agent 产品能练多狠,取决于你能造多真的演练场
- 成本拐点:开源权重的 K3 把前沿 agent 能力打到闭源旗舰 1/3~1/10 的价格,自部署的经济账越来越好算了
一句话总结:K3 没有发明新科学,但它把线性注意力、MoE、RL、系统工程四条线的工程组合做到了开源世界的天花板——然后用 2.5× 的训练效率和 1/10 的推理成本告诉你:前沿智能的入场券正在变便宜。
本文为 Moonshot《Kimi K3: Open Frontier Intelligence》技术报告(2026 年 7 月,47 页)的个人解读,数据均引自报告原文,跑分以官方口径为准。
发表回复