152. 领读Kimi K3技术报告:从架构创新聊起,注意力美学、多教师蒸馏和开源MoE
152. 领读Kimi K3技术报告:从架构创新聊起,注意力美学、多教师蒸馏和开源MoE
摘要
- K3的核心不是任何单点技巧,而是把2.8T总参、约100B激活、1M上下文的全量开源MoE做成“有效scaling”。 孙宇涛的第一性原理贯穿全场:“更大的模型才有更大的智能上限”;benchmark有无数种方式做得好看,但从模型能力本质上看,参数量仍是最有效的因素。他认为把激活参数做到“足足有一百billion”不依赖特殊技术,是一个非技术性的决定,但需要魄力。
- K3的架构是“集百家之长”的综合结果,每项创新都有历史脉络。 KDA经历了RetNet、衰减机制、Mamba、DeltaNet、Gated DeltaNet等演进;苏剑林在DeltaNet基础上开发了适合GPU计算的chunk recurrent形式。KDA进一步采用channel-wise衰减,并围绕BF16精度范围进行kernel co-design。Latent MoE来自英伟达团队,Quantile Balancing则来自苏剑林博客。孙宇涛称赞Kimi引用前人工作时不会削弱前人的贡献。
- K3做了几个反潮流选择,理由主要是工程和训练理性。 它放弃业界常用的WSD,采用更容易调参的cosine decay;不使用sparse attention,是因为Blackwell上求sparse index的开销很大,和hybrid架构及from-scratch预训练也不够兼容;未来可以保留接口,之后再做。
- 后训练的On-Policy Distillation(OPD)如今更像组织与训练策略的简化工具。 从MiniLLM的reverse KL,到Thinking Machines Lab称作OPD,今天更常见的不是大模型蒸馏小模型,而是“自己蒸馏自己”。不同RL策略和数据高度异构,OPD可以把它们转化为同构的教师模型,再做multi-teacher合并;孙宇涛提到小米、JOM等团队也在采用类似方式。
- 他给DeepSeek V3和K3的历史定位都强调size与有效scaling,而非单点突破。 V3是国内较早把模型scale到一定程度并打通全流程的模型;K3激活参数增加3倍多、总规模接近增加3倍,是下一个level。但“把数字调大”本身不解决问题,真正的创新在于把更大的模型做work。他也认为科学研究不存在阶跃式提升,只是渐进提升中的一些节点被称为milestone。
- Kimi与DeepSeek的路线出现分化:一个优先推高开源能力上限,一个更强调性价比。 Kimi K3的API相当贵,性价比不是首要条件。孙宇涛的收官判断是:大模型可能没有太本质的创新了,后面更多是改良式进步;模型规模还会继续扩大,但不可能无限。只要能力和任务能够被清晰定义,就可以通过持续优化去达成;他自己则转向了世界模型,因为大模型领域对个人而言已经没有太大的新credit。
精读
1. 嘉宾底色:架构研究已从性能导向转向效率导向
- 孙宇涛是清华大学计算机系博士候选人、上海创智学院普睿学者,博士期间主要研究大模型架构与预训练。
- 他的博士课题从2023年开始,主线是解决大模型推理环节的低效问题。相较Vision或ImageNet时代通过精妙架构直接提升模型表现,大模型时代参数量仍是影响性能最主要的因素,架构改动带来的性能提升相对小,但不同架构的推理性能差异巨大,并且主要决定部署价格。因此,业界的架构研究逐渐从性能导向转向效率导向。
2. 起点工作:给线性注意力装上衰减,并提出chunkwise recurrent
- 他的第一篇相关工作做了两件事:较早引入衰减机制,让有限状态空间尽量保留对最终结果贡献足够大的信息;在全递归与并行计算之间找到trade-off,提出块递归的线性注意力计算形式。
- Chunkwise recurrent既能保留线性复杂度的收益,又能在kernel层面尽量调用Tensor Core、提高局部计算密度。后续很多线性注意力工作,包括Mamba-2、Gated DeltaNet和Kimi Linear KDA,都采用了这种chunkwise计算形式。
3. 纯线性注意力“认输”,hybrid成为不是trade-off的trade-off
- 孙宇涛坦率地说,纯线性注意力作为模型架构“无疑是一个比较失败的尝试”:有限状态空间很难让它在长上下文中取得与全注意力完全相等的性能。
- 因此研究从纯线性注意力转向hybrid attention,把线性注意力和全注意力组合起来。实验显示,混合注意力从架构上是trade-off,但从模型表现上并不一定是trade-off;在保留一定全注意力比例的情况下,可以取得无损甚至更好的长上下文效果。
- 常见比例约为全注意力与线性注意力1∶3,即全注意力占四分之一。但加速比大致受混合比例限制,最多约为4倍。对博士生而言,这种方法虽然非常work,却不够新颖,也促使他继续寻找更大的加速空间。
4. YOCO:所有层共享一份KV Cache,Prefill跳过全注意力
- 他从第一性原理出发思考:模型至少需要获取前文全部信息,因此从token维度完全省掉KV Cache并不可行。既然无法从上下文长度维度节省,就可以从层间节省。
- YOCO让所有层共享一份KV Cache,同时把模型计算与存储解耦:只保存一份KV Cache,却保留多层Full Attention的计算结构,得到与全注意力或混合注意力基本等价的结果。
- 它还可以在Prefill阶段跳过Cross Attention。Prefill的目的主要是得到供后续Decode使用的KV Cache,并不需要为每个位置解码出next-token prediction,因此只要通过Linear Attention得到KV Cache即可。
- 从token-wise角度看,如果必须保证信息完整性,一份KV Cache已经是最少的,不可能再少。
5. Loop LM:两倍计算换接近两倍性能,存储开销基本不变
- 孙宇涛把推理开销拆成三部分:Prefill时间、Decode开销和KV Cache存储,这是最主要的三个瓶颈。
- YOCO主要解决Prefill和KV Cache,Decode则可以继续尝试sparse attention,但Kimi K3目前没有使用sparse attention。
- 传统Loop Language Model在Decode阶段成本较高:它节省了参数,却没有节省计算;在相同计算量下,展开参数或直接使用更大的非loop模型,效果可能更好。同时,传统loop的KV Cache会随推理深度增加。
- YOCO Universal把loop集中在线性注意力部分。由于线性注意力的KV Cache几乎可以忽略,同时也节省计算,因此额外成本较小。用大约两倍于原模型的计算强度,基本可以获得接近两倍的性能提升,而模型存储和KV Cache仍与原模型差不多。
6. 为什么执着架构,以及这次的讲法:把credit还给历史
- 他喜欢架构创新,一方面是因为“比较有意思、比较好玩”,另一方面是因为它可能起到“四两拨千斤”的效果,对博士生来说是很好的研究方向。不过他也判断,到了2026年,架构创新能做的事情可能越来越少。
- 2023年前后,全注意力是大模型推理和部署中的重要瓶颈。如果大模型要大规模应用,attention一定需要被解决,因此架构创新在当时具有很强的行业价值。
- 他的分享不会只复述K3论文,而是从贡献点出发,展开相关工作的历史脉络。只看论文可以知道“怎么做”,但未必知道“为什么这样做”、历史上有哪些尝试,以及最后为什么形成现在的解法。
7. K3总览:2.8T的“有效scaling”
- K3的核心卖点包括模型规模、上下文长度和整体结果。孙宇涛用一个极端例子解释“无效scaling”:如果只初始化一个2.8T模型、跑100B token就发布,显然不算有效scaling。
- K3在2.8T总参数、约100B激活参数上实现了有效scaling,发布时这一规模明显大于国内其他开源模型;上下文长度也扩展到1M量级。
- 他坚持认为,更大的模型才有更大的智能上限。benchmark可以通过很多方式达到满意结果,但从模型能力本质上看,参数量仍是最有效的变量。
- 相比主要沿用DeepSeek-V3结构、重点做模型规模和非架构创新的Kimi K2,K3综合了Kimi团队、业界其他团队以及过去一年中的多项架构创新和细节调优,整体观感差异很大。
8. 线性注意力谱系:RetNet→Mamba→DeltaNet→Gated DeltaNet
- KDA的复杂公式并非一次性设计出来的。最开始是RetNet式的简单线性注意力:将q、k、v做外积后累加;之后逐步引入与位置有关的衰减,使线性注意力不再对位置完全不敏感。
- Mamba把位置无关的衰减进一步变成位置相关的衰减。DeltaNet则试图提升线性注意力在相同KV Cache大小下的上下文容量,使其比RetNet和Mamba更能处理长上下文。
- DeltaNet刚出现时没有位置衰减,因此perplexity或benchmark结果并不特别好。Gated DeltaNet把DeltaNet较高的计算容量与衰减机制结合起来,得到更强的线性注意力表达形式。
- 在是否继续优化纯线性注意力的问题上,孙宇涛一度倾向于“认输”,认为它很难匹敌全注意力;苏剑林则选择继续提升线性注意力本身的长上下文容量,两条路线最终都形成了成果。
9. KDA:channel-wise衰减与kernel co-design
- 在Gated DeltaNet及更早的工作中,一个head通常使用一个标量衰减系数。KDA把这个标量改成更细粒度的channel-wise衰减,让不同channel拥有不同的衰减系数。
- Channel-wise decay可以退化为均匀衰减,因此从表达能力上严格更强,但代价是kernel更难写:标量衰减在一个tile中只需处理一个变量,channel-wise衰减则复杂得多。
- K3中的lower-bound decay同时服务于算法和实现。为了用绝对位置表示相对位置,需要对q、k做衰减与反衰减变换。例如“减2”可以表示为“减3再加1”,通过乘法结合律得到与递归形式等价的结果。
- 但除以很小的数会造成数值问题,因此需要把衰减控制在BF16的动态范围内。Kimi Linear使用16-token tile,并从BF16范围反解出tile内允许的最大衰减量。
- 这更像一种code design:通过算法约束,使一个tile内不出现数值问题,从而让kernelized实现更高效。KDA最终是在Gated DeltaNet基础上增加更细粒度的计算能力,同时限制由此带来的kernel和推理实现困难。
10. Residual谱系:从ResNet到Hyper-Connections
- Attention Residual与ResNet有很深的联系。ResNet解决的是模型参数增加时能力和稳定性不应退化的问题。孙宇涛提到,ResNet有CVPR和ICCV两个版本,何恺明也曾讨论Pre-LayerNorm、Post-LayerNorm与训练稳定性的关系。
- BERT时代更常用Post-LayerNorm,模型变大后逐渐暴露出梯度消失或训练不稳定问题,业界转向Pre-LayerNorm。
- 苏剑林强调,Attention Residual不能只是Pre-LayerNorm和Post-LayerNorm的摆放变化,而应是Pre-LayerNorm的超集,至少能够退化为Pre-LayerNorm,并且严格来说更强,否则大规模训练不敢采用。
- 孙宇涛尤其喜欢Hyper-Connections。它的核心是在residual分支上使用比模型hidden state更大的容量,表示模型在推理深度上的状态。思想很简洁,但论文形式较抽象,不太容易读,因此当时没有广泛出圈。
- MHC后来更受关注,他认为一个重要原因是MHC由DeepSeek提出。Hyper-Connections和Attention Residual对推理基本免费,不明显增加推理开销,因此比“用更慢的实现换更好效果”的方案更容易被采用。
11. DenseNet的回响与“推理免费”的采纳法则
- DenseNet是Hyper-Connections和Attention Residual绕不开的前身。它让深层直接看到所有浅层状态,再把这些状态聚合起来;ResNet主要是层与层之间的连接,DenseNet则聚合所有浅层信息。
- DenseNet时代还没有充分利用attention的表达能力,主要通过一个较大的linear聚合hidden state。到了attention时代,大家发现这种实现会带来大量额外计算,于是出现了更轻量的DenseFormer等工作。
- DenseFormer通过block attention等infrastructure design降低开销,并把模型深度解耦出来。它的表达能力严格来说不如完整的Attention Residual,但声称能力损失不大,同时相较baseline有明显提升。
- 孙宇涛的采纳判断是:如果一个设计需要更慢的推理来换效果,就会被质疑为什么不直接扩大模型规模;如果推理阶段几乎免费,团队采用时就没有太大压力。
- 被问到最喜欢哪个工作时,他选择了DenseNet和Hyper-Connections,认为后续工作的稳定性和co-design处理虽然重要,但更大的框架已经由早期工作奠定。
12. Latent MoE:接近free lunch的通信瘦身
- MoE在Expert Parallelism下最大的挑战之一是all-to-all dispatch。token需要被分发到不同专家卡上,通信量会随着激活专家数量和hidden state大小增加;因此训练稳定性、训练方式和底层infrastructure都很复杂。
- Latent MoE的核心是先把dispatch的hidden state压到更低维,通信量可能缩小2倍或4倍,同时通过提高MLP intermediate dimension,或者使用更多专家与更多激活,弥补参数量损失。
- 如果configuration设计恰当,Latent MoE可以完全保持standard MoE的效果,甚至更好。训练时可以通过overlap部分掩盖通信,但推理时通信位于critical path,时间本身无法消除,因此推理收益比训练收益更明显。
- 如果不牺牲表达能力就能降低通信,它就接近free lunch。Kimi K3采用了这种结构,并在Latent MoE之上加入了稳定性处理。
13. 两矩阵连乘与C2-GLU:给激活一个数学上界
- 两个矩阵连乘在表达能力上可以合并成一个矩阵,但优化性质并不等价,训练中容易出现不稳定。因此如果架构必须把两个linear拆开,中间通常需要加入normalization。
- MLA中低维投影再投影回来时有类似问题。Latent MoE先把hidden state压到低维,FFN的第一个计算本身又是linear projection,因此中间加入RMSNorm可以控制hidden state。
- C2-GLU针对的是MLP中间激活容易explode的问题。问题一方面与优化器有关,另一方面与数值精度有关,低精度下更容易出现outlier。
- GPT-OSS采用过直接clip的办法,例如设定5到10的clip值,严格控制上限。孙宇涛认为hard clip较粗暴,把它变成soft clip,就自然得到tanh;tanh可以平滑地逼近上下界。
- C2-GLU通过tanh限制中间可能出现unbounded activation的部分,为MLP中间激活提供严格的数学上界,以保持训练稳定。它对表达能力的影响仍需实验验证,但属于相对安全的设计。
14. Muon与outlier:架构约束比优化器争论更直接
- 孙宇涛观察到,使用Muon可能更容易出现outlier,但他也预判苏剑林会反对这一归因:任何优化器都可能出现outlier,不能只从优化器角度控制,想严格限制模型行为,还是应该直接从架构下手。
- 他引用MuonClip相关讨论:Adam严格来说也不是完全稳定,DeepSeek-V3可能也出现过不稳定,只是没有影响最终结果。某种现象只是出现得早晚不同,若要严格限制,就应在模型架构上加bound。
- Moonlight较早将VDK引入大规模Muon训练,以便在更长run中保持稳定;Kimi K2则在Muon基础上加入QK clip。由于MLA场景不便使用QK Norm,QK clip可以限制QK logits。
- DeepSeek-V4和StepFun据他的判断也使用Muon,但采用GQA而非MLA,因此可以直接使用更简单的QK Norm。QK部分可以用clip或normalization限制,MLP部分则可通过C2-GLU等激活函数控制。
15. Quantile Balancing:把loss-free routing的启发式换成更principled的解法
- Quantile Balancing没有单独发表论文,是苏剑林在博客中讨论的方案。它沿用了Loss-Free Routing通过bias控制专家负载的思路,但试图替代较为启发式的bias更新。
- Loss-Free Routing的bias直接影响token选择哪些expert,但更新方式较为ad hoc,没有严格的数学收敛标准,与主模型更新的耦合关系也不明确。它在底层几层的效果不太好,因此一些做法会把最底下1层或3层改成dense。
- Quantile Balancing尝试通过线性规划直接推导bias,在一个step内根据整体激活情况求出负载均衡的bias。为避免token之间发生信息泄露,本step计算出的β不会立即使用,而是在下一step使用。
- 它的优点包括少一个类似learning rate的更新参数,以及更好的负载均衡能力。第一层也可以直接使用MoE,不必因为Loss-Free Routing失效而改成dense;这说明底层使用dense并非绝对必要,只是特定routing方案下的规避。
- K3论文还补充了工程实现:大模型训练batch可能达到几十M token,精确求分位数需要保存所有token的激活,代价很高甚至不可行。K3按值域切桶,例如把sigmoid输出的0到1区间分成多个桶,再做histogram统计,以常数级存储完成更高效的近似计算,并适配大规模DP、EP。
16. ViT from scratch与优化器兼容性
- 使用SigLIP 2等预训练ViT Encoder初始化可以加快收敛,但K3讨论认为直接初始化可能带来更大的训练不稳定性。这里的“不稳定”是相对概念,可以通过gradient norm分布、中间异常值数量以及norm大小来观察。
- 从scratch训练可能多用一些算力,但经过恰当训练,最终结果不会有损,甚至可能相近或更好,同时gradient norm更加稳定。
- 孙宇涛把它联系到Adam和Muon之间的训练兼容性:Adam训练的模型能否用Muon继续训练,Muon训练的模型能否再用Adam训练,通常还是原生一致的训练方式最好。基于这一点,他推测Kimi可能希望采用全Muon的训练方式,以获得更好的稳定性和兼容性。
17. 为什么K3没有sparse attention
- DeepSeek Sparse在DeepSeek-V3.2中使用,GLM-5也使用了类似的DeepSeek Sparse Attention。但在Decode阶段,求sparse index本身的开销较大,因此实际加速很小;在Blackwell上,硬件越先进,这部分overhead反而可能越明显,甚至与full attention相比也没有显著加速。
- GLM团队提出Index Cache,让不同层共享index,例如每4层或每8层共享一次。孙宇涛自己的方案则更进一步,把sparse index也做成once,像KV Cache一样将index开销分摊到所有层。
- K3采用hybrid attention后,相邻的full attention层之间隔着多层线性注意力。跨层共享index是否有效、能否获得足够加速,仍存在疑问。
- 另一个问题是sparse attention基本无法直接from scratch训练,通常是先训练full attention,再通过post-training转化成sparse attention。因此K3未来不排除把已有的full attention部分改成sparse,但需要额外工作;如果使用MLA,实现会更困难。
- 他的总结是,K3暂时不采用sparse attention,一方面是要获得真实的加速比,另一方面是它与pre-training不够兼容,可以先保留接口。
18. 忒修斯之船:这还是Transformer吗
- 张小珺提出,今天的模型训练似乎没有巨大范式创新,而是把很多既有工作融合起来再寻找更好的结果。孙宇涛认同这一观察,并用忒修斯之船作比喻。
- 2017年最初的Transformer由attention、residual和stack layer等部分组成,其中一些概念在Transformer之前也并非全新。随着时间推移,模型逐步替换其中的组件,到了后来与最初Transformer的相似度已经很低。
- 但大家仍然把它叫作Transformer。这个名称是否仍然成立,既是技术问题,也是一个哲学问题。
19. K3的工作性质:单点放在ResNet时代可能就是一篇架构论文
- 孙宇涛把K3的综合工作拆成几个大点:attention设计、MoE设计、优化器和中间连接方式。
- 如果放到ResNet时代,这些单点拿出来可能就足以构成一个架构。但在Transformer时代,单个点未必能独立成为milestone。今天要真正把模型做出来,需要验证scaling、解决工程问题、处理数据并完成完整训练,最后大家才会认可这个架构。
- 从研究角度,他个人不太关注把所有东西捆在一起的综合方式,因为架构验证本身有严格标准,不一定需要把所有组件合并验证;但从行业和项目角度,现在确实需要这种综合性工作。
20. LR schedule反潮流:WSD的灵活性未必成立,K3换回cosine
- WSD最初由MiniCPM提出,之后LLaSD等工作继续讨论。它观察到,从高学习率到低学习率的具体decay方式对最终结果影响不大,而cooldown阶段loss下降更快,因此可以把更好的数据放到cooldown阶段训练,把data schedule与learning schedule结合起来。
- WSD的另一个优点是前段learning rate不变,训练团队可以更自由地调整最终token数量,例如提前或推迟发布,不必一开始固定完整训练长度。
- 但实际最优learning rate仍与总token数有关:跑10T token可能6×10⁻⁴较优,跑20T token时可能3×10⁻⁴更合适。因此,任意扩展token数量并不一定像想象中那么有效,WSD的调节难度也未必低于cosine。
- K3选择cosine decay,是因为它主要只有两个变量:训练token量和maximum learning rate;WSD还需要额外调节decay比例。从调参角度看,cosine更容易找到合适的设置。
21. Scaling efficiency:K3对K2是2.5倍,但那是综合结果
- K3相较K2,总参数从约1T增加到2.8T,不到3倍;激活参数从32.6B增加到104B,超过3倍。
- Kimi团队给出的scaling law结果是,K3相较K2的scaling efficiency达到2.5倍。这个问题可以放在OpenAI、Chinchilla等经典scaling law的脉络中理解。
- 孙宇涛认为,K2和K3使用的数据不可能完全相同,因此两者的scaling behavior大概率不是在完全固定数据条件下比较的。2.5倍最终是模型架构、training recipe和数据策略共同作用的结果。
22. NoPE:混合注意力中的长上下文方案
- 传统长上下文模型通常需要调整RoPE参数。Cohere团队的一项工作提出,在hybrid attention中,线性注意力部分已经引入了位置信息,因此full attention部分可以去掉RoPE,使用NoPE。
- NoPE有两个好处:模型表现更好,扩展上下文长度时不需要调整架构参数。孙宇涛看到后很快复现,并认为效果有效且方案优雅,还在审稿中给出了strong accept。
- 他同时认为,RoPE本质上带来的是recency bias:对short context建模很有效,但对长上下文没有帮助,甚至可能产生负面影响。RoPE并不带来长上下文能力,反而可能损害长上下文。
- K3在长上下文训练中直接去掉RoPE,因此外推时不必重新调参数,长上下文效果也没有问题,甚至更好。
23. 低精度QAT为何放在SFT阶段
- DeepSeek-V3从一开始就采用原生FP8训练,DeepSeek-V4采用原生W4A8训练;Kimi则先用高精度完成训练,在SFT阶段再引入低精度QAT。
- 从项目管理角度,大规模训练使用高精度更保险。低精度在更大规模scaling中可能带来额外问题,而这些问题很难提前充分、精确地验证。
- 从技术角度,孙宇涛根据自己的实验认为,没有必要从scratch阶段就引入低精度。W4A8在什么时候引入,只要经过一定量训练,最终结果可能差不多。
- Kimi从K1.5到K2.5持续重视RL,K3也继承了这些相对成熟的方案,因此这一部分没有展开太多。
24. OPD:从白盒蒸馏到“自己蒸自己”的多教师合并
- OPD的早期脉络可以追溯到微软亚洲研究院董立老师团队的工作。MiniLLM采取了与传统蒸馏相反的方向:不是让Teacher先生成答案、Student通过SFT或forward KL学习,而是让Student自己生成答案,再让Teacher逐步纠正。
- 直观上,传统蒸馏像老师讲课、学生学习;Reverse KL则像学生自己做题和写推理过程,老师指出中间哪里不对。Thinking Machines Lab后来将这一范式称为On-Policy Distillation。
- 早期OPD可以用于把更大的模型蒸馏为更小、更快的模型。但如今公司通常会直接训练旗舰模型并作为推理服务,不一定先训练一个大模型、再训练一个小模型,因此更常见的方式是“自己蒸馏自己”。
- 从非技术角度,OPD可以简化post-training团队管理。不同专项的RL策略和reward高度异构,直接把verifiable reward、preference reward和reward model等放在一起训练较难;OPD可以把不同策略转化为不同教师模型,再做multi-teacher合并。
- 对RL策略和数据来说,这是高度异构的;但对模型来说,各任务通常使用相近的模型结构,因此更容易合并。孙宇涛认为这不是K3首先采用的方式,小米、JOM等团队也应该在使用类似方案。
25. Draft model与DFlash:MTP接口要在预训练阶段留好
- 小米曾有过达到1,000 TPS的方案:一部分来自Tianyi Liang团队关于融合不同阶段算子的工作,可能达到300到400 TPS;再叠加TensorRT和DFlash speculative decoding的加速,最终获得更高推理速度。
- 这种方案适合愿意付出更高成本、换取更强单用户推理速度的场景。小batch下、希望获得较高单用户吞吐时,收益尤其明显。
- 早期speculative decoding使用一个相对独立的小模型预测大模型,但这样无法充分利用大模型中间hidden state。MTP和Eagle-3都在尝试利用这些hidden state,让draft model更小,或在相同参数量下提高acceptance rate。
- DFlash把传统autoregressive language model与diffusion language model的思路联系起来。Diffusion language model在单用户或小batch场景下推理更快,但从scratch训练效率不足,且多用户总吞吐不一定占优。DFlash利用这一推理方式进一步优化MTP或draft model,以提升单用户吞吐。
- MTP与预训练的关系仍然很强。预训练阶段需要给MTP提供对下游draft model有帮助的接口,之后还要进行fine-tuning和特化,例如用KL loss替代传统next-token prediction loss,使draft model在主模型verify时更加对齐。孙宇涛认为这肯定不是MTP的终点。
26. KDA的CP:chunk可任意拆分带来的双层递归
- 对sliding window或full attention来说,CP可以通过ring attention或zigzag attention实现,计算模式相对容易理解。Linear Attention的CP则需要回到chunkwise recurrent。
- 线性注意力中,chunk内部采用并行计算,chunk之间采用递归计算。单机kernel层面可以把计算拆成16或64等更小的tile;KDA对衰减项的限制,主要就是为了提高chunk内部并行计算效率。
- 线性注意力的一个特点是,chunk本身可以任意拆分,不同chunk大小在数学上完全等价,例如512 token一个chunk或8K token一个chunk。它不同于某些chunk间使用Linear Attention、chunk内使用Full Attention的拼接式方案,后者的chunk大小与架构有关。
- 因此可以构建双层chunk:不同GPU之间以8K token的大chunk为单位递归计算,单机内再切成16-token tile并行计算;更大的chunk还可以继续采用chunk-within-chunk的方式。这种灵活性来自纯Linear Attention的chunkwise recurrent特性。
27. MoE EP:少量冗余专家与在线规划实现卡级均衡
- Dropless EP有两个问题:不同GPU收到的token数不同,导致执行时间不同、彼此等待;同时,token数量不确定还需要额外通信,先告知各卡接收量,再发送token。
- 从纯infrastructure角度看,带drop的EP可以通过全局allocation让专家获得均匀token数,但drop token对模型损失和能力的影响仍然明显,因此实际通常不采用。
- Kimi提出动态EP:设置少量冗余专家,通过online planning提前规划哪些卡放置哪些冗余专家,使各卡token总数完全对齐。孙宇涛认为,从数学上可以证明,只增加小比例冗余专家就能实现这种卡级均衡。
- 但卡级token均衡不等于专家级均衡。一张卡上有多个专家,不能保证每个专家收到同样多的token;如果要做到专家级完全均衡,就只能采取有损策略。这是模型能力与infrastructure之间仍可继续探索的空间。
28. 显存与overlap:用更简单的路径替代复杂通信优化
- K3从软件工程角度更细粒度地决定每个组件采用activation保存还是offloading,并把大量中间计算结果offload到CPU。要保证offloading不拖慢训练,需要CPU-GPU通信与计算充分overlap,具体边界取决于集群环境和模型配置。
- 可offload内容使用FP8存储,以节省一倍空间,从而可能跨过显存或通信带宽上的关键边界。
- DeepSeek-V3采用了更复杂的MoE overlap:将一个batch的MoE forward、backward和下一个MoE forward重新排序,隐藏dispatch和combine通信;同时使用DualPipe缓解PP bubble和activation不均匀。
- K3使用Latent MoE后通信量大幅下降,因此不必把另一个batch引入overlap,只需在一个batch内把MoE前后向通信与shared expert计算重叠。通信变小后,shared expert本身就可能覆盖通信时间。
- PP方面,K3没有采用完全对称的DualPipe路径,而是把内存占用较大的PP rank中的内容转移到内存压力较小的rank,以较轻量的方式缓解不均衡。
- Muon还带来optimizer切分问题:Newton-Schulz迭代需要完整矩阵。Adam是element-wise优化,参数摊平后如何切分通常不影响结果;Muon则需要特殊处理,才能在optimizer层面有效切分。
29. 多模态infra:每加一项功能,难度直线上升
- Vision Encoder通常会在接入语言模型前压缩视觉token,例如输入前有32K token,进入主干时压缩到8K。但Encoder内部仍需处理压缩前的更长序列,因此即使语言模型主干不需要CP,Vision Encoder也可能需要CP。
- Native VL训练还会带来卡间不均衡:有些卡几乎都是文本token,有些卡的视觉token比例很高,这会影响计算分布和PP。
- 如果把Vision Encoder放在PP最前面,第一个PP rank的计算量会明显增加,破坏流水线平衡。K3把Vision Encoder放在中间或尾部,使前面的PP rank处理较浅层语言模型时,空闲的PP可以提前计算后续Vision Encoder步骤,从而减少bubble。
30. 论文为什么写这么细:减少对小道消息的依赖
- 张小珺认为论文写得非常详细。孙宇涛的解释是,如果团队组织密度不足、自己无法解决这些问题,大家就会沉迷于小道消息,私下打听工程细节;如果论文把这些内容写出来,就不必依赖这些消息。
- 他认为infrastructure本质上高度确定,并没有什么神秘难点。但如果想自己提出方案,就需要分析和profiling能力,也需要足够的组织密度和团队氛围。若无法自己提出,也可以follow较好的工程实践;如果连follow都做不到,问题就更大。
31. RL infra与推理引擎适配:共享gradient buffer与线性注意力缓存
- RL需要大规模sandbox管理,每条trajectory可能有自己的Docker,因此容器管理本身就很麻烦。
- 完整RL系统通常包括policy model、reference model、policy对应的gradient和optimizer,可能还包括reward model。K3讨论了不同模型之间共享memory的方式。
- Reference model没有梯度,在计算objective时也不需要gradient;有了gradient之后,reference model可能不再使用。因此可以复用gradient buffer,让它为non-policy model做forward,从而节省一部分显存。
- 推理端的Linear Attention面临prefix cache问题。Full Attention每个位置都有可增量更新的cache,而Linear Attention每一步都要在前一步的key-value状态上覆写,导致每一步prefix state都不同。
- 如果全部保存这些状态,Linear Attention的优势会被抵消;如果完全不保存,又无法享受prefix cache。当前可以按block切分,每个block做一次prefix caching。
- VLM的paged KV也需要兼容不同attention pattern。Full Attention、Linear Attention和sliding window不能完全采用同一套按token生成KV Cache的管理方式,因此需要额外的infrastructure和kernel配置。
32. 总评:100B激活是魄力,科学不存在阶跃式提升
- 孙宇涛最impressive的地方不是某个单点技术,而是K3把激活参数做到足足100B,比他的预期还大。他认为具体定多少激活不是技术性问题,而是希望达到什么阶段、是否敢于把开源模型规模提升到新量级的问题。
- 对杨植麟所说的“有概率的非共识”,他的判断是:真正有价值的技术创新已经被单独写成论文,K3刚发布时让他最surprise的主要是size,其他方面基本没有超出预期。
- 他认为科学研究不存在阶跃式提升,技术总是由公司、项目和整个行业中的所有人逐步推动;大家只是习惯把渐进提升中的某些节点称为milestone。
- 他认可Kimi的研究方式,认为其科学化主要来自内部管理:团队强调模型可解释性,尝试更可靠地获取behavior trace,并对不稳定或model collapse进行明确归因。
- 他还认为,Kimi的团队文化并不依赖个人英雄主义。张小珺说大家似乎都不怕杨植麟,他的回应是,有道理就听谁的,谁有道理谁说了算;团队氛围则很大程度取决于leader的taste和性格。
33. K3与DeepSeek:定位分化与V3的历史地位
- DeepSeek推出了两档模型,包括1.2T模型和更小的模型,整体更强调性价比,Flash模型也做得很好。
- Kimi目前更重视提升开源模型能力上限,性价比不是首要条件,因此K3的API相当贵,比其他模型贵很多。
- 对两家公司是否会继续分化,孙宇涛认为技术层面没有太多debate,好就是好、不好就是不好;组织团队的走向则取决于人的选择。
- 他认为DeepSeek-V3以及R1更多是锦上添花,V3最大的历史意义在于国内较早把模型scale到一定程度并打通全流程。在V3之前,国内模型规模上的较大飞跃可能是Qwen-72B。
- K3把激活参数增加3倍多、总规模也接近增加3倍,是下一个level。扩大模型size本身不是创新,只是把数字调大并不能解决问题;真正的难点和创新在于把更大规模的模型做work。
34. 未来判断:能力定义、模型规模与世界模型
- 孙宇涛认为模型size毫无疑问还会继续扩大,但不可能无限大。人类能够在互联网上聚集的信息量有限,模型没有必要无限增长;更大的模型可能带来更宽的能力bound和更高上限,但最终仍受数据量约束。
- 能力是否能实现,取决于任务是否被清晰定义。数学题、AIME等任务能够被明确描述,因此可以针对性优化;如果从商业化角度定义出明确能力,也可以持续优化达到。
- AGI最大的问题是没有被well-defined。如果把AGI定义为具身智能、需要与真实物理世界交互,gap仍然很大;如果仍在language model范围内讨论,问题相对没有那么大。
- 新团队如果具备足够好的团队、氛围和单兵作战能力,理论上仍有机会重做模型,但这些条件大概率难以同时出现。好的人和好的组织文化同时形成,存在历史局限性,不是想达成就能达成。
- 他自己开始探索世界模型,是因为判断大模型可能没有太大的改良空间,也没有太多新的个人credit;世界模型的问题更大,但至少是一个新的领域。