47 页 Kimi K3 技术报告,讲给普通开发者听:2.8T 开源巨兽的“偷懒”艺术

30 秒版本:Kimi K3 是 Moonshot 最新开源的旗舰模型——2.8 万亿参数的 MoE,每个 token 只激活 1040 亿(约 1/27),原生视觉,100 万 token 上下文。定位一句话:能力咬住闭源前两名(Claude Fable 5、GPT-5.6 Sol),稳坐开源第一,成本却只有对手的几分之一。本文把 47 页技术报告拆成三个灵魂问题:

  1. 2.8T 的大家伙,怎么训得起、推得动? → 架构”三板斧”
  2. 100 万 token 上下文,怎么不让显存爆炸? → 换一种”记忆方式”
  3. base 模型怎么练成能干活的 agent? → RL + 九专家蒸馏

先看全景:架构就三句话

MoonViT-V2 0.4B 视觉编码器 Embedding 共享嵌入空间 Block ×8:93 层切成 8 块 token 混合:3 KDA : 1 MLA KDA KDA KDA MLA MoE MoE MoE MoE 每层 attention 后都跟一个 LatentMoE 896 选 16 · 压到 3584 维 latent 空间 AttnRes:深度方向的”查档”机制 每层带 query 检索 embedding + 所有前序 Block 的输出 输出 循环 ×8

三句话概括整个架构: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)、缓存恒定。

全量注意力(如 MLA) 每来 1 个 token,记录 +1 页 KV cache 成本 O(n²) · 缓存无限涨 KDA(线性注意力) 每来 1 个 token,只更新笔记本 S ① 褪色 α:旧笔记按通道变淡 ② 擦除:先精准擦掉旧值 ③ 写入 β:新内容按强度落笔 成本 O(n) · 缓存固定 K3 的折中:3 层 KDA + 1 层 MLA 75% 的层记笔记本(便宜),25% 开全员大会(保全局)

笔记本每来一个 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 个专家的分诊艺术

token 7168 维 W↓ 压缩 7168→3584 Router 分诊台 QB 负载均衡 偏置 b 只调分诊、不改权重 896 个 routed 专家 每个 token 只激活其中 16 个 专家在 3584 维 latent 空间工作 通信、显存都按”简报”大小算 汇总 → RMSNorm → W↑ 投影回 7168 维,与 shared 相加 2 个 shared 专家(全科) 全宽度直接处理每个 token 896 选 16 = 稀疏度 56:只花 1/56 的算力,享受 56 倍的专家容量

MoE 的核心矛盾:专家越多知识容量越大,但每个被选中的专家都要收一份 7168 维的完整 token 表示,通信和显存跟着爆炸。K3 的三连解法:

  1. 先压缩再送诊:token 先被 W↓ 压成 3584 维”简报”,专家们在简报空间里干活。于是专家数翻倍(384→896)、激活数翻倍(8→16),通信量却没涨
  2. SiTU-GLU 激活函数:SwiGLU 的两个相乘因子都无界,2.8T 尺度下会数值爆炸。SiTU-GLU 给两个分支都装上 tanh”限高杆”(输出硬上限 100),原点附近和 SwiGLU 一阶等价——形状不变,永远不失控
  3. QB 分位数均衡:传统 MoE 靠辅助损失逼负载均衡(伤性能),K3 改成给每个专家加一个”排班偏置 b”——b 只影响谁被选中、不进梯度、不改权重。每步训练后按分位数调:太火的专家降分、冷门的加分,直到每个专家接待量精确达标。工程上用直方图估分位数,一次 all-reduce 只传几百个 bin,几乎免费

后训练:先分头练出 9 个专家,再蒸馏回一个模型

① SFT 冷启动 打基础 agent 能力 XTML 统一模板 全程量化感知 ② RL 练专项专家 3 领域 × 3 思考档 = 9 个专家模型 超预算奖励 -1 ③ MOPD 蒸馏 9 个老师教 1 个学生 逐 token 打分 合成统一模型 ④ 一个 K3 low/high/max 三档 MXFP4 低精度部署 草稿模型加速解码 reasoning effort = 给模型发”思考预算” 先训 max 档(预算宽),再退火出 high / low 档 —— 让模型学会该想想、该省省

后训练里几个有意思的细节:

  • 思考预算控制:每题先发预算 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)。

普通开发者能带走什么

  1. “混合”打败”纯粹”:75% 便宜层 + 25% 贵层 ≈ 全贵层。缓存/数据库/索引的分层设计是同一个道理
  2. 数值稳定性就是性能:一个 sigmoid 下限换来整条 kernel 路径上 Tensor Core,边界条件别小看
  3. 负载均衡可以”调偏置”而不是”加惩罚”:不改目标函数、只调准入门槛——任何调度系统都好使
  4. agent 能力 ≈ 环境复杂度:K3 的 agent 能力是 5122 万个沙箱喂出来的。你的 agent 产品能练多狠,取决于你能造多真的演练场
  5. 成本拐点:开源权重的 K3 把前沿 agent 能力打到闭源旗舰 1/3~1/10 的价格,自部署的经济账越来越好算了

一句话总结:K3 没有发明新科学,但它把线性注意力、MoE、RL、系统工程四条线的工程组合做到了开源世界的天花板——然后用 2.5× 的训练效率和 1/10 的推理成本告诉你:前沿智能的入场券正在变便宜。

本文为 Moonshot《Kimi K3: Open Frontier Intelligence》技术报告(2026 年 7 月,47 页)的个人解读,数据均引自报告原文,跑分以官方口径为准。


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注