00 READING ORIENTATION
先别急着记缩写:K3 在扩展三种信息流
K3 报告自己的组织方式非常漂亮:沿序列长度、网络深度和模型宽度扩展信息流。 这比“又加了哪些模块”更接近真正的设计逻辑。
一句话内部怎样交流
KDA 负责低成本持续记忆,周期性的 Gated MLA 负责完整全局交互。
信息怎样穿过 93 层
Attention Residuals 让当前层有选择地读取早期层,而不只是接收统一累加结果。
容量怎样远大于计算量
Stable LatentMoE 建立 896 个路由专家,每个 Token 只激活 16 个。
第四个问题藏在模型外部:这些结构要在真实硬件上完成预训练、百万 Token 强化学习和线上服务。 所以报告第 5 章不是附录,而是 K3 设计的一半。没有 FlashKDA、专家并行、外置 KV Cache、 可恢复沙箱和集群调度,前面的架构只是一张昂贵的蓝图。
K3 想让信息在“很长的时间、很深的网络、很宽的专家库”里都能流动,同时让整个系统仍然能被训练和部署。
01 ARCHITECTURE OVERVIEW
一张图看完 K3:先看流向,再看数字
图 01 Kimi K3 架构的教学化简图。它强调 token、depth、channel 三个信息流维度,不代表逐算子实现;依据 K3 Technical Report Figure 2 与 §2 重绘。
KDA × Gated MLA:让一百万 Token 既高效流动,也保留全局精确交互
三层 KDA 像持续更新的“工作记忆”,每四层插入一层全局 MLA,像定期把整本笔记摊开重看。
- 3 个 KDA 层 + 1 个 Gated MLA 层为一组
- 主干共 69 层 KDA、24 层 Gated MLA
- KDA 线性扩展;MLA 周期性补足全局两两交互
Attention Residuals:每一层不只接住上一步,而是有选择地回看更早层
普通残差像接力棒,只能拿到累加后的结果;AttnRes 更像档案索引,可以挑选哪一层的中间表示最有用。
- 学习 pseudo-query,计算跨层注意力权重
- 覆盖 embedding、当前 block 与先前 block
- 目标是改善 93 层网络中的信息与梯度流
Stable LatentMoE:896 位专家里,每个 Token 只请 16 位
模型把“知识容量”和“本次计算量”拆开:专家库很大,但每次只激活最匹配的一小组。
- 2.8T 总参数,约 104B 激活参数
- 896 个 routed experts,另有 2 个 shared experts
- Normalized LatentMoE、SiTU-GLU、Quantile Balancing 稳住极稀疏路由
MoonViT-V2:图像不是外部 OCR 结果,而是进入同一主干的视觉 Token
视觉编码器先把图像压成一串向量,再由轻量投影器把它们放进和文字相同的表示空间。
- 401M 参数视觉编码器
- 训练中联合文本、图像与视频数据
- 支持视觉反馈闭环:看截图、改代码、再次验证
算法—系统协同:模型结构必须能在真实集群上被训练、强化学习和服务
一个公式只有在 GPU 内核、跨卡通信、显存和调度上都跑得通,才真正成为 2.8T 模型的一部分。
- FlashKDA 与 KDA Context Parallelism
- MoonEP 的平衡专家并行与零拷贝通信
- 长上下文 RL 的外置 KV Cache、可恢复 microVM 沙箱与部分 rollout
关键规格应该怎样读
表示模型装下的总容量,不等于每个 Token 都计算全部参数。
单个 Token 前向时实际经过的参数规模,仍然非常大。
其中 1 层 dense;注意力由 69 KDA 与 24 Gated MLA 组成。
主干表示宽度;LatentMoE 内部路由空间压到 3584。
另有 2 个 shared experts,给通用变换保留稳定路径。
约一百万 Token;能放下不等于不需要上下文管理。
MoonViT-V2 把图像和视频编码到共享表示空间。
专家权重 MXFP4、专家激活 MXFP8,非专家模块保留更高精度。
MoE 的核心正是把参数容量和每 Token 计算拆开。2.8T 描述可用参数总量;104B 才更接近一次前向的激活规模。 但 104B 依然远高于许多 dense 模型,所以“稀疏”不等于“能在普通显卡轻松运行”。
02 KIMI DELTA ATTENTION
KDA:不保存所有配对,而是维护一份会更新的工作记忆
标准注意力会让每个新 Token 和许多旧 Token 直接比较。KDA 改成维护一个固定形状的状态: 新信息到来时,先有选择地遗忘,再用“纠错式写入”更新这份状态。
从标准注意力的账单说起
长度为 n 的序列,如果做完整 self-attention,需要形成近似 n × n 的交互。 在一百万 Token 处,哪怕使用 FlashAttention 避免把整张矩阵写回显存,计算量仍按平方增长。 线性注意力的基本想法是先把历史压进状态 S,读取时只让 Query 查询状态。
õₜ = Sₜᵀqₜ教学化书写,符号对应 K3 Report Eq. 1。α 控制各通道保留多少旧状态;β 控制本次写入强度; delta rule 先擦除当前 key 已有的预测,再写入新的 value。
为什么叫 Delta Rule
如果直接做 S ← S + kvᵀ,同一个 key 反复出现会不断累加,状态容易被重复信息污染。 Delta Rule 先问“现有状态对这个 key 已经会输出什么”,只写入真实 value 与旧预测之间的差值。 它像修改文档:不是每次把整篇内容追加到末尾,而是找到对应位置做差量更新。
K3 相比 Kimi Linear 改了什么
- 逐通道遗忘门。α 不是一个标量,而是 key channel 级别的保留率;不同维度可以拥有不同记忆时长。
- 把 log-decay 下界固定为 −5。Kimi Linear 的衰减映射下界无穷,会让 chunk 内累计衰减的倒数爆大; K3 将其限制在可由 BF16 表示的范围,从而让对角 tile 也能直接使用 Tensor Core 的稠密矩阵乘。
- 全秩、输入相关的输出门。读取状态后,模型可以对每个输入动态决定哪些输出通道放行。
- 块内并行、块间递归。序列分成 chunk:chunk 之间传状态,chunk 内改写成并行矩阵计算,兼顾训练吞吐与线性推理。
K3 报告把整体约 2.5× scaling efficiency 改善归因于 KDA、AttnRes、Stable LatentMoE 与训练/数据配方的组合, 不能把 2.5× 单独归到 KDA。KDA 的独立机制与消融需要同时阅读Kimi Linear 和 K3 §2.1。
03 GATED MLA
周期性 MLA:工作记忆之外,仍要把全局摊开来看
纯递归状态的优势是成本低,弱点是历史被压进固定大小状态后,精确回看某个遥远 Token 会更难。 K3 没有把完整注意力全部删除,而是采用 3 层 KDA + 1 层 Gated MLA 的混合模式, 并保证主干最后一层也是 Gated MLA。
MLA 在压缩什么
Multi-head Latent Attention 由 DeepSeek-V2 引入。 标准多头注意力会为每个历史 Token 缓存多头的 K 和 V;MLA 先把它们压到低维 latent cₜ, 服务时缓存 cₜ,计算注意力时再通过投影恢复各头所需内容。它保留全局 token-to-token 交互, 同时显著缩小 KV Cache。
为什么 K3 的 MLA 不再使用位置编码
K3 在全部 MLA 层采用 NoPE:Query 和 Key 不显式加入位置编码。位置与近因信息主要由穿插的 KDA 提供, MLA 专注于全局内容匹配。这样扩展上下文时,也不必重新调 RoPE base 或应用 YaRN。 这是混合架构的一个重要分工:KDA 提供位置敏感的持续混合,MLA 提供不受限的全局内容交互。
K3 还给 MLA 加入与 KDA 对齐的输入相关全秩输出门,并在训练时将 attention output 保持为 FP32, 以纠正 FlashAttention 中有偏的舍入误差;代价是更大的片上存储,报告为此重新安排了 kernel 中的 tile 缓冲重叠。
04 ATTENTION RESIDUALS
把注意力从“时间方向”旋转到“深度方向”
Transformer 用注意力解决了 RNN 必须把全部历史压进一个时间状态的问题。 K3 提问:普通 residual 是否又把所有早期层压进了一个深度状态?
标准残差不断做 hₗ₊₁ = hₗ + Fₗ(hₗ)。它很利于梯度传播,但越早的特征会在统一累加中混在一起。 Full AttnRes 为每一层设置可学习 pseudo-query,对 embedding 和所有先前层输出计算权重,再按权重组合。 这里的“Query”不是当前 Token 内容,而是“第 l 层通常希望从哪些深度取信息”的可学习参数。
hₗ = Σᵢ αᵢ→ₗ · vᵢ对应 K3 Report Eq. 8–9 的简化展示。RMSNorm 防止幅值大的层仅凭数值尺度垄断权重。
为什么又要做 Block AttnRes
Full AttnRes 的层数平方计算在不足 100 层时并不离谱,真正麻烦是保留所有层输出带来的内存与流水线跨 stage 通信。 K3 把层分成 block:block 内先求和,跨 block 才做完整深度注意力。报告称经验上约 8 个 block 可保留大部分收益; K3 使用 12 层一个 block,加上 embedding 来源,总计形成 9 个深度来源组。
Kimi Team 已公开 Attention Residuals 独立预印本, 在 48B-total / 3B-active 模型上用 1.4T Token 做了 scaling 与消融;K3 则证明它能进入 2.8T 系统。 但它仍是 2026 年的新方法,第三方复现和跨架构外部有效性需要持续积累。
05 STABLE LATENTMOE
896 选 16:极稀疏带来容量,也放大不稳定
传统 MoE 让被选中的每个专家都处理完整 d 维 Token。选更多专家时,不只计算变多, Token 跨设备发送的数据和专家权重读取也随 routing multiplicity 增长。 LatentMoE 把通用的 full-width 路径留给 shared experts,把 routed experts 放进较窄 latent space: K3 主干宽度 7168,路由 latent 维度 3584。
Stable 具体在稳定什么
报告指出极端稀疏度会放大两个失败模式:routed path 连续多次矩阵乘导致内部激活爆炸;近千专家的负载难以靠旧的无辅助损失 bias update 稳定平衡。K3 加入三项修复:
- Normalized LatentMoE:在上投影之前加入 RMSNorm,阻止 routed aggregate 的尺度失控。
- SiTU-GLU:用有界的 tanh 分支近似 SwiGLU 的近原点行为,同时限制大正输入的输出幅值。
- Quantile Balancing:不只盯平均负载,而用路由分数的分位统计更新专家 bias,适应近千专家下更复杂的分布。
这条技术线与 DeepSeekMoE 紧密相连:shared experts 保存公共知识,细粒度 routed experts 促进专业化。 K3 再借 LatentMoE 让“选 16 个专家”的通信和权重读取可承受,并为极端稀疏补上稳定性机制。
进入 MoE 专题:逐步推导 LatentMoE 与 Quantile Balancing →06 NATIVE VISION & MUON
视觉是第一类输入;优化器也按注意力头重新分组
MoonViT-V2 的角色
401M 参数 MoonViT-V2 将图片与视频编码成视觉特征,轻量 projector 把它们映射到语言主干的 embedding space。 “原生”最重要的含义不是“能看图”,而是视觉数据在预训练阶段就进入统一模型;后训练中的 Agent 还能把截图、 图表、裁剪/缩放后的新图片当作连续 observation,形成看—行动—再看的闭环。
报告描述了渐进式多模态训练:先固定语言模型训练视觉组件,再逐步解冻主干;多模态编码器优化则涉及动态分辨率、 packing 与避免视觉计算造成流水线 bubble。完整视觉谱系会从 ViT、CLIP、Flamingo、BLIP-2、LLaVA 讲到 Kimi-VL。
Per-Head Muon 为什么出现
Muon 在矩阵更新上做正交化,目标是比逐元素 Adam 更好地控制隐藏层更新。K3 采用 per-head 分组: 对 Q/K/V 等多头投影,按 head 分开应用 Muon,而不是把整块矩阵当作一个整体。 直觉上,每个 head 是相对独立的子空间,按 head 归一更新可减少大矩阵不同部分相互干扰。
报告把 Per-Head Muon 放进统一训练配方,但整体 2.5× scaling efficiency 并不是单项优化器消融结论。 Muon 的通用可扩展性应另外阅读 Muon is Scalable for LLM Training。
07 PRE-TRAINING
预训练:扩展的不只是参数,还有数据、长度和数值配方
K3 报告将模型能力的提升明确归因于架构、数据和训练 recipe 的共同作用,但没有公开足以复现的完整语料配比。 这需要区分两件事:我们可以准确解释训练阶段和公开机制,却不能根据少量描述虚构完整数据集。
Scaling Law 在这里怎样用
团队先在较小规模训练一系列模型,拟合 loss 与参数、数据和计算之间的关系,再用它比较架构候选与估计 2.8T 模型的预算。 K3 所称约 2.5× overall scaling efficiency,是相对 K2 的经验缩放效率:在相同计算下取得更低 loss,或达到同等 loss 所需计算更少。 它不是“推理速度提高 2.5×”,也不是所有下游任务统一提升 2.5×。
长上下文不是把配置里的 32K 改成 1M
上下文扩展需要长度 curriculum、长文档数据、并行策略和稳定训练。K3 的 NoPE MLA 避免 RoPE 外推参数; KDA 的递归/块并行结构降低长序列成本;系统侧再用 KDA Context Parallelism 分摊状态与 chunk。 最后还要在 post-training 里真正让模型经历长轨迹,否则“窗口能装下”不等于“模型会有效使用”。
能把一百万 Token 放进输入,像图书馆允许你搬进一百万字;能否跨文档找到证据、维持任务状态并避免遗忘, 才是在考你是否真的读懂。K3 同时用架构、长程 RL 和上下文管理训练这件事。
08 POST-TRAINING
九位“专家老师”,最后蒸馏成一个可调思考强度的模型
K3 的 post-training 覆盖 SFT 与 RL,RL 按三类 domain 与三种 reasoning effort 组织: general reasoning/knowledge、agentic、coding × low/high/max,形成九个专业策略。 然后用 Multi-Teacher On-Policy Distillation(MOPD)把它们整合进统一学生模型。
为什么要训练不同 reasoning effort
“更久思考”会提高部分难题表现,也会增加延迟、成本和过度思考。K3 通过预算控制参数训练 max/high/low 专家: 先在较大预算下追求能力,再逐步退火得到更短策略。不同 domain 的预算调整由人工参与配置, 因为一道数学题、一次网页研究和一个代码仓库任务的合理轨迹长度并不相同。
On-policy distillation 为什么比离线模仿更适合长轨迹
普通蒸馏常让学生模仿教师已经生成的固定答案;学生一旦在真实生成中走到不同前缀,教师数据就失去覆盖。 On-policy distillation 让学生自己生成当前前缀,再在这个前缀上比较教师和学生对下一个 Token 的概率, 形成稠密 reward。这样训练分布更贴近学生真正会访问的状态,也能自然结合 partial rollout。
进入推理专题:并排理解 partial rollout、reasoning effort 与 MOPD →部署约束直接进入后训练
K3 从 SFT 开始对 MoE expert weights 使用 MXFP4 QAT,expert activations 使用 MXFP8; RL rollout 和训练采用相同量化方案,减少训练—推理失配。预训练中的 MTP 层随后被微调为 EAGLE-3 风格 draft model, 用低/中/高层 AttnRes 特征预测候选 Token,并直接优化与无损推测采样接受率相关的 LK loss。
09 AGENTIC RL
Agent 能力不是只靠“更聪明”,而是靠环境提供可学习的反馈
K3 报告最值得细读的部分之一,是它把 Agent 后训练写成环境工程:工具、system prompt、context management、 skills、memory、subagents 和 harness 都成为可组合变量。训练时动态实例化 Kimi Code、Claude Code、Codex、 OpenClaw、Hermes 等风格,避免模型过拟合一套固定工具 schema。
六类环境回答六种失败模式
可验证搜索与专业工作
多步检索、投行、数据分析、法律交付物;奖励落在证据和最终成果。
视觉推理
模型在隔离 Python 环境里裁剪、放大、计算并把新图片作为 observation。
GPU Kernel 优化
先过数值正确性,再比较专家实现与硬件 roofline,并检测缓存/降精度等作弊。
长期个人助理
用 Gmail、Notion、Slack 等 mock app 构造跨多日事件;单次可达数千工具调用。
Autonomous Execution
只给初始状态、目标、约束、工具和 verifier,不提供参考轨迹;奖励最终环境状态。
Web 开发
容器内构建网页、游戏、3D、可视化;功能测试、结构/像素相似与模型检查共同评分。
为什么 verifier 比“模型说完成了”更重要
长任务最常见的失败之一,是 Agent 输出一段令人信服的总结,却没有真正改变目标状态。 K3 的 AET 把 reward 绑定到独立 verifier 读取的环境结果;public verifier 提供诊断, hidden verifier 检查保留场景,并限制提交预算以减少 reward hacking。
可靠 Agent 的学习单位不是“一条漂亮回答”,而是状态明确、动作可执行、反馈可验证的一整段轨迹。 Harness 多样化、持久环境和独立 verifier,分别处理接口过拟合、短视行为和自我宣告成功。
10 INFRASTRUCTURE
2.8T 参数与 1M 轨迹,迫使系统重新设计状态放在哪里
K3 基础设施可以按三类状态理解:模型状态(参数、优化器)、序列状态(KDA state、KV Cache)、 环境状态(代码仓库、应用、microVM)。三类状态的寿命和移动成本完全不同。
请求级状态
KDA-aware prefix cache、专用 kernel、cache/budget-aware fleet scheduling,把共享前缀和不同思考预算纳入调度。
轨迹级状态
partial rollout、外置 KV retention、adaptive throttling 与可恢复 microVM,避免每次更新都丢掉漫长轨迹。
训练级状态
MoonEP 用静态计算形状、平衡专家执行与 zero-copy communication,配合内存优化和多模态 encoder 调度。
算子级状态
针对不同序列 regime 的 fused kernel、KDA Context Parallelism 与状态感知前缀缓存。
MoonEP 在解决什么
MoE 的理论 FLOPs 很漂亮,真实系统却可能被“这个专家突然收到太多 Token”拖垮。 跨卡 all-to-all 通信、专家权重读取和不规则 shape 都会制造等待。K3 报告称 MoonEP 追求 perfectly balanced expert execution, 使用静态计算形状和零拷贝通信把路由后的 Token 送到对应专家。这里的“平衡”是系统执行层结果,不等于路由概率天然均匀; 它和模型侧 Quantile Balancing 是互补层次。
为什么长程 RL 需要保留外部状态
传统 RL rollout 常在模型更新后重新生成。若一条轨迹已经调用工具几百次、积累几十万 Token, 重新生成会浪费巨大。K3 将 KV Cache 放到外部、允许 partial rollout 暂停并续接; 同时把工具环境放进可恢复 microVM,使代码、文件和应用状态与语言上下文一起跨训练 step 存续。
11 EVALUATION & LIMITS
K3 很强,但报告也明确说它总体仍落后最强闭源模型
官方报告的总体表述很克制:K3 在其评测套件中领先被比较的其他开放与部分闭源模型, 但整体仍落后 Claude Fable 5 与 GPT-5.6 Sol。理解这句话,比挑一个 K3 第一名的榜单更重要。
评测数字至少要带四个脚注
- 思考预算:K3 主结果使用 reasoning effort=max,其他模型也尽量用 max/xhigh;成本和延迟不是相同维度。
- Harness:代码与 Agent 分数是“模型 + Codex/Kimi Code/Claude Code 等脚手架”的系统结果。
- 工具增强:HLE、视觉数学等同时报告不用工具/用工具,不能把两列混为纯模型能力。
- Fallback / Guard:某些闭源模型出现 fallback、拒答或 cyber guard,可能显著影响特定任务分数。
例如 BrowseComp 使用 300K Token 触发上下文压缩时 K3 报告 91.2;完整 1M 窗口、不做上下文管理时是 90.4。 这反而给出重要工程信号:更大的窗口不自动消灭 context management,适时压缩可能更有效。
报告没有给出足以独立复现的完整数据配比、总训练 token 数、全部集群规模与训练成本; 新架构也缺少广泛第三方复现。网站会持续加入开放权重评测和独立复现,但不会用参数量或单榜第一替代综合判断。
↳ PRIMARY SOURCES
读完本页以后,下一步回到这些一手材料
本页锚点;架构、预训练、后训练、系统和评测的完整一手报告。
Attention Residuals跨深度选择的独立预印本、Block AttnRes 系统设计与 scaling 消融。
Kimi LinearKDA 的表达能力、chunkwise 算法与 hybrid linear attention 祖先。
DeepSeek-V2MLA 与 DeepSeekMoE 的系统性引入,K3 周期性全局注意力的关键来源。
DeepSeekMoEshared experts 与细粒度专家特化,Stable LatentMoE 的组织祖先。
LatentMoE把 full model width 与 routed expert width 分离,扩张专家数量与激活数。
Kimi k1.5大规模强化学习、长 CoT 与推理时扩展的 Kimi 前代主线。
Kimi K2开放 Agentic Intelligence、MoE 主干和工具使用的直接前代。
Kimi K2.5视觉 Agent、并行 Agent Swarm 与 K3 多模态/Agent 后训练的前代。