![]()
它把架构、训练和 Agent infra连接成了一套完整系统。
作者丨郑佳美
编辑丨马晓宁
Kimi K3 发布开放权重,最抢眼的数字有三个:2.8T 总参数、104B 激活参数,以及 100 万 token 上下文。
这些数字当然重要,但读完 47 页技术报告会发现,它们更多是技术改造后的结果,而不是这份报告真正值得关注的部分。
![]()
Kimi K3 想解决的是一个更实际的问题:当模型继续变大、上下文继续变长,Agent 一次工作几个小时以后,原来的 Transformer 架构和训练系统还能不能撑住?
上下文变长,KV Cache 会持续膨胀;网络变深,前面几层的信息会被不断混合;专家数量增加,路由、通信和设备负载容易失控;Agent 轨迹越来越长,强化学习又会被少数慢任务拖住。
这些问题显然不能只靠增加 GPU 解决。
Kimi K3 的技术主线,是把原本会随着规模不断膨胀的计算和状态,改造成可以压缩、可以调度、可以暂停和恢复的结构。它不是简单把 Kimi K2 放大了接近 3 倍,而是在重新设计大模型怎样保存信息、怎样调用计算资源,以及怎样持续完成长任务。
![]()
01
撑住 2.8T 的,不是更多 GPU
Kimi K3 最核心的三项架构变化,分别处理 Transformer 在序列、深度和宽度上的扩展问题。
先看序列。传统注意力需要保存历史 token 的 Key 和 Value。上下文越长,KV Cache 越大。
这相当于阅读材料时,把看过的每一页都摊在桌面上。材料不多时,查找很准确;材料达到几十万页后,存储、搬运和读取成本都会迅速增加。
Kimi Delta Attention,也就是 KDA,采用固定大小的递归状态保存历史。模型不会完整保留每个 token,而是在阅读过程中不断更新一份压缩记忆。序列继续增长,这份状态不会按照相同比例膨胀。
但压缩记忆一定会损失部分细节。全注意力保存的是原始档案,可以直接回看某个具体位置;KDA 保存的更像一份持续更新的摘要,信息在反复写入时可能被覆盖。
所以,Kimi K3 没有完全使用 KDA,而是在每个模块中安排 3 层 KDA 和 1 层 Gated MLA,并在模型末尾保留全局注意力。
两者的分工很明确:KDA 负责低成本地更新长期状态,MLA 定期重新检查完整上下文。一个负责压缩,一个负责查找,在效率和信息容量之间取平衡。
Kimi K3 还调整了 KDA 的衰减参数范围。此前某些衰减值可能变得过小,累计计算后容易超出 BF16 的安全范围,迫使部分计算采用效率较低的特殊 kernel。Kimi K3 给衰减设置了下界,使相关计算可以统一转换成 Tensor Core 擅长的稠密矩阵乘法。
![]()
这个改动没有提出新的注意力概念,却很能说明 Kimi K3 的技术思路:算法不能只在复杂度公式中更漂亮,还要真正适合 GPU。雷峰网
100 万 token 也不能简单理解成“模型能够准确记住 100 万 token”。Kimi K3 使用了从 8K、64K、256K 到 1M 的渐进式训练,并专门构造关键信息分散在不同位置的长上下文数据。
上下文窗口代表模型能够处理多长的输入,不代表窗口内的信息都能被无损利用。KDA 解决的是长上下文能否持续运行,而不是彻底消除长距离信息损失。
序列变长以后,信息会被压进递归状态;网络变深以后,也存在类似的信息压缩问题。
标准残差连接会把每一层的输出不断加到同一个隐藏状态中。这种方式训练稳定,但随着网络加深,前面不同层的信息会逐渐混在一起。
到了后面的层,模型拿到的是几十次计算叠加后的结果,很难单独取回早期的词法信息、中间层的结构信息,或者某个阶段形成的局部特征。
Attention Residuals,也就是 AttnRes,让当前层能够对前面不同深度的表示进行加权选择。
普通残差连接像是把所有修改都覆盖到同一份文件里,只保留最终版本。AttnRes 则保留若干中间版本,后面的网络可以根据需要重新调用。
这个思路与 Transformer 取代 RNN 有些相似。RNN 把所有历史 token 压进一个状态,Transformer 允许当前 token 直接读取不同历史位置;AttnRes 则把这种选择机制从序列维度带到了网络深度。
为了控制显存和通信成本,Kimi K3 并没有保留全部 93 层的独立输出,而是按照约 12 层一个 Block 进行聚合,再对不同 Block 的表示进行选择。
![]()
这是一种折中。模型可以重新调用不同深度的信息,但只能定位到某一组层,不能精确读取其中的任意一层。雷峰网
AttnRes 使用的查询也主要是每层学习得到的伪查询,并不像标准注意力那样完全由当前 token 动态生成。它比固定残差连接灵活得多,但还不是毫无限制的跨层全注意力。
即便如此,AttnRes 仍然可能是 Kimi K3 中最容易被其他模型采用的设计。它不依赖 2.8T 参数,也不必须搭配 KDA 或 MoE,解决的又是所有深层网络都可能遇到的问题。
不过,目前还不能断言它会成为新的标准结构。Kimi K3 报告将整体效率提升归因于架构、数据和训练配方的共同变化,没有完整拆分 AttnRes 的独立贡献。它的实际价值,还需要更多外部模型验证。
![]()
处理完序列和深度之后,还剩下模型宽度。
Kimi K3 每层拥有 896 个路由专家,每个 token 选择其中 16 个。更大的专家池可以增加模型容量,但也会同时增加通信、显存读取、激活异常和负载不均衡的风险。
普通 MoE 会把完整隐藏状态发送给被选中的专家。激活专家越多,需要传输的数据也越多。
Kimi K3 使用 LatentMoE,先把 7168 维隐藏状态压缩到 3584 维,让路由专家在较窄的空间中计算,再映射回完整维度。
这样一来,模型可以同时增加专家总数和每个 token 激活的专家数量,又不必让通信量按照完整隐藏维度增长。
不过,连续的降维、专家计算和升维容易放大异常激活。Kimi K3 因此在专家聚合后加入 RMSNorm,并使用 SiTU-GLU 代替 SwiGLU。
SiTU-GLU 可以理解成一个平滑的限幅装置。数值正常时,它尽量保留 SwiGLU 的特性;数值过大后,增长会逐渐受到限制,从而降低低精度训练中的溢出风险。
![]()
数值稳定之后,还要解决设备负载。
如果大量 token 同时选择少数热门专家,这些专家所在的 GPU 会排队,其他设备却在等待。MoE 的实际速度往往不由平均计算量决定,而由最慢的设备决定。
传统方法一般根据专家当前是过载还是空闲,以固定步长调整路由偏置。专家数量接近 900 后,步长小了调整太慢,步长大了又可能在过载和空闲之间反复震荡。
Kimi K3 提出的 Quantile Balancing,会根据整批路由分数的分位数,直接估计每个专家需要怎样的偏置,才能接近目标负载。
它不是一点点试,而是根据当前分布直接重新计算“录取线”。
![]()
不过,负载均衡解决的是计算效率,不是专家的能力质量。每个专家收到相近数量的 token,只能避免部分专家过热、部分专家几乎没有训练,不能证明 896 个专家都形成了清晰、有价值的专业分工。
在训练系统中,MoonEP 还会为热门专家创建动态副本,使不同设备接收到相同数量的 token。Quantile Balancing 负责算法层面的路由,MoonEP 负责硬件层面的执行,两者一起解决极端稀疏 MoE 最现实的瓶颈。
把这三项技术放在一起看,Kimi K3 的架构思路其实很统一:KDA 压缩序列状态,AttnRes 重新调用深度信息,Stable LatentMoE 压缩专家通信。
它们分别处理模型变长、变深和变宽之后的信息流问题,目标都是用有限的运行成本,支撑更大的模型容量。
![]()
![]()
02
把一次回答拉成 24 小时的执行链
架构决定模型能够容纳多少信息和能力,但要让 Agent 连续工作几个小时,真正困难的部分往往发生在强化学习系统里。
真实 Agent 任务很少在几步内结束。
编程 Agent 需要阅读代码、运行测试、修改文件、等待编译并继续排错;研究 Agent 可能要搜索网页、下载资料、制作表格,再不断核对结论。一条轨迹可能包含数百甚至数千次工具调用。
传统同步强化学习会等待同一批任务全部完成。只要其中有几个任务特别慢,整批 GPU 就会被拖住。
Kimi K3 使用 partial rollout。只要一部分轨迹完成,系统就先使用这些数据更新模型;尚未完成的轨迹暂停,之后再恢复执行。
这让长任务不再阻塞整批训练,却也产生了数据陈旧问题。一条轨迹可能跨过数次模型更新,前半段和后半段不再来自完全相同的策略。
Kimi K3 通过逐 token 正则限制每次策略变化,让训练能够容忍这种高度 off-policy 的数据。它接受长程 Agent 训练必然存在异步和延迟,而不是强行维持一个整齐的同步流程。
更复杂的问题是保存外部环境。保存聊天记录并不能恢复 Agent 的工作现场。模型可能已经修改了文件、安装了软件、启动了进程,或者生成了大量中间结果。任务恢复时,文件系统和进程状态也需要一起恢复。
![]()
Kimi K3 的 AgentENV 使用 Firecracker microVM,支持暂停、恢复、复制和快照。报告披露,训练和评估期间一共创建了超过 5100 万个 sandbox。
真正重要的不是这个数量,而是 sandbox 可以在等待模型推理时暂停,避免持续占用 CPU 和内存,并在模型生成下一步动作后快速恢复。
这使数小时的 Agent 轨迹能够反复暂停和继续,长程任务也因此可以真正进入强化学习,而不只是停留在产品演示中。
这种长程执行能力,在 Kernel 优化任务上表现得更直观。面对 AttnRes Kernel,Kimi K3 不是一次生成代码就结束,而是在十几个小时内持续尝试、测试和修改,不断刷新当前最好结果,最终将相对 FLA Triton 基线的加速幅度提升到 59.7%。
这类任务考验的不是单次代码生成,而是模型能否在长期执行中保留进度,并根据每次运行结果继续调整方案。
![]()
DSA Kernel 优化任务进一步说明,Kimi K3 的长程能力并不只是把任务“拖得更久”,而是在持续执行中不断积累有效改进。
横轴记录的是 Agent 的实际工作时间,圆点代表刷新最好成绩,叉号则代表一次次未能突破的尝试。
Kimi K3 在接近 24 小时的过程中持续编写代码、运行测试、分析性能瓶颈并调整方案,最终将相对 FLA Triton 基线的加速幅度提升到 55.1%,仅次于 Claude Fable 5 的 57.3%,同时高于 GPT-5.6 Sol、Claude Opus 4.8 和 GPT-5.5。
这里体现的重点不是某一次代码生成得有多好,而是模型能否利用大量失败结果,持续修正方向,并把一个复杂工程任务一步步推到更高水平。
![]()
而在 MLA Kernel 优化任务上,Kimi K3 同样表现出了持续推进复杂工程任务的能力。
Kimi K3 在多轮编写、测试和调整后,将性能逐步提高到 518 TFLOPS,高于 Claude Fable 5 的 493 TFLOPS,以及 Claude Opus 4.8、GPT-5.5 和 GPT-5.6 Sol。
相比一次性生成代码,这更能证明长程 Agent 的价值:它可以保留此前找到的有效方案,再通过后续实验不断抬高当前最好结果。
![]()
在 KDA-GPGPU Kernel 优化任务中,Kimi K3 的优势更加明显。
它在超过 20 小时的持续实验中不断编写代码、测试性能并调整方案,最终将相对 FLA Triton 基线的加速幅度提升到 73.6%,高于 GPT-5.6 Sol 的 66.7%、Claude Opus 4.8 的 57.0% 和 Claude Fable 5 的 56.5%。
这说明,长程 Agent 的价值不只是延长工作时间,而是能保留此前的有效结果,在多轮尝试中继续寻找更好的实现。
![]()
但长程 Agent 只会保存状态还不够,它还需要判断自己做得对不对。这也是 Kimi K3 原生多模态设计的重要价值。
Kimi K3 的视觉编码器 MoonViT-V2 从零开始训练,没有先使用 SigLIP 等对比学习模型初始化。报告中的实验显示,使用预训练视觉编码器时,联合训练会出现更高、更频繁的梯度尖峰;从零训练的 MoonViT-V2 更稳定,同时最终视觉能力接近预训练初始化方案。
这项设计的意义不只是让模型“会看图”。Kimi K3 的多模态数据包含大量代码与渲染结果的配对,例如网页、SVG、游戏、3D 资产和 CAD 图形。模型可以先编写代码,运行后查看截图,再根据实际画面继续修改。
视觉在这里不是一个独立功能,而是 Agent 的反馈通道。
模型不再只能根据代码文本猜测结果是否正确,而是能够真正看到自己生成的界面、图形或视频,再发现偏差并继续修正。
因此,Kimi K3 的 Agent 训练形成了一个完整闭环:保存任务状态,持续执行工具,观察真实结果,再根据反馈调整下一步动作。
![]()
![]()
03
更强的模型,更贵的答案
值得一提的是,官方报告称 Kimi K3 相比 Kimi K2 获得了约 2.5 倍的整体 scaling efficiency。
这个数字表示,在拟合出的 scaling law 中,达到相同验证损失所需的计算量更少,或者在相同计算量下能够获得更低的损失。
![]()
它不等于 Kimi K3 的总训练成本只有 Kimi K2 的 40%,也不意味着模型推理速度提高了 2.5 倍。
Kimi K3 的总参数从约 1.04T 增加到 2.78T,激活参数从 32.6B 增加到 104.2B,层数从 61 层增加到 93 层。无论训练还是部署,它仍然是一个更重、更昂贵的模型。
而且,这个 2.5 倍来自 KDA、AttnRes、Stable LatentMoE、数据处理、优化器和超参数搜索的共同作用。报告没有公开完整的逐项消融,也没有披露全部训练 token 数和总训练 FLOPs。
因此,这个数字证明的是 Kimi K3 找到了一条更好的整体扩展曲线,不能用来证明某一个单独模块带来了 2.5 倍提升。
![]()
这种更高的扩展效率,最终确实转化成了很强的模型能力。
Kimi K3 已经进入当前模型的第一梯队,尤其擅长编程、搜索、专业工作流和长程工具调用。但它的优势通常建立在较高的推理投入之上。
模型会执行更多步骤,使用更多输出 token,并花更长时间检查和修正结果。这与它的训练方向一致。Kimi K3 追求的不是尽快给出一个答案,而是持续工作,直到交付一个相对完整的结果。
![]()
对于软件工程、数据分析和复杂研究,这种行为很有价值;对于简单问答,则可能显得缓慢、冗长和昂贵。
官方评测还混合使用了 Kimi Code、Claude Code、Codex 等不同 Agent Harness,部分结果来自内部数据集。相关成绩更接近“模型加工具系统”的综合表现,而不是完全控制工具、上下文管理和推理预算之后的裸模型比较。
这并不削弱 Kimi K3 的成绩,只是说明进入 Agent 阶段后,模型能力已经很难与运行环境彻底分开。
一个模型是否强,不再只取决于参数和权重,还取决于它使用了什么工具、怎样管理上下文、能够运行多少步,以及系统愿意投入多少时间和计算成本。
![]()
![]()
04
真正的价值
综合来看,Kimi K3 最值得关注的,不是某一个孤立的模型技巧,而是它把架构、训练和 Agent 基础设施连接成了一套完整系统。
在架构上,KDA、AttnRes 和 Stable LatentMoE 分别处理序列、深度和宽度的信息流问题,让模型在上下文更长、网络更深、专家更多以后,仍然能够控制缓存、通信和数值稳定性。
在后训练上,partial rollout、外部 KV Cache 和可恢复 microVM,让持续数小时的真实任务能够进入强化学习。原生视觉能力又让 Agent 可以看到自己的执行结果,而不只是生成下一步文字。
这才是 Kimi K3 相比单纯扩大参数更值得关注的地方。
当模型开始连续工作数小时,真正决定能力上限的,就不只是“下一句话生成得有多好”,而是它能否保存已经完成的工作,保留执行现场,看到实际结果,发现错误,并继续把任务做完。
https://www.kimi.com/blog/kimi-k3
上车,带你看遍全球 AI 顶会精华
可独家畅览:
专家演讲PPT
大会报告全文
热门论文解读
学术新星访谈
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.