Kimi K3のTechnical Reportを読んで、現時点での自分用メモです。
(後日ちゃんと理解できたら記事にまとめたい。)
【前提知識】
Kimi K2では、Muonというoptimizerを導入し、AdamWより少ない学習量で効率よく性能を向上させることを目指した。
一方で、MuonはAttention Logitが発散しやすいという課題があり、それを抑えるためにMuonClipも導入されていた。
⸻
【提案手法】
① Kimi Delta Attention(token方向)
K2では、すべてのAttention層にMLAを採用していた。
K3では、各ブロックを「KDA ×3 → Gated MLA ×1」という構成に変更している。
KDAは、2025年のKimi Linearで提案されたLinear Attentionで、過去の全トークンを毎回参照する代わりに、過去の情報を固定サイズの状態として保持・更新する。
一方、固定サイズの状態だけでは細かな情報を失いやすいため、3層ごとに通常のMLAを挟み、必要に応じて全トークンを参照できるようにしている。
この構成により、コンテキスト長は128K → 1M tokenまで拡張された。
⸻
② Attention Residuals(layer方向)
通常のResidual Connectionでは、各層の出力を順番に加算するため、浅い層の情報も最終的には1つの特徴量へ混ざってしまう。
K3では、過去の層の出力を保持し、現在の層がAttentionを使って必要な層の情報だけを参照するAttention Residualsを導入した。
つまり、通常のAttentionがトークン方向の情報を選択するのに対し、AttnResは層(depth)方向の情報を選択する。
個人的には、この変更が一番面白かった。
⸻
③ Stable LatentMoE(channel方向)
K2では384個のExpertから8個を選択していたが、K3では896個のExpertから16個を使うようになった。
ただし、そのまま大量のExpertへ特徴量を送ると通信量や計算量が増えてしまう。
そこでStable LatentMoEでは、一度特徴量を7168次元→3584次元へ圧縮してからRouterとExpertへ入力し、処理後に元の次元へ戻す構成になっている。
さらに、Norm・SiTU-GLU・Quantile Balancingなども組み合わせることで、巨大MoEで起きやすい学習の不安定さやExpertの偏りを抑えている。
⸻
感想
図2を見ると、K3は
- token方向:KDA
- layer方向:Attention Residuals
- channel方向:Stable LatentMoE
という3方向で情報の流れを改善しているのが分かる。
個人的には、KDAやMoEの改良よりも、Attention Residualsで「層方向にもAttentionをかける」という発想が一番印象に残った。
⸻
参考文献:
https://arxiv.org/abs/2607.24653
⸻

