Kimi K3 的真正门槛,不在 2.8T 参数里

Kimi 把 K3 的开放权重和 47 页技术报告一起放了出来。最容易被截图的数字是 2.8T 总参数、104B 激活参数和 100 万 token 上下文。但报告的核心不在这些数字上。

K3 在追问一个自己给自己找的难题:模型继续变大、上下文继续变长、Agent 一次工作几小时后,原来的架构还能不能撑住?KV Cache 膨胀,网络加深后信息混合,专家增加后路由失控,Agent 轨迹变长后强化学习被慢任务拖死。这些问题没法靠加 GPU 解决。

所以它的主线是:把随规模膨胀的计算和状态,改造成可压缩、可调度、可暂停恢复的结构。它不是在 K2 基础上简单放大三倍,而是重新考虑了模型怎样保存信息、调用计算、持续完成长任务。

三项架构改动值得单独看。KDA 用固定大小递归状态压缩历史,但没无脑替换,每个模块放 3 层 KDA 和 1 层 Gated MLA,末尾留全局注意力。KDA 负责长期状态更新,MLA 定期回去查完整上下文。

AttnRes 把选择机制从序列维度搬到了网络深度。普通残差连接把各层输出不断加进同一隐藏状态,网络越深信息越混。AttnRes 让当前层能从不同深度做加权选择,约 12 层一个 Block 聚合,保留中间版本供后面调用。它不依赖 2.8T 参数,也不必须搭配 MoE——所有深层网络都会遇到同样的问题。

LatentMoE 处理宽度。896 个专家、每个 token 激活 16 个,通信很快到瓶颈。K3 把隐藏状态从 7168 维压缩到 3584 维让专家计算,再映射回去。负载均衡改用 Quantile Balancing,根据分位数直接估计偏置,不是一点点试。

但这只是前半段。K3 拉开差距的地方,是让 Agent 的强化学习能处理数小时的任务。传统同步学习等整批完成再更新,一个任务慢就卡住。K3 用 partial rollout——先完成的先更新,没完成的暂停后恢复,用逐 token 限制策略变化来容忍异步。

AgentENV 用 Firecracker microVM 支持暂停、恢复、复制和快照。训练和评估期间创建了超过 5100 万个 sandbox,推理时可暂停,生成下一步后快速恢复。数小时轨迹因此能反复暂停继续,长程任务才真正进入了强化学习。在 Kernel 优化任务上,K3 不是一次生成代码就收工,而是在十几小时内持续尝试、测试和修改,不断刷新最好结果。

原生视觉也起了关键作用。MoonViT-V2 从零训练,数据包含代码与渲染结果的配对。模型先写代码,运行看截图,再根据画面修改。视觉被用作反馈通道,不只是另一项独立能力。

代价也需要说清楚。官方提到 2.5 倍整体 scaling efficiency,但这不等于训练总成本只有 K2 的 40%,也不等于推理快了 2.5 倍。K3 总参数从 1.04T 增到 2.78T,激活从 32.6B 到 104.2B,层数从 61 到 93,无论训练还是部署都更重。2.5 倍来自架构、数据、优化器共同作用,报告没给逐项消融。评测上 K3 确实进入第一梯队,尤其在编程、搜索和长程工具调用上突出,但它通常需要更高推理投入——更多步骤、更多输出 token、更长时间检查。对简单问答显得缓慢且昂贵。

这并不削弱 K3 的成绩,但说明了一个趋势:进入 Agent 阶段后,模型能力已经很难与运行环境彻底分开。一个模型强不强,不只取决于权重,还取决于它用什么工具、能跑多少步、以及系统愿意投入多少时间。K3 值得关注的不是某一个孤立技巧,而是它把架构、训练和 Agent 基础设施连成了一整套系统。

相关链接:
- https://www.kimi.com/blog/kimi-k3