前沿解剖:读懂 Kimi K3 技术报告
这一节是整门课的毕业考
前六个模块教你怎么从 0 训一个小模型。这一节验证:那些概念在真实前沿模型里长什么样。
M1 到 M6,你亲手走完了一遍:切 token、搭注意力、预训练、教它回答、对齐偏好、高效推理。但那是一个几千万参数的小模型。
真正的前沿模型里,这些概念还成立吗?
2026 年 7 月 26 日,月之暗面开放了 Kimi K3 的完整权重和一份 47 页技术报告。这是目前公开权重的最大模型:2.8 万亿总参数、1040 亿激活参数、100 万 token 上下文、原生多模态。更重要的是——它的技术报告写得极其详细,而且诚实:既有官方评测,也专门列了第三方独立评测,还明说了自己哪里不行。
这一节我们把它拆开。你会发现绝大部分内容你已经学过了,只是被放大、被改写;而真正需要新学的,只有三个概念。
上游: M1–M6 的全部概念——这是读懂这份报告的入场券。
本节: 拆解 K3 的架构、训练、RL 与工程,分清哪些是延续、哪些是真新东西。
下游: 你获得的是一个可复用的能力——独立读懂下一篇前沿技术报告。
关于本节内容的来源: 下面所有技术细节都来自我逐页读过的技术报告原文(PDF 已存本地论文库,可点开对照)。凡是官方自报的数字我会标明,凡是第三方独立评测我会单独列出——这个区分在读任何模型发布材料时都是第一位的。
参数堆到 2.8T,就够了吗?
K3 报告的核心主张,恰恰是「不只是更多参数」。
一个直觉的想法是:模型变强就是把参数堆大。K3 从 K2 的 1.04T 涨到 2.78T,看起来正是如此。
但报告开篇就把重点放在别处——他们要证明的是 同样的算力,能换来 2.5 倍的能力(官方称 “approximately 2.5× improvement in overall scaling efficiency over Kimi K2”,依据是在留出的分布外验证集上拟合的 scaling law 曲线)。
这就引出本节的核心问题:在参数规模之外,还有哪些维度可以”扩”?
K3 的答案是沿三个方向扩展信息流动:序列长度(怎么让 1M token 的注意力算得起)、网络深度(怎么让 93 层的信息不被逐层挤压)、模型宽度(怎么让 896 个专家不互相踩脚)。每个方向都对应一个新组件。
先看全局:K2 到 K3 到底改了什么。下面每一行都标注了它回扣课程哪个模块——点开看变化和动机。
先点「🆕 只看真正的新东西」——只有 6 行。**其余全是”变大”或”没变”。**这就是读技术报告最重要的判断力:把真正的新概念,和单纯的规模放大分开。
三个真新东西
KDA(序列方向)· AttnRes(深度方向)· Stable LatentMoE(宽度方向)。
新东西一:Kimi Delta Attention —— 用固定大小的状态取代 KV cache
M6 留下了一个没解决的难题:KV cache 随序列长度线性增长,1M 上下文下直接吃光显存。GQA、MLA 都只是把它压小,增长的本质没变。
KDA 走的是另一条路:根本不存历史 token,只维护一个大小固定的状态矩阵 S。每读一个 token 就原地更新它一次。
先说出处——这正是”读论文该有的动作”。 KDA、NoPE、以及 KDA:MLA 混合栈都不是 K3 发明的,它们来自同一团队更早的 Kimi Linear(arXiv:2510.26692,2025-10)——那是一个 48B/3B 的研究规模模型。K3 的贡献是把这套方法推到了 3T 级前沿规模并证明它扛得住。
对你来说这里有两个收获:① 「对我是新的」≠「对领域是新的」,读报告时要分清;② 想真正搞懂 KDA,该去读的是 Kimi Linear 那篇——前沿旗舰报告往往只用一段话带过方法细节,方法论原文在引用链上游。
三件事:① 一路点到底,看右边绿线永远是平的、橙线一路涨——这就是 KDA 存在的全部理由;② 切「只有衰减门」,理解为什么必须有 delta 擦除;③ 切「只有 delta 规则」,理解为什么还要衰减。
🔍 一个下界为什么能提速:g_min = −5 的故事
KDA 的衰减在数学上要求把 key 按累积衰减的倒数重新缩放。前代 Kimi Linear 用 −A·Softplus(z) 做对数衰减,取值范围是 (−∞, 0) 无下界——于是那个倒数可能爆炸到超出浮点范围。为了不溢出,只能把每个”对角块”单独拿出来做逐位置计算,这条慢路径成了整个算子的瓶颈。
K3 改用缩放 sigmoid:g = g_min·Sigmoid(e^A z),把对数衰减限制在 (−5, 0)。于是 16 token 的块内累积衰减最多是 −80,倒数不超过 e80,稳稳落在 BF16 动态范围内。结果:所有块(包括对角块)都能直接用稠密矩阵乘走 Tensor Core,那条慢路径被彻底删掉。
混合架构:让便宜的干大部分活,贵的定期兜底
KDA 便宜,但固定大小的状态装不下所有细节。所以 K3 不是全用 KDA:每 3 层 KDA 插 1 层完整的 Gated MLA(M6 学过的低秩 KV 压缩注意力),末尾再额外加一层 MLA 保证最后一层一定是全局注意力。
勾上「显示 Attention Residuals」——这是第二个新东西:标准残差是”一层传一层、信息累积成一个向量”,AttnRes 让每层用一个学出来的伪查询,对所有前面层的输出做一次注意力,各取所需。把 M2 的注意力思想,从”跨 token”搬到了”跨层”。
NoPE:一条反直觉的结论。 M2 我们讲过”自注意力天生没有顺序感,必须显式注入位置编码(RoPE)“。K3 把显式位置编码整个删掉了。
为什么可以?因为 69/93 的层是 KDA,而 KDA 是逐 token 递推的——顺序信息天然藏在”第几步更新状态”里,不需要额外编码。剩下的 MLA 层负责不受位置影响的全局内容交互。
好处很实际:扩到 1M 上下文时,不需要做 RoPE 频率重调或位置插值——那是长上下文扩展里最容易出问题的一步。
但这句话必须配一个限定,否则会严重误导:“直接外推到 1M” 指的是 不必修改位置编码参数,不等于不需要长上下文训练。K3 照样走了 8K→64K→256K→1M 的四段式课程,还专门合成了跨全程注意力才能解的长上下文数据。省掉的是位置编码这一个环节,不是整个长上下文训练。
新东西三:Stable LatentMoE —— 把 M4 的低秩思想用到 MoE 上
M6 讲过 MoE:总参数大、激活参数小。K3 想把专家池从 384 扩到 896,问题是通信量——常规 MoE 里每个被选中的专家都要收到完整的 7168 维 token 表示,专家数一涨,卡间通信直接爆掉。
LatentMoE 的解法和 M4 的 LoRA 是同一个思想:路由专家不在全宽空间干活,先压到 3584 维(0.5×)的潜空间。共享专家保留全宽路径处理通用变换。
但这么极端的稀疏度(896/16 ≈ 56)会引出两个新故障,报告各给了一个解法:
故障一:激活值爆炸。 路由路径变成了「压缩 → 门控专家网络 → 升维」近四次连续矩阵乘,在 2.8T 规模下内部激活会失控。解法之一是把 SwiGLU 换成 SiTU-GLU——给两个乘法分支各加一个软封顶。
先看「全景」:SwiGLU 一路飙升不封顶。再切「放大近原点」:SiTU-GLU 和它几乎完全重合。这就是设计的精髓——常用区间行为不变,只在极端值处封顶。为什么非封不可?因为 K3 的专家权重用 **MXFP4(4 位)**存储,离群激活会直接溢出。
故障二:896 个专家里总有一批饿死。 M6 提过负载均衡,DeepSeek 的做法是给每个专家一个偏置、用固定步长慢慢试探着调。896 个专家下这个”慢慢调”太慢了。K3 提出 Quantile Balancing:一步解析地算出偏置该设多少。
反复点「跑一步 QB」:负载从 (4,3,1,0) 一步就改善到极差 2、饿死的专家被救活。关键机制:门槛 α 是从 Top-(k+1) 顺手拿到的——第 k+1 名的分数天然就是”想挤进前 k 得超过多少”,不用额外算分位数。
注意它停在近似均衡、没到完美的 (2,2,2,2)——这不是实现的 bug,是算法的真实性质,说明文字里讲了为什么。这一点恰恰是读论文时最容易被”示意图”骗过去的地方:论文 Fig.5 画的是一步的机制,不是保证一步到位。
🔍 还有一个你可能会忽略的改动:优化器不是 AdamW
M3 我们花了很大篇幅讲 AdamW。但 K2 和 K3 都不用 AdamW,用的是 Muon——它对参数矩阵做 Newton–Schulz 正交化后再更新。K3 进一步改成 Per-Head Muon:把注意力的 Q/K/V 投影矩阵按头切开,每个头独立正交化。
动机很直白:整块正交化会把所有头当成一个耦合块处理,于是梯度大的头主导了共享的更新尺度,梯度小的头就喂得不够。按头分开后各头的更新尺度被拉齐。
M3–M5 的概念,在 2.8T 尺度上长成什么样
预训练配方、九个专家模型、以及一个你没见过的蒸馏用法。
预训练:一个和 M3 结论相反的发现
M3 讲过学习率调度。K3 报告里有个值得注意的实验结论:他们做了独立的 scaling law 搜索后,发现 cosine 衰减稳定优于 WSD(Warmup-Stable-Decay)。
更值得学的是他们为什么这么比:报告明说,之前有工作报告 WSD 能匹敌甚至超过 cosine,但两种调度的最优超参差别很大——用同一套超参去比,等于偏袒其中一个。所以他们给两种调度各做了一次独立的超参搜索,在各自最优设置下比较。
**这条方法论比结论本身更值钱。**你以后看到任何”A 方法优于 B 方法”的对比,第一个该问的就是:两边的超参是各自调优的,还是共用一套?
其余预训练要点(都是 M3 概念的直接放大):上下文按 8K→64K→256K→1M 四段课程逐步扩展,把昂贵的长序列计算压缩在总预算的一小部分里;长上下文数据不够,靠打乱重排并拼接多文档来合成——强迫模型必须跨全程注意力才能解题,防止它退化成只看局部。
后训练:九个专家 → 一个模型
M5 学的是 SFT → RL 这条线。K3 的后训练是三段,第三段是你没见过的:
| 阶段 | 做什么 | 回扣 |
|---|---|---|
| 1. SFT | 用前代 Kimi 模型合成 agentic 轨迹,多阶段验证 + 人在环标注;用自研 XTML 模板序列化 | M4 |
| 2. RL | 三个领域(通用 / 通用 agent / 编码)× 三档推理力度(low/high/max)= 训出 9 个专家模型 | M5 |
| 3. MOPD | 多教师同策略蒸馏:把 9 个专家合并回一个统一模型 | 新 |
其余几个值得记的 RL 设计:
- Partial rollout:长任务的尾部延迟极高。他们让生成阶段在 λ 比例的轨迹完成时就暂停,把没跑完的排队、下一轮继续,避免整批被最慢的那条拖死。代价是数据会变陈旧(off-policy),靠逐 token 正则化扛住。
- 推理力度 RL:给每个问题一个 token 预算,超预算的轨迹奖励直接改成 −1。先用大预算训出 max 档,再逐步收紧预算退火出 high / low 档。
- Agentic 生成式奖励模型:不可验证的任务用 AI 当裁判,但强制它走固定流程——先读产出 → 再生成评分细则 → 再逐条打分 → 记录到评分板。并且给候选答案设长度上限,超长自动判负,防止模型靠”写得又长又满”骗过裁判(reward hacking,M5 讲过)。
官方自报 vs 第三方独立评测
这是读任何模型发布材料时最该先分清的一件事。
先说方法论。 K3 报告有个值得称赞的地方:它专门用一节(§6.3)列出第三方独立评测,而不是把自测数字和第三方混在一起。读任何模型发布材料,你都该先做这个切分——而且要分三层,不是两层。
把评测数字分成三层,而不是”官方 vs 第三方”
| 层级 | 含义 | K3 报告里属于这一层的 |
|---|---|---|
| ① 第三方独立 | 由外部机构评测并发布 | AA 智能指数、Vals AI、各 Arena、Agents’ Last Exam / Toolathlon-Verified / JobBench(各自官方榜单)、GDPval-AA v2、τ³-Banking、SciCode 等(引自 Artificial Analysis) |
| ② 自跑但披露了偏差 | 官方自己跑,但主动说明与标准配置的差异 | SWE-Marathon(用 2026-07-09 的 H20 重标定分支,非官方 v1.1)· PostTrainBench(在 H20 而非官方 H100 上跑,三次平均) |
| ③ 纯自报、结构上不可复现 | 依赖内部训练过程或内部基准 | 「2.5× scaling 效率」(基于 Moonshot 内部训练 run 拟合,第三方无法复现)· Kimi Code Bench 2.0 (Internal) 等一切内部基准 |
**第 ② 层最值得学。**一般发布材料要么不跑、要么跑了不说差异。K3 主动写明”我们用的是 H20 重标定分支""我们在 H20 而非 H100 上跑”——这种自曝差异的密度,本身就是可信度的指标。
顺带注意报告首页那行小字:“All Fable 5 results are with potential fallbacks. All GPT-5.6 Sol results include potential cyberguards.” ——对手的分数也有口径限定。看对比表时,别默认所有列都是同一条件下测的。
第一层:第三方独立评测(报告 §6.3 引用,截至 2026-07-23):
| 来源 | K3 成绩 | 位次 |
|---|---|---|
| Artificial Analysis 智能指数 v4.1 | 57.1 | 第 4 / 580(落后 Claude Fable 5 的 59.9、GPT-5.6 Sol 的 58.9) |
| Vals AI 行业基准 | 74.7 | 第 2 / 39(落后 Fable 5 的 75.1) |
| WebDev Arena(人类盲测) | 1678 Elo | 第 1 / 99——首个登顶该榜的开放权重模型 |
| Text Arena | 1486 Elo | 第 8 / 200 |
| Agent Arena | 9.1 | 第 4 / 37 |
第二、三层:官方自测的亮点(报告 Table 2):BrowseComp 91.2%、GPQA Diamond 93.5%、SWE-Marathon 42.0(领先 Fable 5 七分,但记得这项用的是 H20 重标定分支)、ProgramBench 77.8。
报告自己承认的短板——这部分比亮点更值得读:
- HLE-Full:43.5 / 56.0(带工具),落后 Fable 5 和 GPT-5.6 Sol
- CritPt:23.4,落后于三个闭源对手
- 报告原文承认:“研究级推理仍是有待改进的关键方向”
一个容易被忽略的维度:成本。 报告 §6.4 把分数和每任务成本一起画。BrowseComp 上 K3 拿到最高分 91.2%,每任务 $2.03——约为 GPT-5.6 Sol 的一半,比 Claude 系列最大力度便宜一个数量级。
评价一个模型不能只看分数排名,要看”分数 ÷ 成本”落在哪条帕累托前沿上。
🔍 报告里还有一节网络安全评测,值得单独一提
K3 报告用一整节(§6.2.2)评测模型的网络安全能力,分两级:漏洞发现(Tier 1)与端到端漏洞利用开发(Tier 2)。
Tier 1 结果:在数十个广泛部署的系统上,经人工复核的发现中约 70% 被确认为真实漏洞,包括 6 个项目中 16 个此前未知的漏洞——其中两个在 Linux 内核里。Tier 2(把漏洞变成可用 exploit):36 个任务解出 14 个(38.9%),对照 GLM-5.2 的 8 个(22.2%);但内核方向两个模型都有四分之三没解出。
值得注意的是,报告引用了英国 AI 安全研究所与美国 NIST CAISI 的联合独立评估,结论与自测一致。
你能从这份报告里拿走什么
不是让你去训一个 2.8T 模型——是把方法论和可复用的东西拿走。
本模块的任务单
| 步骤 | 你的动作 | 说明 |
|---|---|---|
| 1. 精读原文三节 | §2.1 KDA、§2.3 Stable LatentMoE、§6.3 第三方评测 | PDF 已在本地论文库,配着上面的实验读 |
| 2. 做一次”新旧分离” | 自己列一张表:报告里哪些是新概念、哪些只是放大 | 上面的对照表给了答案,但自己先列一遍再对 |
| 3. 追一条引用链 | 挑 KDA 一路追:Kimi Linear → DeltaNet → 线性注意力 | 前沿报告都是站在引用链上的,追一条比读十篇泛读有用 |
| 4. 跑一下(可选) | 用 vLLM/SGLang 部署配方跑量化版本 | 2.8T 全量需要集群,但可以读部署配方理解工程约束 |
| 5. 记问答 | 把读不懂的地方问我 | 记录到 05-问答记录/M7-KimiK3-问答.md |
别把”开放权重”等同于”开源”。 K3 用的是自定义的 Kimi K3 License(HuggingFace 元数据里 license: other、license_name: kimi-k3——平台自己都没把它归为 MIT/Apache)。经核对许可证原文,它外形像 MIT 但附加了两条非 MIT 条件:
- 营收阈值:以 MaaS 形式提供服务的运营方,若关联方合计营收在任意连续 12 个月内超过 2000 万美元,须与 Moonshot 另行签署协议;
- 署名义务:产品月活超 1 亿或月营收超 2000 万美元的,须显著展示 Kimi 品牌标识。
另外训练数据未公开——所以它是 open-weight 而非 open-source,Kimi 官方用的也是 “open weight” 措辞。
**⚠️ 一个流传很广的错误:**不少二次转述把 K3 许可证写成 “Modified MIT”——那是 Kimi K2 的许可证,被套用到了 K3 上。商用决策请直接读仓库里的 LICENSE 原文,不要信任任何转述(包括这里这段)。
你真正带走的能力: 一年后 K4、DeepSeek-V5、GLM-6 发布时,你能自己打开那份技术报告,在半小时内分清”这是我学过的东西的变体”和”这是我需要补的新概念”,并且知道该去追哪条引用链。这比记住 K3 的任何一个数字都值钱。
常见的坑 + 该带走的
| 坑 | 症状 | 怎么办 |
|---|---|---|
| 把官方自测当客观排名 | 高估模型实力 | 分三层:第三方独立 / 自跑但披露偏差 / 纯自报不可复现 |
| 只看分数不看成本 | 选型时忽略性价比 | 看”分数 ÷ 每任务成本”的帕累托前沿 |
| 以为”开放权重 = 开源许可” | 商用踩法务坑 | K3 是自定义许可证(含营收阈值条款),读原文 |
| 把 K3 许可证当成 “Modified MIT” | 二次转述的高频错误 | 那是 K2 的许可证;K3 是 license_name: kimi-k3 |
| 把 48B/3B 的数字当成 K3 | 差了约 58 倍 | 那是 Kimi Linear(K3 的方法论源头,48B 研究规模),不是 K3 的 2.8T |
| 以为 K3 发明了 KDA / NoPE | 归属错误、找不到方法原文 | 来自 Kimi Linear(arXiv:2510.26692),K3 是把它扩到 3T 级 |
| 把 NoPE 理解成”不用长上下文训练” | 严重误解 | 省掉的只是位置编码环节,四段式课程照走 |
| 把”参数更大”当成主要进步 | 抓不住报告重点 | K3 自己强调的是同算力下 2.5× 效率 |
| 以为注意力必须有位置编码 | 看不懂 NoPE | 递推结构本身携带顺序信息 |
| 以为大模型都用 AdamW | 记错事实 | K2/K3 用 Muon;K3 是 Per-Head Muon |
| 拿共用超参对比两种方法 | 得出偏袒性结论 | K3 的 cosine vs WSD 对比给了正确做法 |
这一模块你应该带走的
- KDA = 固定大小循环状态 + 通道级遗忘门 + delta 擦除,正面解决 KV cache 线性增长;代价是容量有限,所以每 3 层要插 1 层完整 MLA 兜底;
- AttnRes 把注意力用在”层”维度——每层可以直接向所有前序层取信息;
- Stable LatentMoE = 低秩专家空间 + 三件稳定器(RMSNorm / SiTU-GLU / Quantile Balancing);
- 软封顶(SiTU-GLU)是为低精度量化服务的——4 位权重下无界激活会溢出;
- Quantile Balancing 一步解析求偏置,比固定步长试探收敛快得多;
- NoPE 可行的前提是递推结构,好处是长上下文扩展不用动位置编码;
- MOPD 把蒸馏做成 RL 里的稠密奖励,从而复用整套 RL 基础设施;
- 读报告的方法论:新旧分离 · 官方 vs 第三方 · 分数 ÷ 成本 · 对比实验是否各自调优。
概念索引(本模块登场): KDA · delta 规则 · 通道级遗忘门 · 线性注意力 · 循环状态 · 分块并行 · NoPE · Attention Residuals · 层间注意力 · LatentMoE · 潜空间专家 · SiTU-GLU · 软封顶 · Quantile Balancing · Per-Head Muon · Newton–Schulz 正交化 · MXFP4/MXFP8 · QAT · MOPD · partial rollout · 推理力度 RL · Agentic GRM · MoonViT-V2 · 帕累托前沿
有不明白的? 随时在对话里问我,我会记录到 05-问答记录/M7-KimiK3-问答.md。
一手来源优先
这是一个刚发布的模型,二手解读大量涌现且质量参差——本节只列一手来源。
🎮 想更直观 10–30 分钟
🔬 想吃透原理 2–4 小时
⚠️ 验证状态提醒:§2 架构部分可以用 config.json 逐项独立核验;但 §3–§5(预训练配方、RL 方法、基础设施)目前只有报告自述,没有任何第三方复现——读的时候把它们当作「厂商的技术自述」,不是已被验证的事实。
📄 想追引用链 按需
我替你排除了什么: 大量”K3 深度解读 / 全面解析”类二次转述(发布一周内涌现,多数是报告摘要重排,且已发现数字抄错的情况)· 榜单营销稿 · “K3 吊打 XX”类对比标题党。
这个模块的原则更严:模型刚发布,二手内容的信噪比极低,一手来源(报告原文 + 官方仓库 + config.json + 独立榜单)已经足够,不需要中间商。