24 분 소요

0. Introduction

Paper link

한 줄 요약: Kimi K3는 2.78T total, 104.2B active parameter의 native multimodal MoE를 만들면서 sequence, depth, width의 scaling bottleneck을 KDA-MLA hybrid attention, Attention Residuals, Stable LatentMoE로 나누어 해결하고, 이를 1M-context agentic RL과 serving infrastructure까지 연결한 system co-design 보고서다.

이 논문을 지금 볼 가치가 있는 이유는 다음과 같음.

  • 3개의 KDA layer와 1개의 Gated MLA layer를 반복해 linear recurrence와 global attention을 결합한다.
  • Attention Residuals로 깊이 방향에서도 이전 layer representation을 선택적으로 다시 읽게 한다.
  • 896 routed experts 중 16개를 activate하면서 routed path는 half-width latent space에서 계산한다.
  • Vision encoder를 language model과 처음부터 공동 학습하는 native multimodal pretraining을 사용한다.
  • SFT, 9개의 RL expert, MOPD를 연결해 domain과 reasoning effort가 다른 policy를 하나로 통합한다.
  • 1M-token training, rollout, sandbox, KV retention, prefix caching, serving scheduler를 model architecture와 함께 설계한다.

Kimi K3 Technical Report는 model card보다 architecture, optimizer, post-training, distributed system, agent environment를 한 문서에 묶은 lifecycle report에 가깝다. Model parameter만 보면 2.78T라는 규모가 먼저 보이지만, 논문의 실제 구조는 어떻게 이 model을 학습하고, long-horizon rollout을 유지하고, serving할 것인가에 더 많은 비중을 둔다.

Kimi K3가 겨냥하는 scaling 축은 세 가지다.

  1. Sequence length
    • KDA로 fixed-size recurrent state를 유지한다.
    • Periodic Gated MLA로 unrestricted global attention을 보완한다.
  2. Network depth
    • Attention Residuals로 layer가 모든 이전 representation을 균일하게 더하는 대신 필요한 depth source를 선택한다.
  3. Model width
    • Stable LatentMoE로 routed expert를 compact latent width에서 실행한다.
    • 896 experts 중 16개를 선택하면서 communication and activation instability를 제어한다.

여기에 native vision, Per-Head Muon, million-token curriculum, agentic RL infrastructure가 붙는다. 따라서 이 논문의 핵심 질문은 단순하지 않다.

Frontier-scale agent model의 architecture novelty를 실제 training and serving efficiency로 연결하려면 무엇을 함께 바꿔야 하는가?

1. Problem Setting

1-1. Problem definition

Long-horizon multimodal agent model은 일반 text LLM보다 훨씬 많은 bottleneck을 동시에 가진다.

Scaling axis Main bottleneck
Sequence Softmax attention compute와 growing KV cache
Depth 이전 layer 정보가 하나의 residual stream에 압축됨
Width MoE expert communication, weight traffic, load imbalance
Modality Vision tower와 language backbone의 optimization mismatch
Post-training Ultra-long rollout의 straggler와 stale policy data
Environment Tool task의 sandbox state를 오래 유지해야 함
Serving KDA state와 MLA KV를 함께 cache해야 함
Deployment Multi-trillion total weight의 memory and quantization cost

Conventional Transformer를 그대로 1M context까지 확장하면 softmax attention과 KV cache가 빠르게 커진다. Linear attention은 cache를 fixed state로 바꿀 수 있지만 global content retrieval과 numerical stability에서 별도 설계가 필요하다.

Depth가 깊어질수록 standard residual connection은 모든 이전 module output을 하나의 vector에 누적한다. Information path는 짧지만, 어떤 layer의 representation을 다시 쓸지 선택하기 어렵다.

MoE에서는 total parameter를 늘려도 active compute를 제한할 수 있다. 하지만 expert pool과 top-k를 함께 키우면 token dispatch, expert weight traffic, load imbalance가 커진다. 특히 896 expert regime에서는 기존 bias update나 auxiliary loss만으로 안정적인 routing을 유지하기 어렵다.

Agentic RL에서는 또 다른 문제가 생긴다. 1M context의 tool trajectory는 completion time variance가 매우 크다. 모든 rollout이 끝날 때까지 기다리는 synchronous training은 straggler 때문에 GPU를 놀릴 수 있다. 중간에 rollout을 끊으면 sandbox and KV state를 다음 iteration까지 보존해야 한다.

Kimi K3는 이 병목을 하나의 algorithm으로 해결하려 하지 않는다. Sequence, depth, width, rollout, sandbox, serving cache를 서로 다른 component로 분해한 뒤 lifecycle 전체에서 연결한다.

1-2. Why previous approaches are insufficient

1) Full softmax attention only

Global attention은 모든 token pair를 직접 연결하지만, long-context prefill compute와 KV cache가 sequence length에 따라 증가한다. 1M context에서는 memory and communication이 serving feasibility를 결정한다.

2) Linear attention only

Recurrent state는 fixed size지만, 모든 과거 content를 하나의 state에 압축한다. Exact global retrieval이나 rare distant dependency에서 full attention의 보완이 필요할 수 있다. 또한 delta-rule recurrence를 GPU-friendly parallel computation으로 바꾸는 kernel이 필요하다.

3) Standard residual accumulation

Standard residual stream은 다음처럼 생각할 수 있다.

\[\mathbf{h}_{l+1} = \mathbf{h}_l + f_l(\mathbf{h}_l)\]

여기서 $\mathbf{h}_l$에는 앞선 layer output이 모두 누적된다. Layer $l+1$은 특정 earlier layer를 직접 선택하기보다 압축된 current state를 받는다. Network가 90개 이상 layer로 깊어지면 depth-wise information access 자체가 bottleneck이 될 수 있다.

4) Conventional full-width MoE

Top-k routed expert가 모두 full hidden dimension을 처리하면 expert 수와 active expert 수가 증가할수록 communication과 weight traffic이 커진다. Kimi K3처럼 16 experts를 activate하려면 routed computation width를 줄이는 별도 구조가 필요하다.

5) Auxiliary-loss-free routing의 단순 bias update

수백 개 expert에서는 조금만 불균형해도 overheated expert와 dying expert가 생길 수 있다. Bias를 local sign에 따라 조금씩 바꾸는 방식은 expert별 score distribution을 충분히 반영하지 못할 수 있다.

6) Post-hoc multimodal alignment

Text LLM을 먼저 학습한 뒤 pretrained vision tower와 connector를 붙이는 방식은 안정적이지만, language and vision representation이 처음부터 공동 scaling되는 것은 아니다. Kimi K3는 vision tower도 from scratch로 joint pretraining한다.

7) Synchronous full-rollout RL

Long-horizon agent trajectory의 tail latency가 크면 fastest rollout이 끝난 뒤에도 training이 slowest rollout을 기다린다. Partial rollout을 사용하려면 paused environment, KV, policy staleness를 함께 처리해야 한다.

8) Architecture-only efficiency claim

새 attention이나 MoE 구조가 theoretical FLOPs를 줄여도 fused kernel, parallelism, cache manager, scheduler가 없으면 production speedup으로 이어지지 않는다. Kimi K3는 이 간극을 report의 큰 부분으로 다룬다.

2. Core Idea

2-1. Main contribution

Kimi K3의 핵심 기여는 여섯 묶음으로 정리할 수 있다.

  1. Hybrid KDA-MLA attention
    • 각 block에 KDA 3개와 Gated MLA 1개를 둔다.
    • KDA는 fixed-size recurrent state로 long sequence를 처리한다.
    • MLA는 주기적으로 full global content interaction을 제공한다.
  2. Block Attention Residuals
    • 각 layer가 이전 block and current block representation을 attention으로 선택한다.
    • Full AttnRes의 depth access를 유지하면서 memory and communication을 줄인다.
  3. Stable LatentMoE
    • Routed token을 hidden width 7168에서 latent width 3584로 줄인다.
    • 896 routed experts 중 16개를 activate한다.
    • RMSNorm, SiTU-GLU, Quantile Balancing으로 scale and routing stability를 제어한다.
  4. Native multimodal pretraining
    • 401M MoonViT-V2를 from scratch로 language model과 joint optimize한다.
    • Image, video, text를 하나의 next-token objective로 학습한다.
  5. Effort-aware agentic post-training
    • General, general-agent, coding domain과 low, high, max effort를 곱해 9 RL experts를 만든다.
    • MOPD로 이 expert policy를 하나의 student에 통합한다.
  6. Million-token system co-design
    • FlashKDA, KDA Context Parallelism, MoonEP, external KV pool, resumable AgentENV, state-aware prefix cache를 함께 설계한다.

2-2. Design intuition

Kimi K3 architecture의 큰 설계 원리는 희소하게 만들되, 정보 접근 경로를 잃지 않는다로 볼 수 있다.

  • Sequence에서는 대부분 KDA를 사용하되 주기적으로 MLA를 둔다.
  • Depth에서는 block representation만 저장하되 layer가 필요한 source를 attention한다.
  • Width에서는 routed expert를 latent space에서 실행하되 full-width shared expert path를 유지한다.
  • RL에서는 domain-specific expert를 따로 강화하되 MOPD로 unified policy를 만든다.
  • Serving에서는 KDA state를 fixed size로 유지하되 global MLA KV와 함께 cache한다.

Architecture scale은 다음과 같다.

Item Kimi K3
Total parameters 2.78T
Activated parameters 104.2B
Layers 93
Hidden dimension 7,168
Attention heads 96
KDA layers 69
MLA layers 24
Routed experts 896
Active experts per token 16
Shared experts 2
Latent MoE width 3,584
Expert hidden dimension 3,072
Vocabulary 160k
ViT parameters 401M
Training context up to 1M

Report의 scaling-law fit은 Kimi K2보다 약 2.5배 높은 scaling efficiency를 주장한다. 이 값은 held-out OOD validation loss와 FLOPs의 fitted curve에서 나온다. End-to-end serving cost나 downstream benchmark per dollar가 2.5배 개선되었다는 뜻은 아니다.

3. Architecture / Method

3-1. Overview

Module Role
KDA Fixed-size recurrent state로 efficient sequence mixing
Gated MLA Periodic global content attention and compact KV
Block AttnRes Depth-wise source selection
Stable LatentMoE Large expert space with compact routed width
MoonViT-V2 Native image and video encoding
Per-Head Muon Head-balanced matrix optimization
MTP layer Pretraining auxiliary and deployment draft model base

3-2. Module breakdown

1) Hybrid Attention

Kimi K3는 3개의 KDA layer 뒤에 1개의 Gated MLA layer를 배치한다. 이 3:1 pattern을 backbone 전체에서 반복하고 마지막에도 global Gated MLA layer를 둔다.

KDA와 MLA의 역할은 다르다.

Attention Strength Role in Kimi K3
KDA Fixed-size state, efficient long sequence Recency-aware and position-sensitive mixing
Gated MLA Unrestricted global token interaction Periodic high-capacity retrieval

이 hybrid는 linear versus softmax 중 하나를 고르는 대신, 대부분의 layer에서 efficient recurrence를 쓰고 일부 layer에서 global attention을 지불하는 구조다.

2) Kimi Delta Attention

Single head에서 query $\mathbf{q}_t$, key $\mathbf{k}_t$, value $\mathbf{v}_t$, recurrent state $\mathbf{S}_t$를 두자. KDA state update는 다음처럼 표현된다.

\[\mathbf{S}_t = \left(\mathbf{I} - \beta_t \mathbf{k}_t \mathbf{k}_t^\top\right) \mathrm{Diag}(\boldsymbol{\alpha}_t)\mathbf{S}_{t-1} + \beta_t \mathbf{k}_t \mathbf{v}_t^\top\]

Output은 state를 query로 읽는다.

\[\tilde{\mathbf{o}}_t = \mathbf{S}_t^\top \mathbf{q}_t\]

여기서 $\boldsymbol{\alpha}_t$는 channel-wise retention factor이고, $\beta_t$는 current write strength다.

KDA의 의미를 단순화하면 다음과 같다.

  1. 이전 state의 각 channel을 서로 다른 비율로 decay한다.
  2. Current key가 이미 state에 저장한 content를 delta rule로 수정한다.
  3. Current key-value association을 새로 쓴다.
  4. Query가 fixed-size state를 읽는다.

Kimi K3는 Kimi Linear의 KDA를 몇 가지 방식으로 바꾼다.

  • Q and K에 ShortConv, Swish, L2 normalization을 적용한다.
  • Log-decay를 lower-bounded scaled sigmoid로 제한한다.
  • Full-rank input-dependent output gate를 사용한다.
  • Chunkwise implementation의 diagonal tile까지 Tensor Core matrix multiplication으로 처리할 수 있게 한다.

Lower-bounded decay는 numerical stability뿐 아니라 kernel structure를 바꾼다. Cumulative decay reciprocal이 BF16 range를 넘지 않도록 제한하면 diagonal tile도 irregular position-pair computation 대신 dense GEMM으로 계산할 수 있다.

3) Gated MLA

MLA는 token마다 full head-specific K and V를 cache하지 않고 low-dimensional latent $\mathbf{c}_t$를 저장한 뒤 필요할 때 key and value를 reconstruct한다. Kimi K3의 global layer는 NoPE MLA를 사용한다.

Position signal은 MLA에 explicit RoPE를 넣는 대신 intervening KDA recurrence에서 제공한다. 이 설계는 1M context로 확장할 때 RoPE base를 다시 조정하거나 interpolation을 적용하지 않도록 한다.

MLA output에도 full-rank channel-wise gate를 둔다.

\[\mathbf{y}_t = \mathbf{W}_o \left[ \mathrm{Sigmoid}(\mathbf{W}_g\mathbf{x}_t) \odot \tilde{\mathbf{o}}_t \right]\]

이 gate는 token마다 global attention에서 읽은 channel을 다르게 조절한다.

4) Attention Residuals

Full Attention Residuals는 depth 방향의 standard residual을 attention으로 바꾼다. Layer $l$은 learnable pseudo-query $\mathbf{w}_l$를 사용해 embedding과 이전 layer output을 선택한다.

\[\alpha_{i \rightarrow l} = \frac{ \exp\left(\mathbf{w}_l^\top\mathrm{RMSNorm}(\mathbf{k}_i)\right) }{ \sum_{j=0}^{l-1} \exp\left(\mathbf{w}_l^\top\mathrm{RMSNorm}(\mathbf{k}_j)\right) }\] \[\mathbf{h}_l = \sum_{i=0}^{l-1}\alpha_{i \rightarrow l}\mathbf{v}_i\]

이 구조는 sequence attention을 depth에 적용한 것과 비슷하다. 각 layer가 이전 representation을 동일하게 누적하지 않고 선택적으로 다시 읽는다.

Full form은 arithmetic $O(L^2d)$가 필요하지만 $L < 100$에서는 계산 자체보다 모든 layer output을 보존하는 $O(Ld)$ memory and communication이 문제다.

Kimi K3는 Block AttnRes를 사용한다.

  • 93 layers를 총 8개 block으로 나누며 nominal block size는 12이고 마지막 block은 partial이다.
  • Block 내부 output은 partial sum으로 압축한다.
  • Layer는 이전 block representation과 current block partial representation을 attention한다.
  • Embedding source까지 포함하면 depth attention이 참조하는 source는 총 9개다.

이렇게 memory and communication을 $O(Ld)$에서 $O(Nd)$로 줄인다. Depth access를 완전히 없애지 않고 coarser block unit으로 바꾸는 방식이다.

5) Stable LatentMoE

Conventional MoE에서 expert는 full hidden vector를 받는다. Kimi K3는 routed path를 latent width로 줄인다.

\[\mathbf{u} = \sum_{i \in T_k(\mathbf{x})} p_i\mathbf{E}^{\mathrm{routed}}_i \left(\mathbf{W}_{\mathrm{down}}\mathbf{x}\right)\] \[\mathbf{y} = \sum_{j=1}^{N_s} \mathbf{E}^{\mathrm{shared}}_j(\mathbf{x}) + \mathbf{W}_{\mathrm{up}}\mathrm{RMSNorm}(\mathbf{u})\]

Full model width는 7168이고 routed latent width는 3584다. Routed expert 896개 중 16개를 선택하고, full-width shared expert는 2개를 항상 사용한다.

Sparsity factor는 $896 / 16 = 56$이다. Large expert space를 쓰면서 token마다 모든 expert를 계산하지 않는다.

하지만 extreme sparsity는 두 failure mode를 키운다.

  1. Routed activation explosion
    • Down projection, gated expert, up projection이 연속되어 scale이 불안정해질 수 있다.
  2. Expert load imbalance
    • 일부 expert에 token이 몰리고 일부 expert가 거의 사용되지 않을 수 있다.

Stable LatentMoE는 세 component로 이를 다룬다.

RMSNorm before up-projection

Selected expert의 scale과 routing weight에 따라 aggregated latent $\mathbf{u}$의 norm이 달라질 수 있다. Up-projection 전에 RMSNorm을 넣어 shared full-width path와 결합되는 scale을 안정화한다.

SiTU-GLU

SwiGLU의 gate and value branch는 큰 positive input에서 둘 다 unbounded가 될 수 있다. SiTU-GLU는 두 branch를 각각 tanh soft cap으로 제한한다.

  • Gate branch cap: $\beta_1 = 4$
  • Up branch cap: $\beta_2 = 25$
  • Product absolute bound: $\beta_1\beta_2 = 100$

Near origin에서는 SwiGLU와 비슷한 shape를 유지하고, outlier가 커지면 smooth saturation한다.

Quantile Balancing

Router score에 expert-specific bias를 더하는 auxiliary-loss-free routing을 사용한다. 단순 sign-based update 대신 각 expert의 routing margin distribution에서 target quantile을 추정해 bias를 조절한다.

Distributed histogram으로 quantile을 근사하므로 거의 1000개 expert의 global load를 낮은 communication으로 맞추려 한다. 목적은 loss에 balance penalty를 추가하는 것이 아니라 routing decision 자체를 balanced assignment에 가깝게 이동시키는 것이다.

6) MoonViT-V2 and native multimodality

Kimi K3는 text LLM을 먼저 학습한 뒤 vision tower를 붙이지 않는다. MoonViT-V2와 language backbone을 training 시작부터 하나의 next-token objective로 joint optimize한다.

MoonViT-V2는 다음 구조를 가진다.

  • 27-layer Vision Transformer
  • 약 401M parameters
  • Patch size 14
  • 12 attention heads
  • RMSNorm
  • Linear and attention projection bias 제거
  • Image and video parameter sharing
  • Factorized spatial and temporal attention
  • Temporal pooling
  • 2 x 2 pixel shuffle로 visual token 4배 감소
  • 최대 3584 x 3584 input 지원

저자들은 SigLIP-initialized MoonViT-3D보다 from-scratch MoonViT-V2의 gradient norm이 낮고 spike가 적다고 보고한다. Vision benchmark는 비슷하게 유지하면서 joint optimization이 더 안정적이라는 주장이다.

7) Per-Head Muon

Kimi K3는 matrix parameter에 Muon optimizer를 사용한다. Q, K, V projection에서는 full matrix momentum을 한 번에 orthogonalize하지 않고 attention head별 block으로 나눠 Newton-Schulz orthogonalization을 수행한다.

직관은 다음과 같다.

  • Full matrix update에서는 large-gradient head가 shared update scale을 지배할 수 있다.
  • Per-head normalization은 head별 momentum scale을 더 고르게 만든다.
  • Tall full matrix보다 작은 head block의 Newton-Schulz iteration이 약간 더 저렴할 수 있다.

Report는 이 방식이 large-scale training stability를 개선한다고 설명한다. 다만 optimizer contribution을 architecture and data 변화와 완전히 분리한 downstream ablation은 제한적이다.

4. Training / Data / Recipe

4-1. Pre-training data

Text data는 네 domain을 중심으로 구성된다.

  • Web Text
  • Code
  • Mathematics
  • Knowledge

각 domain에는 rule-based filtering, classifier-based quality scoring, deduplication을 적용한다. Knowledge and mathematics data는 style and perspective를 바꾸어 rephrase하고 source fidelity를 검증한다.

Vision data는 다음을 포함한다.

  • Image caption
  • Interleaved image-text document
  • OCR
  • General perception
  • Video
  • Visual coding
  • Coordinate supervision
  • Programmatic rendered data

특히 code와 rendered visual을 연결한 SVG, 3D asset, webpage, game, CAD schematic data를 크게 확장한다. 이 구성은 단순 image caption보다 agentic visual generation and editing task를 염두에 둔 것으로 볼 수 있다.

다만 total token count, modality mixture, language distribution, data source별 비율은 report에 충분히 공개되지 않는다.

4-2. Scaling law and pre-training recipe

Kimi K3는 architecture를 바꾼 뒤 Kimi K2 hyperparameter를 그대로 사용하지 않는다. Batch size, learning rate, tokens-per-parameter, model shape를 다시 search한다.

Held-out OOD validation loss에 fitted scaling law는 Kimi K2 대비 약 2.5배 scaling efficiency gain을 보인다. 이 결과는 architecture, data, optimizer, training recipe의 collective effect다. 개별 component contribution으로 해석하면 안 된다.

Learning-rate schedule은 WSD와 cosine을 각각 독립적으로 tuning해 비교한다. 같은 hyperparameter를 공유하면 schedule별 optimum 차이 때문에 비교가 불공정할 수 있다는 지적이다. 각 schedule에 맞는 peak learning rate and batch size를 찾았을 때 cosine이 더 낮은 final loss를 보여 default로 채택한다.

Main recipe는 다음과 같다.

Item Value
Optimizer Per-Head Muon for matrix parameters
LR schedule Cosine decay
Warmup 1% linear warmup
Weight decay 0.1
MoE balance Quantile Balancing
Vision strategy Native multimodal joint pretraining
Position encoding No explicit positional embedding
Initial context 8k
Later pretraining context 64k
Cooldown context 256k to 1M

4-3. Progressive long-context extension

Kimi K3는 explicit positional embedding을 사용하지 않는다. KDA recurrence의 decay and gating이 position and recency signal을 제공하고, MLA는 NoPE로 동작한다.

Context curriculum은 네 단계로 확장된다.

  1. Pretraining at 8k
  2. Later pretraining at 64k
  3. Cooldown at 256k
  4. Final cooldown at 1M

Expensive long-sequence compute를 전체 training 내내 지불하지 않고 cooldown의 일부에 집중한다.

Long-context data도 별도로 다듬는다.

  • Exact and fuzzy deduplication
  • Video frame perceptual hashing
  • Invalid binary and truncated file filtering
  • Structural validation
  • Long coherent documents and videos upsampling
  • Distant evidence를 요구하는 synthetic concatenation and permutation task

단순히 긴 token sequence를 보여주는 것과 long-range dependency를 학습하는 것은 다르다는 판단이다. Embedded subtasks가 1M context 여러 위치의 evidence를 함께 사용해야 풀리도록 data를 만든다.

4-4. SFT cold start

SFT data는 이전 Kimi series의 domain-specialized model이 만든 trajectory를 multi-stage verification and human annotation으로 정제한다. Complex tool trajectory는 XTML chat template로 serialize한다.

SFT 목표는 다음 capability의 cold start다.

  • Adaptive reasoning
  • Precise tool calling
  • Long-horizon execution
  • Multimodal interaction
  • Agent scaffold adaptation

QAT는 SFT부터 시작한다. Expert weights는 MXFP4, activation은 MXFP8을 기준으로 post-training 전 과정에서 같은 precision regime을 사용한다.

4-5. Nine RL experts

RL domain은 세 묶음이다.

  1. General tasks
    • Reasoning, vision, faithfulness, search, knowledge work
  2. General agents
    • Long-horizon assistant, deep research, paragraph-level writing
  3. Coding agents
    • Software engineering, coding experience, kernel, web development

각 domain에 low, high, max reasoning effort를 적용해 총 9개 expert policy를 만든다.

Reasoning effort control

Problem $x$에 cold-start model 기준 initial token budget $b_0(x)$를 둔다. Trajectory token usage $T(y)$가 $\tau b_0(x)$를 넘으면 task reward를 -1로 override한다.

  • Max effort는 큰 $\tau$로 시작하지만 excessive overthinking을 막는 upper cap을 둔다.
  • High and low effort는 $\tau$를 점차 줄여 만든다.
  • Agent task에서는 reasoning trace뿐 아니라 tool-call argument token도 budget에 포함한다.

이 방식은 reasoning effort를 system prompt만으로 조절하는 것이 아니라 RL objective에 직접 넣는다.

Partial rollout

각 prompt에서 $K$ completions를 생성하고 전체 $N \times K$ trajectory 중 $\lambda NK$가 끝나면 rollout phase를 멈춘다. 완료된 trajectory로 optimization을 시작하고, unfinished trajectory는 queue에 넣어 다음 iteration에서 resume한다.

이 설계는 straggler를 기다리지 않는 대신 data staleness를 만든다. Kimi K3는 per-token regularization으로 policy update를 local neighborhood에 제한해 stale rollout을 견딘다고 설명한다.

Agentic GRM

Non-verifiable task에서는 generative reward model이 다음 protocol을 따른다.

  1. Outcome or artifact를 읽는다.
  2. Rubric을 만든다.
  3. Candidate를 rubric에 따라 평가한다.
  4. Scorepad에 result를 기록한다.

Verbosity reward hacking을 줄이기 위해 cold-start output length $\ell_0$와 multiplier $\sigma$를 기준으로 excessive output이 binary comparison에서 지도록 한다.

4-6. Multi-Teacher On-Policy Distillation

RL로 만든 9 expert를 하나의 model로 합치기 위해 MOPD를 사용한다. Student가 현재 policy로 생성한 token에 대해 domain and effort에 맞는 teacher가 dense reward를 준다.

\[r_{\mathrm{opd}}^{d} (y_t \mid e, x, y_{<t}) = \mathrm{clip} \left( \mathrm{sg} \left[ \log \frac{ \pi_{\mathrm{teacher}}^{(d,e)}(y_t \mid x, y_{<t}) }{ \pi_{\theta}(y_t \mid e, x, y_{<t}) } \right], -R_{\max}, R_{\max} \right)\]

핵심은 teacher trajectory를 고정 dataset으로 모방하는 것이 아니라 student의 on-policy token에 teacher-student log-ratio reward를 주는 점이다.

  • Student가 실제로 방문하는 state에서 supervision을 받는다.
  • Domain and effort별 teacher를 선택할 수 있다.
  • Per-token dense signal이 long-horizon partial rollout infrastructure와 결합된다.
  • Extreme log-ratio는 clipping으로 제한한다.

Report는 top-k distribution distillation도 실험했지만 convergence and final performance에서 뚜렷한 이점을 보지 못했다고 설명한다.

4-7. Deployment-aware post-training

MXFP quantization-aware training

Parameter memory 대부분을 차지하는 routed expert weight는 MXFP4로 quantize한다. Activation은 MXFP8을 사용한다. Attention projection, latent projection, shared expert, router 등 non-expert component는 더 높은 precision을 유지한다.

Rollout and training이 같은 quantization scheme을 사용하므로 full-precision training 뒤 quantized serving으로 바뀌는 mismatch를 줄인다.

EAGLE-3-style draft model

Pretraining의 1-layer MTP block은 backbone block과 같은 structure를 가진다. 이를 EAGLE-3-style draft model로 fine-tune해 최대 7-step draft에 사용한다.

MTP를 auxiliary objective로 끝내지 않고 serving artifact로 재사용한다는 점이 중요하다.

4-8. Engineering notes

1) Architecture component를 개별로 이식하기 어렵다

KDA는 FlashKDA and state-aware cache가 필요하고, Stable LatentMoE는 routing balance와 expert runtime이 필요하다. Paper equation만 구현해서 같은 benefit을 얻기 어렵다.

2) Long-context support와 effective use를 분리해야 한다

1M input이 들어간다는 것과 distant information을 정확히 retrieve, synthesize, cite한다는 것은 다르다. Workload-specific needle, multi-hop, state retention test가 필요하다.

3) Reasoning effort는 evaluation configuration의 일부다

Kimi K3 public result는 max effort가 기본이다. Low or high mode의 latency, cost, quality를 별도로 비교하지 않으면 production trade-off를 판단하기 어렵다.

4) Harness randomization은 중요한 training detail이다

RL environment는 tool schema, prompt, context protocol을 randomize해 하나의 harness에 overfit되는 것을 줄인다. Agent model evaluation도 model name뿐 아니라 harness를 함께 기록해야 한다.

4-9. Infrastructure co-design

Kimi K3 report에서 architecture만큼 중요한 부분은 training and serving infrastructure다. 2.78T MoE, hybrid KDA-MLA, native vision, 1M-context rollout이 동시에 존재하므로 기존 Transformer stack을 그대로 확장하기 어렵다.

1) FlashKDA and KDA Context Parallelism

KDA는 sequence 전체 KV를 저장하지 않고 fixed-size recurrent state를 유지한다. 하지만 recurrence는 chunk 사이에 serial dependency를 만든다.

FlashKDA는 chunk 내부의 parallel computation과 chunk 사이 state propagation을 overlap하는 CUTLASS-based fused kernel이다. Training and prefill에서 token-parallel stage와 head-parallel recurrence를 별도로 schedule한다.

Cross-device long-context에서는 KDA Context Parallelism, KCP를 사용한다. Softmax attention context parallelism이 sequence length에 따라 커지는 KV block을 교환하는 것과 달리, KCP는 각 segment의 다음 두 요소를 계산한다.

  • Incoming state에 작용하는 cumulative transition
  • Zero state에서 local tokens가 생성한 recurrent state

이 두 요소를 fixed-size all-gather한 뒤 prefix composition으로 각 rank의 exact incoming state를 복원한다. Communication payload가 context length에 직접 비례하지 않는 것이 핵심이다.

2) MoonEP for expert parallelism

896-expert MoE에서는 rank별 routed token 수가 달라지면 slowest rank가 전체 step을 지연시킨다. MoonEP는 current micro-batch routing 결과를 보고 redundant expert replica를 online planning and migration한다.

  • 각 rank가 같은 수의 routed token을 처리하도록 plan한다.
  • Expert당 token count가 달라도 rank-level total compute를 맞춘다.
  • Static execution shape를 만들어 host-device synchronization을 줄인다.
  • Token을 destination expert position으로 직접 보내는 zero-copy permute and unpermute path를 사용한다.
  • Shared expert computation과 communication을 별도 stream에서 overlap한다.

Report는 rank당 최대 $E/R$개의 redundant expert slot으로 balanced plan의 존재를 보장한다고 설명한다. 여기서 $E$는 expert 수이고 $R$은 expert-parallel rank 수다.

3) Memory-efficient 3T pretraining

Pretraining은 Pipeline Parallelism, virtual pipeline stage, Expert Parallelism, ZeRO-1 Data Parallelism, Pipeline ZeRO-2 gradient sharding, Context Parallelism을 함께 사용한다.

Activation manager는 tensor마다 다음 policy를 조합한다.

  • Recomputation
  • Block-wise FP8 activation storage
  • Local offload
  • Remote offload
  • Prefetch overlap

Pipeline rank 사이 activation imbalance는 다른 rank의 memory로 remote offload해 완화한다. Gradient shard는 CPU memory에 두고 GPU의 double buffer로 reduce and accumulate한다.

Muon update도 full parameter all-gather를 피한다. 각 rank가 자신이 update할 matrix shard만 peer-to-peer로 가져오고 communication과 Newton-Schulz computation을 pipeline한다.

4) Vision computation scheduling

Large image and video는 ViT compute가 sample마다 크게 달라 load imbalance를 만든다. Kimi K3는 large visual sample을 patch dimension으로 나누고 dynamic context parallelism을 적용한다.

ViT forward and backward의 상당 부분은 text pipeline의 bubble에 배치한다. Native vision encoder가 text backbone critical path를 그대로 늘리지 않도록 schedule한 것이다.

5) External KV pool for partial rollout

1M-context partial rollout에서는 unfinished trajectory가 다음 iteration로 넘어간다. Prefix cache miss가 나면 ultra-long prefill을 다시 해야 하므로 cache persistence가 중요하다.

Kimi K3는 active decode block은 GPU에 유지하고, evicted but reusable prefix만 CPU DRAM의 external KV pool에 write back한다. KDA state와 corresponding MLA KV block은 함께 offload and prefetch해 lifecycle을 맞춘다.

Training iteration이 끝나면 model and optimizer state를 NVMe로 내려 CPU DRAM을 rollout cache에 사용한다. Rollout이 끝나면 external pool을 release해 training과 memory contention을 줄인다.

Auto-throttling scheduler는 active requests, queued requests, KV utilization을 보고 rollout concurrency를 동적으로 조절한다. Context가 짧은 early stage에는 높은 concurrency를 유지하고, trajectory가 길어져 cache pressure가 커지면 request injection을 줄인다.

6) AgentENV resumable sandbox

Long-horizon agent RL에서는 LLM state만큼 environment state도 중요하다. AgentENV는 Firecracker microVM 기반 sandbox로 다음 lifecycle operation을 제공한다.

  • Pause and Resume
  • Fork
  • Snapshot
  • Incremental checkpoint

Report가 제시한 lowest latency는 checkpoint 133ms, resume 49ms다. Paused sandbox는 model inference를 기다리는 동안 CPU and memory resource를 소비하지 않도록 설계한다. Fork는 original environment에 side effect를 주지 않고 reward judging branch를 만들 때 활용한다.

이 수치는 특정 infrastructure condition의 best-case report이므로 general sandbox latency로 일반화하면 안 된다.

7) Hybrid KDA-MLA serving cache

Serving에서는 KDA recurrent state와 MLA KV cache를 같은 prefix boundary에서 함께 복원해야 한다. MLA block만 cache hit가 나도 corresponding KDA state가 없으면 prefix를 완전히 재사용할 수 없다.

Kimi K3는 KDA checkpoint를 MLA paged cache와 같은 unified pool에서 관리한다. Conversation-turn boundary 같은 sparse point에 KDA state checkpoint를 저장하고, cache lookup 시 모든 KDA group and MLA group이 동일한 reusable endpoint에 합의하게 한다.

Fleet scheduler는 다음 두 signal을 함께 본다.

  • Cache affinity: 요청을 reusable prefix가 있는 worker로 보낼 수 있는가
  • Request budget: input length, expected output, effort level에 따른 cost가 얼마인가

1M-context request와 short chat request의 cost가 크게 다르기 때문에, 단순 FIFO보다 cache-aware placement and budget admission이 필요하다는 판단이다.

5. Evaluation

5-1. Main results

Public benchmark는 기본적으로 reasoning effort max, temperature 1.0을 사용한다. Single-step reasoning task는 top-p 0.95, agentic task는 top-p 1.0이 기본이다.

Reasoning and knowledge

Benchmark Kimi K3
GPQA Diamond 93.5
CritPt 23.4
AA-LCR 74.7
HLE-Full, no tools 43.5
HLE-Full, with tools 56.0

GPQA Diamond에서는 frontier-level result를 보이지만 HLE-Full and CritPt에서는 strongest proprietary baseline과 gap이 남는다. Report도 research-level reasoning을 improvement direction으로 명시한다.

Coding

Benchmark Kimi K3
DeepSWE 67.5
ProgramBench 77.8
Terminal-Bench 2.1 88.3
FrontierSWE 81.2
SWE-Marathon 42.0
SciCode 58.7

Coding result는 Kimi Code, Claude Code, Codex 중 task별 harness가 다르다. Terminal-Bench는 best score across harnesses를 보고한다. 따라서 pure model capability와 harness effect를 완전히 분리할 수 없다.

Agentic public benchmark

Benchmark Kimi K3
BrowseComp 91.2
DeepSearchQA F1 95.0
ResearchRubrics 76.2
Toolathlon-Verified 76.5
MCPMark-Verified 94.5
AutomationBench 30.8
Agents’ Last Exam 28.3
OSWorld-Verified 84.8
OSWorld 2.0 58.3

BrowseComp에서 context compaction을 300k token에 적용한 configuration은 91.2다. Full 1M context and no context management에서는 90.4를 보고한다. 더 긴 context를 그대로 유지하는 것이 항상 더 높은 score를 보장하지 않는 사례다.

In-house benchmark

Report의 in-house suite에서는 다음 강점을 강조한다.

Benchmark Kimi K3
Swarm Bench 76.3
Deep Research Bench 90.0
Kimi Webdev overall win-minus-lose vs Claude Opus 4.8 +31.0 points

하지만 in-house benchmark는 task construction, data access, judge alignment를 external researcher가 같은 수준으로 검증하기 어렵다. Public benchmark보다 보수적으로 해석해야 한다.

Report는 약점도 명시한다. Agent Behavior Bench, MIRA Bench, 24/7 ClawBench 2.0, Agentic Vision Bench, KWV Bench에서는 leading baseline보다 낮다. Long-horizon autonomy가 모든 agent dimension에서 균일하게 강한 것은 아니다.

5-2. What really matters in the experiments

1) 2.5x scaling efficiency의 의미를 제한해서 읽어야 한다

Figure 7은 Kimi K2 and K3의 validation-loss versus FLOPs fitted curve다. Kimi K3의 architecture, data, optimizer, recipe를 묶었을 때 같은 loss를 더 적은 FLOPs에서 얻는다는 주장이다.

이 수치는 다음을 직접 뜻하지 않는다.

  • 2.5x lower serving latency
  • 2.5x lower training dollar cost
  • 2.5x higher downstream accuracy
  • 2.5x better active-parameter efficiency

2) Ablation보다 full-stack result가 중심이다

Report는 KDA decay, MoonViT stability, SiTU-GLU, AttnRes, optimizer에 대한 component analysis를 제공한다. 그러나 final 2.78T model에서 모든 component를 하나씩 제거한 controlled downstream ablation은 현실적으로 제한적이다.

따라서 component mechanism evidence와 end-to-end model result 사이에는 inference가 필요하다.

3) Max reasoning effort가 public score의 기본이다

High public score에는 longer reasoning and tool trajectory가 포함될 수 있다. Low and high effort의 cost-quality frontier가 충분히 공개되지 않으므로 production efficiency는 benchmark table만으로 판단하기 어렵다.

4) Harness가 agent score의 일부다

Kimi K3는 Kimi Code, Kimi Agent, Claude Code 등 benchmark별 harness와 함께 평가된다. Agent benchmark에서 model weight만 바꾸는 comparison이 아니다.

특히 public leaderboard에서 각 vendor model이 서로 다른 harness와 context management를 사용할 수 있다. Score는 model plus scaffold plus tool policy의 system result로 읽는 편이 정확하다.

5) Public and in-house result를 분리해야 한다

Swarm Bench and Deep Research Bench의 높은 result는 model의 intended use와 잘 맞지만, benchmark가 내부 구축이고 judge protocol도 내부 요소를 포함한다. External reproducibility가 더 높은 public suite와 같은 confidence로 해석하면 안 된다.

6) 1M context는 infrastructure result이기도 하다

KDA state, external KV pool, partial rollout, Firecracker sandbox, prefix cache가 없으면 long trajectory training and serving 자체가 어려워진다. Long-context benchmark는 model attention뿐 아니라 system state management의 결과다.

6. Limitations

  1. Full reproduction cost가 극단적으로 크다
    • 2.78T total parameters와 custom distributed stack이 필요하다.
    • Open weight availability와 independent pretraining reproducibility는 전혀 다른 문제다.
  2. Architecture novelty가 infrastructure에 강하게 결합된다
    • KDA는 dedicated kernel and cache semantics가 필요하다.
    • Stable LatentMoE는 large-expert routing runtime이 필요하다.
    • Standard inference engine에서 같은 efficiency를 바로 얻기 어렵다.
  3. 2.5x scaling claim은 aggregate fitted result다
    • Architecture, data, optimizer, model shape, schedule effect가 섞여 있다.
    • Downstream cost or serving speedup으로 직접 일반화할 수 없다.
  4. Data recipe의 규모와 비율이 충분히 공개되지 않았다
    • Total tokens, language distribution, modality mix, synthetic data ratio가 없다.
    • Data contribution과 architecture contribution을 분리하기 어렵다.
  5. Post-training detail도 완전하지 않다
    • RL prompt counts, rollout counts, exact reward weights, per-domain budget, MOPD sampling ratio가 제한적으로 공개된다.
    • Nine-expert consolidation을 독립 재현하기 어렵다.
  6. 1M context support가 모든 long-context task의 성공을 보장하지 않는다
    • Long input acceptance, retrieval, reasoning, citation, instruction retention은 서로 다른 capability다.
    • BrowseComp에서 context compaction이 full context보다 약간 높은 result를 보인 점도 context management의 중요성을 보여준다.
  7. Public comparison의 harness and configuration이 다르다
    • Coding agent harness가 benchmark마다 다르다.
    • Third-party score는 July 2026 snapshot이다.
    • Proprietary baseline의 fallback and safety guard도 결과에 영향을 준다.
  8. In-house benchmark의 독립 검증이 어렵다
    • Internal task distribution과 judge alignment를 외부에서 완전히 알기 어렵다.
    • Self-reported lead는 public benchmark보다 보수적으로 읽어야 한다.
  9. NoPE long-context contribution이 clean ablation으로 분리되지 않았다
    • KDA, data curriculum, context parallelism, cooldown이 함께 바뀐다.
    • NoPE만의 extrapolation benefit을 독립적으로 판단하기 어렵다.
  10. Native vision이지만 audio modality는 포함하지 않는다
    • Kimi K3의 multimodality는 image and video 중심이다.
    • Omnimodal model로 일반화하면 안 된다.
  11. Safety and governance 논의가 capability report보다 상대적으로 짧다
    • Report는 강한 cybersecurity capability를 포함한 폭넓은 evaluation을 제시한다.
    • 이 규모의 open frontier model에서 release policy, abuse monitoring, access control, incident response를 더 체계적으로 설명할 필요가 있다.
  12. Max-effort score의 serving economics가 부족하다
    • Token usage, wall-clock latency, tool-call count, dollar cost distribution이 충분히 제시되지 않는다.
    • Agent product에서는 low and high effort mode가 더 중요한 operating point일 수 있다.

7. My Take

7-1. Why this matters for my work

Kimi K3의 가장 중요한 contribution은 개별 module보다 scale bottleneck을 lifecycle 단위로 연결한 방식이다.

KDA만 제안했다면 linear attention paper였을 것이다. AttnRes만 있었다면 depth routing paper였을 것이다. Stable LatentMoE만 있었다면 sparse architecture paper였을 것이다. 하지만 Kimi K3는 이 component가 1M-context multimodal agent의 training and serving에서 실제로 동작하도록 kernel, parallelism, rollout, sandbox, cache까지 같이 설계한다.

특히 연구적으로 재사용할 가치가 큰 포인트는 다음과 같다.

  1. Hybrid는 compromise가 아니라 specialization이다
    • KDA는 대부분의 sequence mixing을 싸게 처리한다.
    • MLA는 드문 global retrieval layer로 남는다.
    • 모든 layer에 full attention을 쓸 필요도, 모든 layer를 linear로 바꿀 필요도 없다.
  2. Depth도 retrieval problem으로 볼 수 있다
    • Residual stream에 모두 누적하는 대신 어떤 earlier representation을 사용할지 선택한다.
    • Long-context뿐 아니라 deep network에서의 information bottleneck을 attention 관점으로 다시 본다.
  3. MoE width를 latent space로 분리할 수 있다
    • Shared path는 full width를 유지하고 specialized path만 compact하게 만든다.
    • Expert count and top-k를 키울 때 communication cost를 줄이는 현실적인 방향이다.
  4. RL efficiency는 optimizer만의 문제가 아니다
    • Partial rollout, sandbox pause and resume, external KV pool이 training algorithm의 일부다.
    • Long-horizon RL에서는 environment lifecycle이 GPU utilization을 결정한다.
  5. Distillation은 fixed teacher data보다 on-policy state에서 작동할 수 있다
    • MOPD는 student가 실제 방문하는 token state에서 teacher signal을 준다.
    • Domain and effort expert를 하나의 model로 합치는 설계가 명확하다.

7-2. Reuse potential

Kimi K3 전체를 복제하기는 어렵지만 component-level 연구 아이디어는 상당히 많다.

1) Small-scale hybrid KDA-MLA ablation

1B to 7B model에서 KDA:MLA ratio를 1:1, 3:1, 7:1로 바꾸고 다음을 함께 측정할 수 있다.

  • Validation loss
  • Long-context retrieval
  • Prefill latency
  • Decode state memory
  • Kernel efficiency

2) LatentMoE normalization study

Full-width MoE와 latent-width MoE에서 up-projection 전 RMSNorm, SiTU-GLU, router balancing을 분리해 stability and expert specialization을 분석할 수 있다.

3) Block AttnRes for smaller deep model

70 to 100 layer의 narrow model에서 standard residual, full AttnRes, block AttnRes를 비교하면 depth access가 parameter efficiency에 주는 영향을 볼 수 있다.

4) Effort-aware RL

Problem-specific token budget을 reward에 넣고 low, high, max policy를 학습한 뒤, 하나의 model에서 effort control accuracy와 reward-cost frontier를 측정할 수 있다.

5) Partial and resumable rollout system

Agentic RL에서 full completion barrier를 없애고 unfinished trajectory를 다음 iteration로 넘기는 구조는 작은 model에서도 유용하다. 핵심 metric은 reward뿐 아니라 GPU idle time, rollout tail latency, stale data ratio다.

6) MOPD for specialized agent policies

Search, coding, evidence grounding expert를 각각 학습한 뒤 student on-policy token에 teacher log-ratio reward를 주는 방식은 multi-skill agent consolidation에 직접 연결된다.

7) Hybrid cache observability

KDA state와 global-attention KV가 함께 있는 model에서는 cache hit rate를 하나로 보고하면 안 된다. State checkpoint hit, MLA prefix hit, transfer bytes, restore latency를 분리해 모니터링해야 한다.

7-3. Follow-up papers

  • Kimi K2: Open Agentic Intelligence
  • Kimi Linear: An Expressive, Efficient Attention Architecture
  • Attention Residuals
  • LatentMoE: Toward Optimal Accuracy per FLOP and Parameter in Mixture of Experts
  • DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models
  • Muon is Scalable for LLM Training
  • EAGLE-3: Scaling up Inference Acceleration via Training-Time Test
  • Multi-Teacher On-Policy Distillation

8. Summary

  • Kimi K3는 2.78T total, 104.2B active parameter의 native multimodal MoE다.
  • Sequence에는 69 KDA and 24 MLA layer, depth에는 Block AttnRes, width에는 896-expert Stable LatentMoE를 사용한다.
  • Routed expert는 3584-dimensional latent space에서 동작하고 token마다 16 experts를 activate한다.
  • MoonViT-V2는 from scratch로 language backbone과 joint train되며 image and video를 처리한다.
  • Context는 8k, 64k, 256k, 1M으로 progressive extension하고 NoPE와 KDA recurrence를 사용한다.
  • Post-training은 SFT, 3 domains x 3 effort levels의 9 RL experts, MOPD consolidation으로 구성된다.
  • FlashKDA, KDA Context Parallelism, partial rollout, external KV pool, AgentENV, hybrid prefix cache가 architecture를 실제 system으로 연결한다.
  • Public benchmark에서는 reasoning, coding, agent task 전반에 강하지만 research-level reasoning, 일부 long-horizon behavior, independent in-house verification에는 여전히 한계가 있다.

댓글남기기