从架构创新出发:K3的MoE与混合注意力设计
本期播客聚焦于Kimi K3技术报告,邀请到清华大学计算机系博士候选人、上海创智学院普瑞学者孙宇涛进行深度领读。K3作为一款有效扩展至2.8T总参数并全量开源的MoE模型,其技术亮点不仅在于规模,更体现在架构层面的系统性创新。
孙宇涛的研究主线长期聚焦于大模型预训练架构与推理高效性优化,其博士工作始于ChatGPT发布前夜,并在随后几年中持续探索如何通过架构设计缓解大模型推理阶段的高开销问题。他指出,当前业界范式已从“性能导向”转向“效率导向”,尤其在大模型时代,参数量仍是决定模型上限的核心因素;而架构改进对推理效率的影响则更为显著——这直接决定了部署成本与用户体验。
其中,他早期提出的Transformer-Recurrent混合计算范式(块递归结构)成为后续线性注意力演进的关键基础:该设计在保持近似全注意力性能的同时,兼顾了计算复杂度优势与Tensor Core利用率。值得注意的是,后续如Mamba2、Gated Delta Net乃至Kimi K3所采用的Linear KDA机制,均延续并优化了这一块递归范式。
“其实所有的这些线性注意力的改进工作都是基于这样 chunkwise 的计算形式去计算的,对吧?包括 mamba two,gated delta net,包括然后来到今天的这个 kimi linear KDA 这样的一个计算模式。”
“混合注意力它其实虽然从架构上来讲是一种 trade off,但是从最后模型本身的表现来说,并不是一个 trade off。”
从线性注意力到混合架构:性能与效率的再平衡
早期纯线性注意力模型(如GPT-Runway)虽在推理效率上具备潜力,但受限于有限上下文建模能力——尤其难以在长序列场景下完全逼近全注意力性能,最终被证明是“较为失败的尝试”。孙宇涛团队随即转向混合注意力架构(Hybrid Attention):即在模型中组合线性与全注意力模块。
这一设计看似工程妥协,实则揭示了一个关键洞见:在合理比例下(如全注意力占比25%),模型可实现长上下文性能无损甚至提升。这种“以工程换效率而不牺牲能力”的路径,使混合注意力成为当前主流方案(如K3)。然而其加速比受限于全/线性比例,理论上限仅为4倍左右——这对追求更高推理效率的博士研究而言仍显不足。
为突破此瓶颈,团队进一步提出UQO(Only Look Once)架构:其核心思想是将KV Cache的存储与计算解耦。通过让所有层共享单份KV Cache,并在Prefill阶段跳过Cross Attention计算(仅生成缓存),UQO在保持长上下文能力的同时,显著降低了Prefill延迟与KV Cache存储开销。该设计代表了对KV缓存维度的极致优化——毕竟,每个token仅需存储一次KV Cache已是理论下限。
“我们只保留一份的kv cache,但是可以获得这个和全注意力或者混合注意力基本上可以等价的一个模型计算结果。”
“在 prefill 阶段我们就可以直接不过 cross attention。但是在 decoder 的阶段,我们可以保持和这个传统模型一样的一个计算能力。”
推理瓶颈与Kimi K3的针对性优化
模型推理开销主要由三部分构成:prefill 时间开销、decode 开销以及 KV cache 存储开销——这是模型推理阶段不可回避的三大核心瓶颈,不存在第四类主要成本。Kimi K3 的工作重点在于有效缓解了 prefill 和 KV cache 存储开销,但尚未解决 decode 阶段的计算压力。对于 decode 的优化,业界已有探索方向(如稀疏化与张量分解),但 K3 当前版本并未引入这些技术。
另一类值得关注的架构思路是 Loop Language Model(循环语言模型):其核心理念是在保持固定参数规模的前提下,通过多次迭代推理来提升总计算量(FLOPs),从而增强模型能力。这类方法的优势在于以较小参数规模实现超越同尺寸常规模型的效果;但其代价是 decode 阶段的 KV cache 会随推理轮次线性增长,导致整体存储成本难以承受。例如 LoRA 或 LangChain-style 的 loop 架构,在长序列生成中会累积大量 KV cache,反而抵消了参数压缩带来的收益。
UQO(Universal Q-only Operator)架构则提供了一种更高效的 loop 实现路径:它将循环单元嵌入到一个混合注意力结构的前端线性注意力部分,从而避免 decode 阶段 KV cache 的指数级膨胀。由于线性注意力本身 Q(query)计算开销极低,且在长上下文场景下显著节省存储与算力,因此将 loop 机制部署于此处可实现性能稳定增长而不显著增加推理成本。该设计使得在约 2 倍原始计算强度下,模型性能可提升接近 2 倍;而模型参数量与 KV cache 开销仍基本维持原水平。
“我们选择把 loop 这样的一个架构只集中在这个线性注意力这样的一个位置,然后这样的话我们对整体的 KV cache 增长是比较小的……”
“从模型能力上来说,linear attention 所带来的 decode 计算虽小,但它在 general 模型能力、capacity 或 scaling behavior 上可以获得足够接近全注意力模型的效果。”
架构创新的价值与行业演进逻辑
从研究动机看,架构创新兼具理论深度与工程价值:一方面它能带来“四两拨千斤”的性能跃迁,另一方面其工程实现(如 chunk recurrent 结构设计)本身也蕴含创新性。作者指出,在博士阶段聚焦架构问题,是兼顾学术探索与实用落地的理想路径;尽管随着领域成熟,“全注意力”等瓶颈正逐步被攻克,架构创新空间可能收窄——但当前阶段仍是解决大模型部署瓶颈的关键突破口。
Kimi K3 的发布并非孤立成果,而是对过去数年模型架构演进脉络的系统性集成。其 Hybrid Attention 设计(尤其是 Delta Attention)并非凭空而来,而是经历了从简单线性注意力 → 引入位置相关衰减项(如 RoPE、position-dependent decay) 的渐进式发展。早期线性注意力仅做 KV 外积累加,结构甚至比 ResNet 更简;后续研究逐步加入位置感知机制以匹配语言的局部依赖特性——这正是 Delta Attention 公式复杂性的历史根源。
“如果说大模型推理是大规模应用的话,attention 这个东西是一定可以解决、而且必须解决的。”
从位置无关到位置有关:衰减项的引入与必要性
在线性注意力(Linear Attention) 的基础上,Kimi K3 引入了一个与 token 位置相关的衰减项(decay term),从而将原本position-invariant的注意力机制转变为具有位置敏感性的表达形式。这一设计并非理论推导的产物,而是源于对语言本质特性的经验观察:在有限上下文中,靠近当前 token 的历史信息通常应具有更高的权重。因此,在追求实际效果时,衰减项是不可或缺的。
早期尝试中,研究者曾考虑仅使用RoPE(Rotary Position Embedding) 来引入位置信息,但发现其不足以单独支撑长上下文建模所需的动态权重分布。相比之下,显式加入衰减项能更直接、可控地调节历史状态的影响力随时间递减的趋势。值得注意的是,该衰减项在后续演进中被保留并强化——它不仅未削弱原有结构的计算效率,反而成为提升整体性能的关键组件。
“无论如何,语言的特性它就是更近的位置,它有更高的一个权重。所以说,如果我们在一个有限的上下文里想达到更好的结果,衰减这项其实是必不可少的。”
“GPT 的 Delta Net 正是这么做的。我们可以去这个结合 Delta Gate 这样的一个更高的线性注意力的计算容量,然后同时我们呃给它带来一个衰减……从而得到更优的线性注意力的一个表达形式。”
计算范式演进:从递归低效到 GPU 友好的 Chunk Recurrent
早期线性注意力的实现曾依赖递归计算(recurrence),但实测发现其训练效率极低——甚至比标准的全注意力(full attention)还要慢,尤其在 GPU 上无法发挥并行优势。这使得研究者意识到:若仅追求理论上的线性复杂度而牺牲实际吞吐量,将失去工程意义。
为解决这一矛盾,后续工作如 Mamba 和 DeltaNet 开始转向更实用的计算模式: - Mamba 将原本位置无关的衰减机制改造为与位置相关的形式; - DeltaNet 则由松林主导,提出 “Pull Don’t Read” 策略,首次实现了 Delta Rule 在 GPU 上的高效 chunk-recurrent 并行化。该方法本质上解决了基础设施层面的关键瓶颈,使线性注意力真正具备部署可行性。
在此基础上,Kimi 团队进一步融合 DeltaNet 的高容量建模能力与衰减机制的优势,提出 Gated Delta Net:通过门控结构增强状态更新的表达能力,并在此基础上发展出 Kimi Delta Attention。后者将衰减项从标量扩展为 channel-wise 衰减(逐通道可调),从而在数学上严格提升了模型容量——尽管这带来了 kernel 实现复杂度的上升。
“DeltaNet 主要是解决的是 infrastructure 上的一个困难,而且这个解决方式我觉得还是一个比较本质的方式。”
数值稳定性与 Co-Design:BF16 约束下的衰减控制策略
将标量衰减升级为 channel-wise 衰减虽提升了模型能力,却显著增加了 kernel 编写的难度:传统 tile-based 优化难以直接应用。为此,Kimi Delta Attention 引入了一种数值层面的 co-design 策略——借鉴 RoPE 的思想,通过将衰减操作转化为绝对位置上的变换(例如对 Q 和 K 分别施加不同阶的衰减/反衰减),实现相对位置建模的同时规避递归计算。
具体而言,为确保在 16-token tile 内部的衰减系数不超出 BF16 的动态范围(≈ 6.7×10⁻⁵ ~ 3.4×10³⁸),团队反向推导出最大允许衰减量,并据此设定 Kimi Delta Attention 的参数边界。这种主动限制并非理论妥协,而是为保障 kernel 高效执行所必需的工程约束。
简言之,Kimi Delta Attention 的设计体现了算法与底层实现的深度协同:一方面通过 channel-wise decay 提升表达能力上限;另一方面借助数值变换与窗口约束,确保其在 BF16 精度下稳定高效运行。这也解释了为何 Kimi K3 最终选择该机制作为核心注意力模块——它在理论性能、实现可行性与工程鲁棒性之间取得了精妙平衡。
“BF16 的精度范围,这个是我们已知的。我们可以通过 BF16 的精度范围……反解出来在十六个 token 的这样的一个区间内,我们最多可以衰减到多大的量。”
MLA 的演进与 GT-Attention 的引入
Kimi K3 在注意力结构上延续了 Kimi K2 与 DeepSeek V2/V3 所采用的 MLA(Multi-Head Latent Attention) 设计,其核心目标是优化计算与访存的 trade-off,在特定硬件(如 H 系列芯片)上实现更高效的算力利用。MLA 本质上是 MQA(Multi-Query Attention)的一种等价扩展形式,并非引入新机制,而是一种更优的参数与计算分配策略。值得注意的是,DeepSeek V4 并未继续沿用 MLA——并非因其失效,而是因为其后续方向转向了 稀疏专家混合(Sparse MoE) 架构;而 MLA 与 Sparse 在 profile 阶段存在兼容性问题,尤其在动态路由场景下。从数学角度看,DeepSeek V4 实际采用的是一个“大号 MQA”,与 MLA 的差异微乎其微。
Kimi K3 在 MLA 基础上进一步引入了 GT-Attention(Grouped Tensor Attention),该技术最早由 Temian 团队提出。GT-Attention 的设计初衷是缓解长序列下的线性衰减(long linearality)问题,并通过引入额外的计算强度来增强模型对稀疏注意力与无注意力机制(attention-free)路径的建模能力。但其最受认可的价值在于显著提升 训练稳定性——这一优势已被大量预训练实验反复验证。正如团队所强调的:在模型能力尚未达到极限时,稳定性远比峰值性能更重要;一旦训练崩盘,前期所有 checkpoint 将前功尽弃。
MLA如果在这个全注意力这样的一个scope内部,大家觉得至少还是一个可以接受的一个形式,或者说没有必要去大动的一个形式。
对于pretrain的run而言,我们还是希望它越稳越好。从模型能力上如果不是最优的,但也没有关系……稳定性不好的话,它会带来很多麻烦的问题,甚至比较大的问题就是你整个round都训崩了。
Residual 连接的演进:从 Attention Residual 到 Hyper Connection
在残差连接设计上,Kimi K3 采用了 Attention Residual 结构——该结构并非简单调整 LayerNorm 的前后位置,而是严格基于 Pre-LayerNorm 构建的增强型残差路径。其设计者苏剑林曾指出,Attention Residual 的关键在于:它不仅是 Pre-LN 的变体,更是其严格泛化(strictly stronger),可退化回 Pre-LN 但具备更强表达能力。这一设计规避了早期 Post-LN 在大模型中易引发的梯度消失与训练不稳定问题,后者在 BERT 时代虽更常用,但在模型规模扩大后逐渐被弃用。
进一步延伸残差连接的研究脉络,Hyper Connection(HC) 是一项极具启发性的工作。其核心思想简洁而有力:在残差分支中使用 高于 hidden size 的容量 来建模模型推理深度上的状态演化,从而在不增加显式参数的前提下提升表达能力。尽管该论文因表述抽象而未广泛出圈,但其衍生版本 Mixed Hyper Connection(MHC) 因由 DeepSeek 提出而迅速受到关注。值得注意的是,HC 与 DenseNet 在思想上高度同源——后者由 Huang 等人提出,主张将所有浅层特征聚合至深层;不同的是,DenseNet 时代缺乏 attention 机制支持,仅依赖线性投影聚合 hidden states,导致计算效率低下;而 Attention 时代为 HC 提供了更高效的实现路径。
Hyper Connection 它其实,我觉得从思想上是相当简洁的……它本质上就可以说一句话:我们在 residual 的这个分支上去用比模型 hidden state 更大的一个容量,来去表示这个模型在这个推理深度上的一个状态。
这类连接方式的最大优势在于:在 inference 阶段几乎零开销,却能带来性能增益。这也解释了为何其被广泛接纳——相比“靠扩模型 size 简单换性能”的路径,它提供了一种更精细的架构优化维度;而一旦涉及推理延迟增加的设计,则天然面临“为何不直接扩 size”的质疑。
DenseNet、Attention与Block Attention的演进
在模型架构的发展中,DenseNet 代表了一种早期对连接方式的系统性探索:它通过密集跳连将所有中间 hidden states 聚合,其核心组件是一个大型线性层(Linear)。然而,在 Attention 时代,这种结构的计算效率受到挑战——中间连接带来的额外计算开销显著增加。随着研究深入,人们意识到可以将 DenseNet 中权重较高的部分替换为更轻量的结构,由此催生了 Ternary Zero 这一工作。其核心优势在于:相比 DenseNet,它是一个 更高效的架构;同时通过引入如 block attention 的设计,实现了对模型深度的解耦——即避免全注意力机制中上层与所有底层交互所带来的 不可忽略的 overhead。
Block attention 的关键在于两点:一是 tensor 本身的计算更轻量;二是通过模块化注意力实现深度解耦,从而在保持模型能力的同时显著提升效率。尽管其理论表达能力略低于标准 DenseNet,但实证结果显示它并未明显损失性能,并对 baseline 有显著提升。
我们可以通过一些更深刻、更深层次的 inference design,比如说用 block attention 的方式去解耦掉这个模型的深度。
Block 对 block ten reciduo 它因为它结果的深度,它严格来说表达能力肯定是不如父 ten reciduo 好的,对,但是这块儿大家 claim 的点就是它其实并没有损失太多能力。
Latent MoE:通信开销与表达能力的再平衡
MoE(Mixture of Experts)架构自提出以来,其训练与推理的通信瓶颈长期存在——尤其是 auto dispatch 在 EP(Expert Parallel)模式下的 overhead 极高,且通信开销随 expert 数量与 hidden size 线性增长。为缓解此问题,Latent MoE 提出一种新思路:在不牺牲模型表达能力的前提下压缩通信 latent(即 dispatch 的 hidden state 维度),从而降低通信成本。
具体而言,Latent MoE 先通过一个 linear projection 将 hidden state 压缩至低位空间(例如减小 2–4 倍),再在此基础上进行专家路由与计算。为补偿维度压缩带来的参数量损失,有两种策略:一是提升 FFN 的 intermediate dimension;二是增加 expert 数量与激活数。英伟达的实证表明,一个恰当设计的 latent MoE configuration 可完全复现甚至超越 standard MoE 的性能。
值得注意的是,通信开销在训练与推理中的影响不同:训练阶段可通过 overlap 等手段掩盖延迟;而 inference latency 中通信位于 critical path,无法被隐藏。因此 Latent MoE 对推理阶段的收益尤为显著——它近乎实现了一种 “free lunch”:在模型能力不降反升的同时,降低通信成本。
如果一个恰当设计的 latent MoE 的 configuration,它其实是可以完全保持这个 standard 的 MoE 的这样的一个结果的。
也就是说,我们可以在这个模型能力完全相等甚至还能好一点的一个 context 底下,来去减少模型的这个 latent……
架构稳定性设计:从矩阵连乘到 Soft Clip
在模型架构中,两个线性层的连续相乘(即矩阵连乘)虽在表达能力上是冗余的,但在优化性质上却极易引发训练不稳定——这是深度学习中的经典现象。为应对这一问题,实践中常引入 normalization(如 RMSNorm)作为中间缓冲层。该思想在 MLA、MoA 及 Latent MoE 中均有体现:先通过 projection 降维,再经 norm 控制中间 hidden state 的分布范围。
另一类稳定性设计聚焦于激活值的边界控制。大模型训练中,FFN 的 hidden state 易出现 activation explosion(尤其是低精度场景下),为此 GPT-OSS 早期采用 hard clip 将激活限制在固定区间(如 [−5, 5])。后续演进将 hard clip 升级为 soft clip,即使用 tanh 作为平滑边界函数——它在数学上等价于带上下界的 soft thresholding,既保留了控制能力,又避免了硬截断带来的梯度不连续问题。
这一思想进一步整合进 C2GROU 设计:将 MLP 中所有可能产生 unbounded activation 的环节(如 linear projection、SwitchGLU 中的 sigmoid 分支)统一通过 tanh 进行 bound,从而在架构层面实现对 outlier 的严格抑制。尽管有观点认为 outliers 是优化器固有现象,但主动从架构层面施加约束仍是更本质、可复现的稳定方案。
一般来说,模型在架构的设计当中呢,如果你不得不把两个矩阵连成拆开来写,而不是合并到一起的话,中间一定要加一个类似 normalization 的一个手段。
如果想严格控制的方法的话,一定是直接从模型架构本身去做限制是一个更本质的方案。
MoE 架构下的梯度稳定性挑战与 QK Clip 的引入
在MoE(Mixture of Experts)架构中,模型训练面临一个关键问题:梯度不稳定现象更易出现。尽管传统优化器如Adam在非MoE模型中表现稳定,但在大规模训练(例如DeepSeek V3)中仍观察到一定不稳定性。Kimi团队认为,这种不稳定并非偶然——MoE结构本身放大了激活值中的outlier(异常值)效应,尤其在QK(Query-Key)计算路径上。因此,与其依赖后期优化技巧(如梯度裁剪、loss调整),不如从架构层面直接约束QK的取值范围,这是更本质、更鲁棒的解决方案。
为此,Kimi K3在QK路径上引入了QK Clip操作:对Query和Key向量的点积结果进行显式截断,防止极端值破坏注意力分布。这一设计与Weight Decay结合,构成了Kimi团队在优化器层面的完整工作流。
值得注意的是,并非所有MoE模型都采用相同策略。例如DeepSeek V4、Stable Diffusion等虽也使用MoE,但因采用GQA(Grouped Query Attention)而非MLA(Multi-Head Latent Attention),可直接施加QK Normalization——这是另一种更简单的边界控制方式。而MLA因结构特性无法兼容QK Norm,故必须依赖Clip类操作。
“如果说在没有clip的前提下训练,它严格来说就是容易出现的,只不过你可能出现的早晚问题。”
“我们为什么不直接在architecture上做一些改变,然后让它整体把bound梯度限制住就完事儿了,也不需要去纠结更复杂的优化的细节。”
Quantile Balancing:一种更原则性的负载均衡机制
为解决MoE中专家(expert)间负载不均的问题,Kimi K3引入了Quantile Balancing (QB) 方法。该方法可视为对早期“loss-free routing”思想的演进——后者通过一个启发式更新的bias项动态调整token到expert的选择倾向,但缺乏严格数学保证,且易与主模型更新脱耦。
Quantile Balancing的核心创新在于:从数学上推导出bias的解析更新形式,而非依赖人工调参或启发式规则。其基本逻辑是:若某专家被激活频次偏高,则降低其对应bias;反之则提高。通过进一步推导,Kimi团队得出一个单步更新公式:在每个训练step内,基于当前batch中所有token的激活分布,计算一个全局分位数阈值,并据此生成下一step使用的bias。
为避免信息泄露(即当前token利用其他token的实时激活状态),该bias被设计为延迟一step使用。此外,苏建林在其博客中强调QB的两大优势: 1. 无需额外超参(如学习率),比loss-free更“原则化”; 2. 负载均衡能力更强,尤其适用于模型底层——传统做法常将前1~3层设为dense以规避MoE不稳定性,而QB允许直接在第一层启用MoE并保持均衡。
“它其实就可以,呃,直接把第一层变得balanced。”
“前底层用dense……并不是一个ground truth上一定要这么去做的一个方式,而是它其实在loss free的这样的一个context底下不得不去采用的一个方式。”
工程实现与视觉模块设计:从分位数计算到ViT训练策略
Quantile Balancing的精确实现面临工程挑战:在大规模batch(如数千万token)下,全局分位数计算需存储全部激活值,内存开销极高。Kimi K3提出了一种高效替代方案:
- 按值域分桶(value-domain binning)而非token切片:例如对sigmoid激活输出的[0,1]区间划分为固定数量桶,各GPU仅统计本地直方图;
- 该方法将存储复杂度从O(batch_size)降至常数级(与桶数量相关),且天然适配分布式训练架构;
- 相比朴素实现(如全排序),计算效率显著提升。
在视觉模块方面,Kimi K3探讨了是否应复用已有ViT(如CLIP)作为初始化。结论是:从头训练虽耗更多算力,但带来更高稳定性与最终性能。原因在于: - CLIP等模型用Adam训练,其梯度分布特性与MoE优化路径不完全兼容; - 直接迁移可能导致梯度norm波动剧烈,影响训练鲁棒性; - 全MoE端到端训练能确保梯度行为更平稳、模型兼容性更好。
“如果说我们直接 from scratch 训练,可能会多用一些算力,但是至少第一个就是它的最后的结果它是不会有损的。”
“原模型会带来一个更好的兼容性……体现在这个gradient的norm会更加稳定。”
Sparse Attention 的工程困境与跨层优化
在当前大模型推理加速的探索中,sparse attention(稀疏注意力) 曾被寄予厚望——它理论上能显著降低计算复杂度,尤其在长序列场景下。但实际落地时却面临严峻挑战:其加速收益远低于预期,甚至在 Blackwell 架构等先进 GPU 上,sparse attention 的 index 计算开销反而被放大。根本原因在于:在 decoder 层中,每次前向传播都需要动态计算 top-k 或其他形式的 sparse mask(即“求 index”),而这一操作本身是高度非矩阵化的,难以被现代硬件高效利用。
为缓解此问题,GLM 团队提出了 index cache 方案:将 sparse index 的计算结果在若干层之间共享(如每 4 层或每 8 层复用一次),从而摊薄重复计算开销。类似地,另一项工作在 UQ 架构上更进一步:由于其 KV Cache 采用 ones 初始化(即全激活),作者直接将 sparse index 的生成也设为 ones,使 index 开销完全分摊至所有层,近乎零额外成本。这使得 sparse attention 的计算收益得以真正释放。
“只有 sparse attention 本身开销足够小的情况下,其实才能带来一些比较可观的一个算法上的一个收益。”
“我们把每层的这个 Index 开销直接分摊到这个所有层上。那这样的话,其实那个开销就会特别特别小。”
回到 Kimi K3 的设计选择:它并未在 decoder 中采用 per-layer sparse attention,原因有二。其一,在 hybrid attention(线性注意力与全注意力交替堆叠)架构下,跨层复用 sparse index 的可行性存疑——因线性注意力与全注意力模块交错分布,相邻层未必共享相同 attention 类型;其二,sparse attention 通常需 post-training conversion(从 full attention 蒸馏而来),难以与 pretraining 阶段端到端兼容,尤其当底层已采用 MLA 等轻量结构时更难整合。因此,K3 选择预留接口、后续迭代优化,是务实的技术权衡。
Hybrid Attention 的核心 trade-off 与架构演进哲学
Hybrid attention(混合注意力)作为当前主流加速路径,其核心 trade-off 并非是否使用 sparse 或 linear attention,而在于线性注意力与全注意力的比例配置:比例越高(即更多层用 linear attention),推理加速越显著;但若追求“无损”性能(即与 full attention 相比几乎不降指标),3:1 的线性/全注意力配比已被实证为较优解。这一比例在推理延迟与模型能力间取得良好平衡。
值得注意的是,sparse attention 本质上不带来更强表达能力提升(仅优化计算效率),与 hybrid attention 属于不同技术路线;若不采用 hybrid,才可能被迫回归 sparse 等替代方案。这也折射出当前大模型发展的整体趋势:范式创新趋于收敛,但工程融合持续深化。
正如“泰修斯之船”隐喻所揭示的:Transformer 架构自 2017 年诞生以来,已历经八年演进——从最初的 attention + residual stacking,到 RoPE、SwiGLU、Grouped Query Attention 等模块迭代;再到如今 hybrid + MoE + 多教师蒸馏的复合体系。我们仍称其为“Transformer”,但实质已非原船:创新不再依赖单点突破,而在于将已有技术(如 MLA、MoE、蒸馏)以新方式组合,并在 scaling law 指导下完成系统级验证。
“你刚开始对吧?二零一七年这个船刚开始行驶的时候,对吧?是传送门……但你是否还把这个东西叫做传送门?”
Kimi K3 的实践印证了这一趋势:它并非颠覆性重构,而是对 K2 基座模型的精细化打磨——在保证 base model 稳定性的前提下,系统性优化注意力结构、MoE 设计与训练策略。这反映出团队从“先跑出模型”(K2)到“追求极致效率与精度”(K3)的战略跃迁。
学习率调度策略的再审视:WSD 与 Cosine Decay 的权衡
Kimi K3 技术报告对学习率调度(learning rate schedule)的选择提出了一个关键反思:在 WSD(Weighted Schedule Decay)被广泛采用后,人们普遍认为其允许训练过程中灵活调整总 token 量(例如中途变更发版计划),而无需从一开始就固定训练预算。然而,该报告指出这一优势存在被高估的风险——学习率的最优值实际上与总训练 token 量强相关:例如,若目标为 10T tokens,lr=6e-4 可能最优;但若扩展至 20T,则 lr=3e-4 更佳。因此,所谓“任意扩展 token 数”的自由度,在最优性层面并不如预期有效。
基于此,Kimi K3 团队回归更简洁的 cosine decay 方案:它仅需调节两个核心超参——总训练 token 数与最大学习率(max LR),而 WSD 还需额外设定 dk 比例等参数,调参复杂度更高。从工程实践角度看,cosine decay 更易收敛、更鲁棒;在相同调参 effort 下,它更容易找到高性能配置。这也解释了为何 K3 最终选择该方案作为其训练主干,在 WSD 成为主流的背景下形成了一种有意识的技术反向选择。
它其实是一个在混合注意力的一个 context 呀,呃,是一个相当优美的解决方案。
如果你调了参数你不去训练……它那个结果其实是很差的。
长上下文建模:NoPE 的引入与 RoPE 误解的澄清
Kimi K3 原生支持 128K token 长上下文,其位置编码设计体现了对混合注意力架构(hybrid attention)的深度适配。传统做法依赖 RoPE(Rotary Position Embedding),但报告指出:RoPE 的本质是引入 recency bias,对短上下文建模有效,却对长文本无益甚至有害——它并非提升长程依赖能力的关键因素。
受 Koopman 等人早期工作的启发,Kimi K3 在 hybrid 架构中尝试将 full attention 部分的 RoPE 替换为 NoPE(即完全移除位置编码)。其原理在于:在混合注意力中,linear attention 部分已天然携带位置信息(无论使用 RoPE、GSL 或其他变体),因此 full attention 阶段无需重复编码。这一设计带来双重优势:一是模型性能提升,二是实现长上下文扩展时无需调参或重训——即所谓“零成本外推”。该方案不仅实验效果显著,且逻辑简洁优雅:模型架构参数与具体序列长度解耦,避免了传统 RoPE 需按不同上下文长度反复调参的工程负担。
我当时看了就觉得特别有道理,然后我第二天复现了一下,对也很 work。
RoPE 它并不带来任何的长文能力,它甚至是损害长文能力的。
低精度训练与后训练策略:为何 SFT 阶段引入 QAT 更优
在低精度推理(如 W4A8)的训练策略上,Kimi K3 采取了与 DeepSeek V4 不同的技术路径:先以高精度(如 FP8)完成预训练,再在 SFT 阶段引入量化感知训练(QAT)。这一选择兼具工程与技术合理性。
从项目管理视角看,大规模训练初期采用高精度是更稳妥的方案——它规避了因量化引入的不可控风险,尤其在模型 scaling 尚未充分验证时。技术层面亦有支撑:从头开始就使用低精度训练,并不能带来模型能力的额外提升;只要在足够训练量后引入 QAT,最终性能可趋近一致。因此,在 SFT 阶段插入 QAT 是兼顾安全性与有效性的折中策略。
此外,Kimi 在 RLHF 环节延续了其长期对强化学习的重视(自 K1.5 起持续创新),并整合了成熟方案;而在知识蒸馏方面,K3 借鉴了 MiniLM 的“学生生成—教师纠正”范式(即反向 KD),区别于主流的 teacher-to-student 黑盒蒸馏,进一步强化了学生模型的推理过程建模能力。
On-Policy Distillation:从反向蒸馏到自我迭代
MiniLM 采取了一种与传统知识蒸馏截然不同的策略:不是让教师模型生成答案供学生学习,而是让学生先自主推理、生成中间步骤与输出,再由教师模型进行逐步校正。这种范式被称为 reverse KL 蒸馏(或 on-policy distillation, OPD),其核心思想是:在学生模型的推理路径中嵌入教师的验证信号,而非直接模仿静态输出。这一方法最初为提升小模型性能而设计——例如用 OPD 蒸馏大模型结果,可在低成本 Flash 模型上获得显著性能增益。但随着行业实践演进,OPD 的价值逐渐从“大→小蒸馏”转向更普适的场景:自己蒸馏自己(self-distillation)。
“学生去生成答案,然后让 Teacher 做一个每步的一个纠正。”
“我们把这个不同的 reward model 或者说不同的 reward 范式,简化成不同的模型……对于 R L 策略来说它是一个高度预构的状态;但是对于模型来说,它是一个高度统构的状态。”
这一转变背后有双重动因:非技术层面,OPD 极大简化了 post-training 的工程管理——相比复杂多阶段的 PT 策略,OPD 可将多个专项能力(如 RL、reward shaping)统一为多教师模型集成,避免在训练流程中硬编码多种 reward 机制;技术层面,多教师蒸馏天然适配当前模型架构的同构性(即不同任务不需定制化网络结构),使得 multi-teacher OPD 成为事实标准(如 JLM、Kimi 等均已采用)。
Draft Model 进化:从 MTP 到 DiffLash 的跨范式融合
Kimi K3 在 draft model 方面的探索体现了 speculative decoding 技术的持续演进。早期方案(如 one-over-three / MTP)聚焦于利用大模型中间 hidden state 提升小 draft 模型的接收率与效率,从而在相同参数量下实现更高吞吐。而更前沿的 DiffLash 则打通了传统 autoregressive LM 与 diffusion language model 的技术脉络:后者虽在小 batch size 下具备推理加速优势,却受限于训练效率与多用户吞吐瓶颈;DiffLash 通过将 diffusion 的并行生成能力注入 draft model,在保持单用户低延迟的同时优化整体推理效率。
值得注意的是,draft model 的性能高度依赖预训练阶段的协同设计——例如 MTP 需在 pretrain 期即预留接口以支持后续蒸馏;同时,KL loss 替代传统 last-token prediction loss 可使 draft 模型更精准对齐 target model 的中间分布,显著提升 acceptance rate。尽管当前 K3 对 MTP 优化尚不完善(如小美曾实现千 TPS 方案依赖太遥亮算子融合 + DeepFlash 加速比叠加),但其技术路径已为未来工作留下明确方向:draft model 不仅是推理优化组件,更是连接预训练与部署策略的桥梁。
Inference-Aware 架构设计:KDA 与 Linear Attention 的 co-design 挑战
现代大模型 inference 系统已进入 co-design 时代——架构设计必须与推理引擎深度耦合。以 KDA(Kronecker-Attention)为例,其 衰减系数的约束直接决定了 kernel 层面的优化空间;而 KDA 的 CP(Chunk Parallelism)策略则因 attention 类型差异呈现不同复杂度:对于 sliding window 或 four-attention,CP 可通过经典算法(如 ring/zigzag attention)实现;但对 linear attention 而言,CP 必须回归 chunkwise recurrent 计算范式——即 chunk 内并行、chunk 间串行递归计算。KTA 的设计正是基于此:通过 DK(chunk size)限制保障 chunk 内并行效率,同时维持跨 chunk 的递归依赖。这一细节揭示了 inference-aware 架构的核心矛盾:如何在理论可扩展性(如 linear attention 的 O(n) 复杂度)与工程实现约束(如 GPU 显存分块策略)间取得平衡。
Linear Attention 的分层 Chunking 策略
Kimi K3 在处理长序列时,充分利用了 linear attention 可任意拆分 chunk 的数学特性。与早年采用“chunk 间 linear attention、chunk 内 full attention”的拼接式方案不同,纯 linear attention 的 chunk 大小在数学上完全等价——无论是 512、8K 还是更大 token 数的 chunk,计算结果一致。这一特性使得系统可以灵活设计分层并行策略。
具体而言,Kimi K3 采用双层 chunking 架构:第一层在 GPU 间进行宏观拆分(如每张卡处理 8K tokens),第二层在 kernel 层面进行微观并行(如单卡内 16-tile 并行)。这种“chunk 套 chunk”的递归式设计,既支持单机内的高效并行(kernel 内),又兼容多卡分布式场景下的异构调度。值得注意的是,该方案不依赖模型架构本身,因此具备更强的通用性和可扩展性。
“对于 linear attention 的 CP 而言的话,我们是做两个层次性的 chunk。我们首先是在这个不同机器上做一个 chunk,然后在一个机器内的话,我们再在 kernel level 然后做一个 chunk。”
“它的思想就是,比如说我有一个 one million 特别长的一个 chunk……我们可以拆成八K放一张卡,八K放一张卡。”
EPP:面向负载均衡的动态专家调度
在 MoE 分布式训练中,传统 Drop-in-Expert Parallel(DPP/EPP)存在两大瓶颈:一是专家负载不均导致 GPU 执行时间错配,引发算力浪费;二是因各卡接收的 token 数动态变化,需额外通信阶段同步头数分配,增加延迟。
Kimi 团队提出了一种基于 EPP(Enhanced Expert Parallel) 的改进方案,其核心在于引入少量冗余专家,并通过在线规划(online planning)实现 token 分配的全局均衡。该方法在数学上可证明:仅增加小比例冗余专家,即可保证每张卡上的总 token 数严格对齐。虽然无法进一步保障单个专家负载均衡(除非采用有损策略),但该方案在模型能力无损前提下,显著提升了系统吞吐与资源利用率。
“它把模型的这个EP的方式所变成了一个更动态的一个方式……通过额外冗余专家的话,从数学上是可以证明我存在一个策略。”
通信优化与内存管理的差异化路径
Kimi K3 在分布式训练基础设施上采取了与 DeepSeek V3 显著不同的技术路线。一方面,它采用 latent MoE 架构大幅降低通信开销(相比传统 MoE),从而使得在单 batch 内通过与 shared expert 计算重叠即可隐藏通信延迟,无需跨批次调度;而 DeepSeek V3 则依赖高度复杂的计算图重排(如 MoE forward/backward 与下一 batch 的 overlap),需精细手工调度 dispatch/combine 阶段的通信与计算。
在内存管理方面,Kimi K3 实施了大规模 activation offloading:将中间结果以 FP8 格式存至 CPU,压缩带宽需求。为确保 offloading 不拖慢训练速度,系统需满足通信与计算时间的不等式约束——即通过 FP8 压缩将内存瓶颈转化为可被计算掩盖的边界条件。此外,Kimi K3 还结合 pipeline parallel(PP)与通信重叠策略优化训练效率,但未采用 DeepSeek 的 DoPipe 等细粒度 PP 排布方式。
“正是因为这个通信的开销减小了。所以说它才能被这个 shared expert 的一个比较简单的方式去 overlap 掉。”
通信-计算重叠与PP不均衡优化
在大规模分布式训练中,通信与计算的 overlap 效率是影响吞吐的关键瓶颈。即便采用理想方式隐藏通信延迟,计算本身仍会因同步开销而变慢——不存在完全无损的通信隐藏方案。DPEP 的应对策略是:仅用极少量 SM(Streaming Multiprocessor)资源,换取更高的整体通信吞吐量,从而加速 overlap 进程。这与传统方法形成鲜明对比。
在 Pipeline Parallelism(PP)设计上,Kimi K3 面对的是典型的 PP rank 负载不均衡问题。若采用单向 PP,前段 rank 会提前进入、积累更多 activation 内存压力;而传统做法(如 dual-pipe)虽可对称化负载,但结构复杂。Kimi K3 提出了一种轻量级替代路径:将高 memory 占用的 PP rank 的激活值直接迁移到较小 rank 上存储与处理,从而规避多 pipe 设计的工程复杂度。
“Kimi K3采用的方式是,它把就是memory占用比较大的一些PP rank,然后直接传,直直直直接让它存到这个呃比较小的一个这个PP rank上……通过这种也是比较lightweight的方式吧,然后去规避了更复杂的一个多pipe的一个设计方式。”
“PP这个就更有意思了……Kimi K3这块采用的一个方式就是把PP不去放在这个PP的刚开头,它是会放在中间或者尾巴上。”
Optimizer 切分与多模态 Infra 的挑战
在优化器层面,Muon(一种基于牛顿-舒尔茨迭代的全矩阵优化方法)与 Adam 存在本质差异:Adam 是 element-wise 操作,参数切分不影响优化结果;而 Muon 要求单个 rank 上保存完整矩阵,因此需专门设计参数与梯度的切分策略。这体现了分布式训练中“优化器感知”架构设计的重要性。
多模态(VL)推理的基础设施挑战远超纯语言模型。每新增一种模态,inference 难度呈线性甚至指数级上升。其中两大关键问题浮现: 1. 微影(micro-shadow)压缩缺失:输入模型前的 32K token 微影需被压缩为 8K,但该压缩仅在接入大模型前发生;微影内部仍按长序列计算,导致 vision encoder 可能需启用 checkpointing(CP); 2. PP 层面的负载漂移:在 VL 训练中,不同卡可能分别处于“纯文本”或“高比例VL token”状态——这会破坏 PP 流水线的均匀性。Kimi K3 的应对是:将微影 encoder 后移至 PP 中段执行,利用前序语言模型阶段的闲置时间提前计算微影部分,从而压缩 pipeline bubble。
“你对于某些对,你对于某些卡来说,它是一个纯文本的一个状态;然后你对于另一张卡,它可能是一个全序列的一个VL的这个比例相当大的一个状态。”
“在前面的PP……中间的pp它是闲置的,它就会把中间闲置。这部分利用上,提前把这个微生有codeer后面的一些步骤提前算出来……规避掉这个呃第一个PP带来的足够大的一个气泡。”
RL Infra、Gradient Buffer 复用与 Linear Attention 的 Prefix Cache 折中
在 RL(强化学习)阶段,Kimi K3 面临的是大规模 sandbox 管理问题:每个 trajectory 可能对应独立 Docker,如何高效调度与隔离成为工程难点。此外,RL 中涉及多个模型(policy、reference、reverse),内存占用激增。
一个精巧的优化是:将 reference model 的 memory 与 gradient buffer 复用。由于 reference model 在 forward 阶段无梯度、后续不再使用,其内存可安全重用于 policy model 的 gradient buffer——这是一种典型的“生命周期错峰复用”策略,显著降低峰值显存。
在推理侧,Linear Attention 的 prefix caching 是一个经典矛盾:每一步需复写 KV state,若全存则失去线性优势;若不存,则无法利用 prefix cache 加速。Kimi K3 的折中方案是:按 block 粒度做 prefix caching,在效率与精度间取得平衡。
更深层的挑战来自混合注意力架构(如 Linear + Sliding/Full)在 inference engine 中的部署。现有 page-based KV cache 管理器默认忽略层间异构性,导致引入新 attention pattern 时需大量定制 kernel。Kimi K3 的做法是:对不同 tenant(如 Full/Linear/Sliding)采用差异化管理策略,而非强行统一配置——这要求推理引擎具备更高抽象能力。
“它不同 model 之间……他们发现它可以跟 gradient buffer 来去合起来。因为首先,等 reference model 它是没有梯度的……然后他们用了一个 gradient buffer reuse for non policy model for forwarding。”
“对于 linear attention 来说的话,它会有一些……它的 prefix state 它其实都是不一样的,所以说如果我们把每一步都存起来,那其实零点二三三的好处就完全没有了。”
模型规模:非技术决策背后的魄力
Kimi K3 相比上一代,激活参数量增加了三倍多——这一规模跃升并非纯粹技术演进的自然结果,而是一项需要明确判断与魄力的非技术性决策。作者指出,在 K3 初发布时,最令人意外的正是其尺寸本身;其余设计若与 Kimi 此前已发表论文对照,则基本在预期之中,说明其技术路径具有高度连贯性与可追溯性。这印证了一个核心观点:科学研究不存在‘节约式’的提升,所谓里程碑只是对渐进性进步中某些节点的人为标记。真正的技术突破往往来自长期积累与集体协作——需要整个团队、乃至全行业共同推动,而非依赖单次‘灵光一现’。
我觉得这个决定是一个非技术性的一个决定,但是这个是要一定的魄力的。
我其实一直是这么认为的,技术永远是慢慢去提升,然后靠靠这个公司里的所有人、项目里所有人,包括整个业界的同学一块去推动的。
科学方法论:组织文化决定研究质量
Kimi 团队被广泛认为‘研究方式比较科学’,作者对此表示认同,并将这一特质归因于其内部管理文化与领导风格。该团队长期致力于让预训练过程更可控、可归因,例如通过系统化记录不同行为 trace、明确建模 collapse 现象成因等方式,强化模型内核的可解释性与稳健性。作者进一步辨析了‘科学’与‘不科学’的本质区别:真正的科学方法要求明确的 ablation 实验、充分的变量控制与可复现性;而不科学的做法,往往源于利益驱动下对这些标准的主动放弃。当团队氛围强调‘有道理谁说了算’、去中心化决策,并拒绝个人英雄主义时,科学性便成为一种组织本能。
假如你从整体项目的角度,你想去推一个东西,你想证明端某个东西是有效的……这个不存在任何疑问。
如果大家是这样的磨题方式,你的判断方式自然而然就是科学的。
定位差异与未来展望:上限优先,而非性价比
K3 与 Kimi V4、乃至 DeepSeek 等竞品相比,定位存在显著差异:后者更侧重性价比与工程效率优化(如 Flash 模型);而 Kimi 当前核心目标是探索开源模型的能力上限——即便这意味着极高的训练成本(如 K3 AI 算力开销远超同类)。作者强调,模型尺寸的扩大本身并非创新,但将其‘做 work’的过程(如多教师蒸馏、MoE 架构等)才蕴含实质性技术挑战。K3 的真正突破在于:它是国内首个将模型规模推进至新量级(如激活三倍增长)并打通全流程的系统性工程,标志着从‘能做’到‘做成大模型’的关键跃迁。
它就是下一个 level,我就是这个就没有任何问题,就是。所以它核心是 size。
有效的 scaling,对,确实是这样。