AI Pulse
📡 X 信号

K3架构靠取舍平衡效果效率和训练稳定性

转一下苏剑林老师对 K3 架构的复盘。

一句话概括,K3 = KDA + MLA + Stable LatentMoE + AttnRes。整套设计没什么炫技,核心就是在模型效果、计算效率和训练稳定性之间做取舍。

这里稍微解释一下:
KDA,一种线性 Attention
MLA,一种 KV Cache 较小的 Full Attention 变体
Stable LatentMoE,对 LatentMoE 做过稳定性改造的 MoE 方案
AttnRes,用可学习的跨层注意力,替代固定等权的残差累加

几个比较有意思的点:

① K3 同时使用了 KDA 和 MLA。另外,训练仍然用 Moonlight 版本的 Muon 优化器,Attention 权重改成 Per-Head Muon,每个 Head 独立优化。苏神说这不会直接提高效果,主要是数学和结构上更合理:各个 Head 本来就相对独立,不应该在优化时耦合在一起。

② 解决MoE“容易炸”的问题。
LatentMoE 会先降维,再使用更多专家,最后升维,在训推成本大致相同的情况下效果略好。不过连续的矩阵投影也让训练更容易出现数值不稳定。

K3 把 SwiGLU 换成了 SiTU-GLU,用 softcap 压住异常激活;又在 LatentMoE 升维前加了一层 RMS Norm。这个 Norm 不只是让训练更稳定,在 Valid Loss 差不多的情况下,不加它,某些 Benchmark 会稳定变差。

(这里有超级多的技术细节,感兴趣的可以看苏神原文)

③ 关于MLA
DSV4 看上去都换设计了,K3 怎么还在用 MLA?苏神的答案是,目前 MLA 仍然很难被全面击败。它在训练阶段是 MHA 形态,推理时 KV Cache 较小;在固定训练成本和 KV Cache 大小时,MLA 依然近乎最优。

它的问题是对 MTP(推测解码)不够友好。MTP 的思路是“用计算换速度”,而 MLA 在 Decoding 阶段本身就比较吃计算,再叠一个 MTP,两边就容易抢算力。

换别的方案也有代价。比如换成 128+128 的 GQA8,效果很难打赢 MLA,KV Cache 还是 MLA 的三倍多;换成 256+256 的 MFA(本质上是 MQA),训练和 Prefill 成本又会上去。

目前还没有一个简单的 Attention 设计,能同时占住效果、训练成本、Prefill、KV Cache 和 Decoding 计算量。在 KDA+MLA 的混合架构下,MLA 的部分问题得到缓解,所以 K3 最后还是选了 MLA。

④ 苏神觉得,DSV4 也不算真正“抛弃 MLA”。
DSV4 看上去重新设计了 Attention,但底层仍然有 MLA 的影子。它采用的是 head_dims=512、K=V 的 MQA,这正是 MLA 在 Decoding 阶段的形态;再加上 Sparse + Compress,前者减少计算,后者进一步压缩 KV Cache,同时减少计算。

方向很激进,不过 Infra 也更复杂。

⑤ K3 的 MLA 可以去掉 RoPE,是因为 KDA 已经隐含提供了一种广义的位置信息。
这只适用于 KDA+MLA 的混合结构,像 K2 那种全 MLA 模型,直接去掉 RoPE 还是会明显掉效果。

感觉苏神真正的观点是:大模型架构里很少有免费的升级。K3 的设计哲学不是找一个碾压所有方案的新架构,而是在效果、训练成本、Prefill、Decoding、KV Cache 和稳定性之间,找一个当前更合适的组合。

苏神原文里还有很多技术内容,非常值得一看。

原文地址:

查看 X 原帖

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新