☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Kimi K3 近期正式发布了其技术报告,不仅披露了模型架构细节,更罕见地深入剖析了底层基础设施(Infra)层面的关键设计。
所谓 Infra,即人工智能基础设施层——若将硬件比作手机机身,AI 模型比作应用程序,那么 Infra 就相当于操作系统。没有它,再强大的硬件也无法驱动大模型高效运转。
业内普遍认为,国产开源大模型未来商业化落地的重要支点之一,正是由模型厂商自主部署自身模型所带来的成本优势。这种优势往往可达第三方托管成本的几分之一,其背后支撑的核心能力,正是 Infra 层面长期积累的技术壁垒与工程经验。
OpenAI 核心工程师翁家翌曾在公开访谈中直言:大模型训练真正的瓶颈不在算法,而在于 Infra;工程师日常工作的重心,就是持续修复 Infra 中层出不穷的问题。
换言之,当模型结构日益标准化、公开数据集与知识蒸馏技术不断降低能力复现门槛后,Infra 工程实力便成为决定训练成本、推理吞吐与系统稳定性的关键分水岭。
那么,Kimi K3 的技术报告是否真正揭示了 Infra 的全部奥秘?从商业逻辑推断,答案显然是否定的——必然存在保留。这也意味着:即便一百家公司同时部署 Kimi K3,最终运行效率很可能各不相同,彼此之间难以简单复制。
当然,Kimi K3 已经迈出重要一步,主动公开大量 Infra 实践细节。这些内容值得认真研习。尤其对非技术背景读者而言,Infra 仍是一个相对陌生的概念。
因此,本文将以 Kimi K3 技术报告中若干典型 Infra 设计为切入点,带大家理解 AI Infra 背后的核心工程思想。
为何 Infra 如此关键?
前文提到,翁家翌指出大模型训练中工程师的主要任务是“给 Infra 修 bug”。这里的 “bug” 到底指什么?
在大模型团队的实际语境中,“Infra bug” 并非仅限于导致训练崩溃或结果错误的传统缺陷,更广泛涵盖那些虽不影响数学正确性,却严重拖慢 GPU 利用率、引发显存浪费、加剧通信阻塞、削弱整体吞吐的系统级隐患。
具体而言,就是在确保计算逻辑无误的前提下,评估 GPU 是否处于高负载状态;即便满载,也要进一步判断是否存在冗余计算、负载是否均衡、运行是否平稳。而要实现上述目标,GPU 间必须频繁协同调度,此时通信链路又极易成为新瓶颈。
所有这些问题最终都会反映在集群吞吐量上,并直接制约训练效率。
衡量训练效率的核心指标是 模型浮点运算利用率(MFU),即实际观测吞吐量与理论峰值浮点性能的比值。理论上,100% MFU 表示 GPU 计算单元被完全压满且无空转。
现实情况是,当前大模型训练效率仍有巨大提升空间。在已公开验证的万卡级、千亿参数、端到端 LLM 预训练案例中,字节跳动 MegaScale 达到的 55.2% MFU 仍是行业标杆之一。今年 4 月,《The Information》曾报道一个反面典型:马斯克旗下 xAI 拥有约 55 万张英伟达 GPU,但内部备忘录显示其 MFU 仅为 11%,远低于业界普遍认可的 35%-45% 区间,也显著落后于 Meta(43%)、谷歌(46%)等同行,堪称尴尬。
更高的训练效率意味着更短的迭代周期、更低的硬件投入、更密集的实验试错、更大规模的数据与模型探索。
虽然本文旨在强调 Infra 设计的价值,但由于缺乏完整参数与实测数据支撑,我们无法独立判定技术报告中哪项 Infra 技术贡献最大。
因此,知危选择聚焦 Kimi K3 自主提出的几项关键架构创新——如 KDA、AttnRes 和 MoonEP,从中提炼其背后体现的 Infra 工程原则,帮助读者建立逻辑认知,而非提供权威排序。
整体系统设计
先看 Kimi K3 分布式训练的整体架构。其采用的并行策略均为业界主流方案,包括流水线并行、专家并行(MoE)、ZeRO 参数分片等。
大模型训练中的“并行化”,本质上是对原本高度串行流程的多维度拆解:从前向传播到反向传播,每一步都依赖上一步输出;但其中涉及的大量矩阵运算本身具备天然并行性。此外,单卡显存根本无法容纳超大规模参数及其激活值。
如果你对这段技术描述感到费解,不妨用盖楼来类比:盖房必须一层接一层向上建造(串行过程),但运水泥、搬钢筋这些动作完全可以同步进行(矩阵运算的并行性)。
因此,大模型训练通常会从模型参数、训练样本、中间激活值等多个维度进行切分,将计算与存储任务合理分配至多张 GPU,并通过精细的并行策略与调度机制,最大限度减少 GPU 等待与闲置。
例如,可将模型不同层分别部署在不同 GPU 上依次执行,这就是流水线并行。由于后续 GPU 必须等待前序 GPU 输出中间结果,流水线中常出现部分 GPU 空闲的“气泡”。实践中通常将一个 batch 拆分为多个微批次(micro-batch),使不同 GPU 同时处理不同微批次,从而提升流水线利用率。
若某一层参数规模过大,单卡无法承载,或计算速度不足,则可将该层权重矩阵及对应运算分散至多张 GPU 协同完成,称为张量并行。该方式需在单层内高频交换数据,对 GPU 间互联带宽与通信延迟极为敏感。一旦通信耗时逼近甚至超过计算耗时,就必须在并行粒度、计算效率与通信开销之间反复权衡。
以上仅为原理性科普,但真实的大模型集群,总会面临各自独有的“隐性难题”。
尤其是模型规模越大,越容易暴露出小模型中被忽略的问题——某些原本微不足道的计算进程或内存对象,会因参数量激增而突然占据可观显存资源。
值得一提的是,技术报告中有一处细节值得关注:“MoE 层使用在各 EP rank 之间复制的共享专家”。这意味着,在专家并行(EP)配置下,每个 GPU 均保存一份参数完全一致的共享专家副本,以及各自专属的路由专家。此举有助于共享专家充分学习数据共性特征(注:rank 可理解为参与分布式通信的一个计算单元,本文为简化表述,统一视作单张 GPU)。
接下来,我们将重点分析 Kimi K3 架构中的三大核心机制——KDA、AttnRes 与 MoonEP,它们各自对应的 Infra 设计巧思,以及所体现的底层工程逻辑。
KDA
首先是混合型 KDA 注意力机制。
KDA 全称 Kimi Delta Attention,本质是一种线性注意力变体。如何理解它的“线性”特性?
标准注意力机制的核心在于 QKV 三元组计算:每个输入 token 生成 Query、Key、Value 向量(简称 Q、K、V)。
借用搜索引擎类比:Q 类似搜索关键词,K 相当于网页索引库,V 则是网页正文内容。标准注意力首先让 Q 与 K 进行两两匹配(即 QK^T 矩阵乘),再据此加权聚合 V。
这种方式能精准建模任意 token 对关系,但代价高昂——计算复杂度随序列长度呈平方增长,这正是制约当前大模型 Scaling Law 的核心瓶颈之一。在自回归推理阶段,还需缓存随长度线性增长的 KV cache。
KDA 的改进思路是:先让 K 与 V 完成配对(即 KV 组合),再用 Q 去检索。K 与 V 的组合类似于对可检索内容做预压缩总结,数学上形成一个固定尺寸的矩阵,无论输入多长,该矩阵大小恒定——这正是 KDA 实现高效计算的根本原因。
在更精细的设计中,KDA 借鉴 Gated DeltaNet,并进一步优化了这一“记忆库”的管控结构,使其能在推理过程中动态遗忘旧信息、吸收新内容(严格来说,KDA 还包含遗忘门控,并非简单累加所有 KV)。
不过,KDA 放弃了标准注意力的完整记忆矩阵,也带来了新的挑战:引入了强串行依赖——后一 token 的状态更新必须等待前一 token 完成计算。
在 Kimi K3 这种参数量级下,这种串行模式同样会遭遇算力瓶颈。因为 GPU 天然擅长大规模并行计算,串行逻辑易导致算力利用率低下。
解决路径很明确:尽可能将串行过程转化为并行计算。
为此,月之暗面提出了 FlashKDA:将输入 token 序列划分为若干 chunk,chunk 内部支持并行计算,chunk 之间则需按序传递递归状态。
为进一步提升跨设备(GPU)并行度,Kimi K3 还引入了 KDA 上下文并行(KCP)方法。
监控Kimi K2.5 API使用量和配额。通过Kimi控制台实现:(1)查看剩余使用百分比和重置计时器;(2)根据可用配额自主决策任务优先级;(3)密集操作前监控速率限制;(4)记录使用模式以支持资源规划。适用于配额约束下的自主智能体。
对于标准线性注意力的状态递归计算,各段输入序列的状态转移可在未知初始状态前提下独立求解,随后再精确拼接整个递归链。
通俗讲,不是让每一段自己推演“历史”,而是先让每一段独立算出“这段会对历史造成什么改变”,再把这些变化叠加起来,就能还原出每段真正应继承的前序状态,完成全局历史演化。
但 KDA 因含记忆遗忘机制,其状态转移函数在数学上更为复杂,无法直接套用上述方法。KCP 的应对策略是:将状态转移中可解耦的部分尽量分离出来,分发至不同 GPU 进程中并行执行。具体实现细节较为复杂,此处不再展开。
AttnRes
其次是注意力残差连接 AttnRes 机制。
传统残差连接的思想是:神经网络某一层在处理前层输入时,并非全盘替换原始信息,而是只学习“需要补充或修正的部分”,再将其加回原输入,即 “输出 = 原输入 + 本层输出”。
这就像在原始稿件上做增量编辑,而非每层都重写全文,既保障原始信息与梯度直通,又缓解深层网络训练难度与信息衰减问题。
但随着网络深度增加,浅层贡献会被逐渐稀释。AttnRes 正是为了强化这种信息继承的语义相关性而提出,使残差更新更依赖上下文理解。
然而,额外引入的注意力模块在超大规模模型中也会带来显著内存压力,为此月之暗面进一步提出 Block AttnRes。
Block AttnRes 将网络划分为多个块(block),块内仍采用标准残差连接,块间则引入注意力机制。研究表明,在约 8 个块的划分下,即可获得接近完整 AttnRes 的大部分性能增益。
当然,Block AttnRes 自身带来的显存开销也不容忽视,仍需针对性优化。
该注意力机制作用于块之间,且需随前向传播多次计算。
因此,块表示只需计算一次,便可长期驻留 GPU 显存并重复调用。例如以 6 层为一块,前 6 层生成的块表示 B₀,既可用于后 6 层的注意力计算,也可用于第 7–12 层。
相比标准残差,AttnRes 需额外计算注意力分数等中间结果,这些值在反向传播中同样要用到。但如果全程保留在显存中,将大幅增加内存占用。
Kimi K3 的做法是:前向传播时不缓存这部分中间结果,待反向传播时再即时重算——典型的“以计算换显存”策略。
此外,训练采用流水线并行,即不同层分布在不同 GPU 上,而块间注意力计算又需跨 GPU 获取其他块的表示。这些表示目前仍存于源 GPU 上。
考虑到层间存在串行依赖,可沿层序轨迹依次传递并缓存块表示,避免重复传输。例如,GPU₀ 的 Block₀ 表示 B₀ 传给 GPU₁ 的 Block₁ 后,GPU₁ 缓存 B₀;待 Block₁ 输出 B₁ 后,再将 B₀、B₁ 一并传给 GPU₂ 的 Block₂,GPU₂ 继续缓存二者。
最后,这些块表示仅在一个微批次内有效,微批次结束后即可释放。
综上,Block AttnRes 的优化策略实现了:
- 同一块表示不重复计算;
- 可重算的中间激活不缓存;
- 已缓存的块表示不重复传输;
- 已失效的微批次块表示及时释放;
最终显存中仅保留“当前时刻真正有用的数据”,达成 Kimi K3 所宣称的“内存占用理论下限”。
MoonEP
最后来看 MoonEP 的设计原理。
在 MoE 架构中,每个输入 token 可激活不同专家,反过来,任意一段输入中,流向各专家的 token 数量极不均衡,导致激活形状高度动态。
而在传统专家并行中,每个专家被静态绑定至特定 GPU,路由器并不保证 token 均匀分配。
结果便是:某些 GPU 需处理海量 token,另一些 GPU 很快完成任务进入空闲——整步训练必须等待最慢的 GPU,整体吞吐被拖垮。
同时,路由专家每轮接收的 token 数量波动剧烈,导致中间张量大小频繁变化,GPU 需反复申请/释放不同尺寸显存块,产生大量碎片化空洞,显存利用率下降、分配延迟上升。在这种碎片化状态下,即使剩余显存总量充足,也可能因缺乏足够连续空间而无法满足新张量或通信缓冲区需求。
针对此,Kimi K3 提出 MoonEP 方法:强制为每张 GPU 分配固定数量的任务量——接收 S×K 个 token(S 为序列长度,K 为每个 token 选择的专家数)。
但同一 GPU 内部各专家仍可能负载不均,因此需配置冗余专家,用于动态分担高负载专家的计算压力,从而缩短最忙 GPU 的执行时间。
冗余专家本质上是高负载专家的副本,其存在意义在于平滑突发负载。
月之暗面证明:只要每张 GPU 配置固定数量的冗余专家(例如总专家数为 100,参与 EP 的 GPU 数为 20,则每卡最多需 100/20 = 5 个冗余专家),即可在理论上保障负载均衡。
以往方案多采用固定冗余数量或单卡 token 上限设定,一旦超出限制,训练即告中断。
但精确执行该算法会导致过高计算开销,因此实际落地时采用了近似优化策略,并严格控制冗余专家数量不超过理论上限。
结语
可以看到,上述三项 Infra 技巧分别聚焦不同维度:KDA 致力于串行流程的并行重构,AttnRes 关注计算与存储的去重优化,MoonEP 则着眼于动态负载的静态调度。
但将它们统观全局,展现的是一套贯穿始终的系统级工程思维。
凡是串行链条,必设法拆解为可并行子任务;
凡是重复计算、冗余存储或低效通信,必评估能否重算、缓存或增量传输;
凡是不可预测的动态负载,必设法转化为可控、可调度的静态形态。
AI Infra 的竞争,从来不是单纯堆砌更多 GPU,而是持续识别那些被默认接受的等待、复制、同步与闲置,并逐一消除。
单点优化或许只节省几个百分点,但当模型迈向万亿参数、训练持续数月时,每个百分点都将放大为惊人的算力、时间与资金节约。
需要强调的是,本文所讨论的三点,仅是 Kimi K3 技术报告 Infra 章节的冰山一角。
Kimi K3 公开了方法,但这绝非一套可照搬的“标准答案”。
芯片型号、网络拓扑、模型结构乃至业务场景的差异,都会催生截然不同的最优解。技术报告的价值在于帮助后来者避开已知陷阱,而真正决定部署效能的,仍是团队能否在长期实践中敏锐发现并彻底修复属于自己的 Infra bug。
总而言之,模型架构定义了能力的上限,而 Infra 决定了这一上限能否以可持续的成本,稳定落地为现实生产力。
本文来自微信公众号“知危”,作者:知危编辑部,36氪经授权发布。

















