반응형

https://newsletter.semianalysis.com/p/kimi-k3-the-manos-the-mythos-the

2026.8.4
[Kimi K3, The Manos, The Mythos, The Legendos]

Kimi K3의 아키텍처: 압축 메모리, 깊이에 따른 어텐션, 잠재 전문가 라우팅 및 서빙 성능

이 문서는 Moonshot AI가 개발한 Kimi K3 모델의 혁신적인 아키텍처와 그 핵심 기술들을 심층적으로 분석하고 있습니다. 가장 큰 특징은 선형 어텐션 기법인 Kimi Delta Attention(KDA)을 도입하여 계산 복잡도를 낮추면서도, Attention Residuals라는 독창적인 구조를 통해 모델의 깊이가 깊어짐에 따라 발생하는 정보 손실 문제를 해결했다는 점입니다. 특히 기존의 잔차 연결(Residual Connection)을 넘어 층과 층 사이에서 직접적인 어텐션을 수행함으로써 모델의 표현력을 극대화하고 훈련의 안정성을 확보했습니다. 또한 대규모 추론 환경에서 발생하는 효율성 문제를 해결하기 위해 FlashKDA 알고리즘과 교차 단계 캐싱(Cross-stage caching) 같은 정교한 최적화 전략을 제안하며 기술적 완성도를 높였습니다. 결과적으로 이 텍스트는 Kimi K3가 어떻게 메모리 효율성과 높은 성능이라는 두 마리 토끼를 잡으며 차세대 오픈 프런티어 모델로 자리 잡았는지 그 원리를 명확히 규명하고 있습니다.

 

이 글은 정식 논문이 아니라 여러 논문(Kimi Linear, Attention Residuals, DeepSeek V3.2, LatentMoE 등)을 종합한 기술 프라이머(primer) 형태입니다. 

 

개요 (Overview)

Kimi K3는 공개 직후 리더보드를 휩쓸며 오픈 프런티어 모델로 자리 잡았고, 커뮤니티는 그 성능을 이끈 비전통적 기법들에 놀랐다는 문제의식에서 출발한 글입니다. 저자들은 Kimi K3의 아키텍처를 이해하기 위한 입문서 역할을 자처하며, 크게 네 가지 축을 다룹니다. 

Kimi Delta Attention(KDA) — 선형 어텐션 계열의 하이브리드 어텐션 레이어
Attention Residuals — 레이어 깊이 방향으로 적용하는 어텐션(잔차 연결의 대안)
LatentMoE — MoE 통신량을 줄이는 압축 라우팅 기법
Quantile Balancing(QB) — 하이퍼파라미터가 필요 없는 라우터 부하 분산 기법

그리고 이 아키텍처가 실제 서빙 성능(KV 캐시 효율, InferenceX 벤치마크)에 어떤 영향을 주는지로 마무리됩니다.

 


배경 (Background)

어텐션 계열의 계보: 선형 어텐션은 표준 softmax 어텐션에서 softmax 연산을 제거하는 데서 출발하며, 이를 통해 어텐션의 계산 복잡도를 제곱(quadratic)에서 선형(linear)으로 줄일 수 있습니다. 이때 softmax 어텐션은 과거의 모든 key·value 벡터에 접근해야 하는 반면, 선형 어텐션은 과거의 key·value 정보를 하나의 은닉 상태(hidden state) S로 압축합니다. 

문제는 이 온라인 학습 관점에서 행렬 S의 값이 무한정 커진다는 점으로, 시퀀스가 길어질수록 오래된 정보와 새 정보가 뒤섞여 학습이 불안정해지고, softmax가 주던 값의 정규화가 없어 장거리 회상(recall) 과제에서 선형 어텐션이 softmax 어텐션에 뒤처지는 경향이 있습니다. 이를 해결하기 위해 등장한 것이 DeltaNet이며, DeltaNet은 손실 함수를 value 검색의 L2 norm (벡터의 크기(magnitude) 또는 길이를 나타내는 방법입니다. 우리가 흔히 생각하는 유클리드 거리와 같은 개념) 을 최소화하는 방향으로 바꿔 S의 성장을 규제하는 새로운 업데이트 규칙(Delta Rule)을 만들었습니다. Gated DeltaNet(GDN)은 여기에 LSTM 스타일의 망각 게이트(forget gate)를 얹어 메모리 수명을 제어하고, KDA는 이 게이트를 대각행렬로 확장해 채널별 세밀한 메모리 감쇠와 위치 인식 기능을 추가한 버전입니다. 

잔차 연결의 배경: 잔차 연결(residual connection)은 모델 깊이를 늘려 더 큰 신경망을 만들 수 있게 해준 핵심 혁신 중 하나이지만, 초기 레이어의 신호가 잔차 스트림을 지배해 깊이가 늘어날수록 정보가 비가역적으로 손실되고, 이를 보정하려 후속 레이어의 출력 게인이 커지면서 학습이 불안정해지는 문제가 있습니다. 이 한계를 극복하기 위해 Kimi는 시퀀스 축이 아니라 깊이(depth) 축에 어텐션을 적용하는 아이디어(Attention Residuals)를 가져옵니다. 


방법론 (Methods)
1) FlashKDA — KDA의 커스텀 커널

Moonshot은 KDA용 커스텀 커널인 FlashKDA를 개발해 오픈소스로 공개했습니다. 디코드 단계에서는 재귀 형태의 상태 업데이트를 그대로 수행하고, 프리필 단계에서는 토큰을 청크 단위로 묶어 재귀식을 펼친 뒤 행렬 연산으로 병렬화합니다. 복잡도 분석 결과는 다음과 같습니다.

 

  • 디코드 단계는 헤드 차원 D에 대해 대략 7D² FLOPs를 수행하며, FP32 재귀 상태를 읽고 쓰는 과정이 메모리 트래픽을 지배해 약 8D² 바이트의 메모리 트래픽이 발생합니다. semianalysis

  • 프리필 단계는 청크 크기 C, 헤드 차원 D 기준으로 총 12C³+8C²D+6CD² FLOPs이며, 시퀀스 길이 T가 청크 크기 C보다 훨씬 클 때 전체 FLOPs는 O(T·D²)로 수렴합니다. semianalysis

  • 결론적으로 KDA는 프리필 단계에서는 시퀀스 길이에 선형적으로, 디코드 단계에서는 시퀀스 길이와 무관하게 상수 수준의 연산·메모리 복잡도를 가집니다. semianalysis

2) Kimi Linear와 MLA (Multi-Head Latent Attention)

Moonshot이 KDA 설계의 개념 증명으로 학습한 Kimi Linear 모델을 보면, K3의 공유 전문가 수·하이브리드 선형 어텐션 비율·전체 어텐션 모듈 설계를 유추할 수 있습니다. Kimi Linear는 KDA와 전체 어텐션인 MLA를 3:1 비율로 교차 배치하는 것이 성능과 효율의 균형점임을 보였고, KDA는 MLA의 RoPE를 대체하는 위치 인식 연산자 역할도 겸합니다.

 

https://www.kimi.com/blog/kimi-k3

 

MLA는 프리필·디코드에서 서로 다른 두 모드로 동작합니다.

  • MHA 모드(프리필용): key·value 대신 압축된 kv 엔트리 자체를 KV 캐시로 저장함으로써 토큰당 메모리 사용량을 42.67배 줄입니다. semianalysis
  • MQA 모드(디코드용): 쿼리는 다중 헤드, kv 엔트리는 단일 헤드로 취급되며, 잠재 차원(512)에서 SDPA를 수행하기 때문에 표준 헤드 차원(128)에서 동작하는 MHA 모드 대비 SDPA FLOPs가 약 4배, 토큰당 전체 FLOPs는 최대 3.4배까지 늘어납니다. semianalysis

이 지점에서 에이전트 워크플로의 핵심 문제인 append-prefill(긴 캐시된 입력 뒤에 긴 신규 시퀀스를 붙여 프리필하는 패턴)을 지적합니다. MHA 모드는 전체 KV 캐시를 다시 만들어야 해 메모리 부담이 크고, MQA 모드는 FLOPs 비용이 커서 두 모드 모두 append-prefill에 적합하지 않습니다. 이 때문에 DeepSeek와 Zhipu는 MQA 모드를 희소 어텐션 방식으로 바꿔 FLOPs를 줄이는 방향을 택했고, Moonshot의 차기 모델(K4)이 MLA를 대체할 어텐션 방식을 도입할 것으로 추정합니다.

 

 

3) KV 캐시 효율성

KV 캐시 효율을 캐시 크기만으로 판단해서는 안 되며, 프리필 시간(첫 토큰까지 걸리는 시간) 대비 KV 캐시 크기로 정의되는 'KV 처리량(KV throughput)'으로 함께 봐야 한다고 주장합니다.

 

캐시 저장 위치는 컴퓨터 구조의 캐시 계층과 유사하게 먼저 GPU의 HBM에 저장되고, 용량을 넘어서면 서버 DRAM으로, 다시 넘치면 SSD 같은 디스크 스토리지로 옮겨집니다.

 

 

선형 어텐션 특유의 문제도 다룹니다. KDA의 재귀 상태는 매 토큰 위치마다 크기가 고정돼 있는 반면 표준 어텐션의 KV 캐시는 시퀀스 길이에 비례해 커지는데, 이 때문에 하이브리드 구조에서는 프리픽스 캐싱이 오히려 더 복잡해집니다. 프리픽스 경계를 미리 알 수 없다면 모든 토큰 위치마다 KDA의 재귀 상태를 캐시해야 하는데, 이렇게 되면 KV 캐시 메모리 사용량이 다시 시퀀스 길이에 비례해 늘어나 선형 어텐션을 쓰는 의미가 사라집니다. 이를 막기 위해 Moonshot(그리고 vLLM)은 예컨대 3만 2천 토큰 단위처럼 성긴 간격으로만 재귀 상태를 저장하는 방식을 택했습니다.

 

4) Attention Residuals — 깊이 방향 어텐션

표준 잔차 연결 

 이 정보를 다음 레이어로 그대로 실어 나르는 것과 달리, Attention Residuals는 시퀀스 차원 대신 깊이 차원에 같은 어텐션 메커니즘을 적용해, 각 레이어가 이전 모든 레이어가 만든 표현들에 대해 어텐션을 수행하게 합니다. 표준 어텐션과 달리 쿼리는 현재 토큰에서 만들어지는 것이 아니라 레이어마다 학습되는 파라미터입니다.

 

 

이 방식은 모든 과거 레이어 출력이 필요해 대규모 분산 학습 환경에서 O(Ld) 수준의 통신 오버헤드를 만들기 때문에, 레이어 L을 N개의 블록(각 S개 레이어)으로 나눠 완료된 블록 출력에만 어텐션을 적용하는 'Block Attention Residual'로 통신량을 O(Nd)까지 줄입니다. 성능 측면에서 블록 잔차는 표준 잔차 연결 대비 1.25배의 연산 효율을 보였고, 검증 손실도 학습 후반부(decay phase)로 갈수록 격차가 벌어지며 일관되게 낮았습니다. 

 

학습 시 파이프라인 병렬화 문제(모든 이전 블록 출력을 스테이지 간 전송해야 함)는 교차 스테이지 캐싱과 활성화 체크포인팅을 결합해 표준 아키텍처 대비 오버헤드를 4%까지만 늘리는 수준으로 줄였습니다. 추론 시에는 완료된 블록에 대한 '병렬 블록 간 어텐션'과, 현재 진행 중인 블록에 대한 '순차적 블록 내 어텐션' 2단계로 나눠 처리해 IO 오버헤드를 표준 잔차 구조 수준으로 유지합니다.

 

5) LatentMoE

LatentMoE는 라우팅된 토큰을 디스패치 연산 전에 압축하고, 집계(aggregation) 연산 후에 다시 복원(decompress)합니다. Kimi K3의 'Stable LatentMoE'는 업프로젝션(복원) 직전에 RMSNorm을 적용해 스케일 변화에 대한 민감도를 낮추고 성능을 개선했습니다.

 

 

통신량과 관련해 MoE 통신량은 라우팅된 총 토큰 수, 활성 전문가 수 K, 전문가 입력 차원 d에 비례하고 전문가 병렬 크기 E에 반비례하며, 이 때문에 Kimi K2의 활성 전문가 입력 차원(7168)을 절반(3584)으로 줄인 K3는 통신량 증가 없이 활성 전문가 수를 8개에서 16개로 두 배 늘릴 수 있었을 것으로 저자들은 추정합니다.

 

더 나아가 통신 대비 연산 시간의 비율이 시스템 효율을 가늠하는 데 더 중요하며, 이 비율에 영향을 주는 유일한 모델 설정값은 '전문가 중간 차원(expert intermediate dimension)'으로, 이 값을 키우면 통신을 연산 뒤에 숨길 수 있는 이론적 최대 비율이 높아진다고 설명합니다. 저자들은 이 논리가 K2에서 K3뿐 아니라 DeepSeek V4 Pro, MiniMax M3, MiMo V2.5 Pro, Inkling 등 최근 오픈 웨이트 모델들이 전문가 중간 차원을 3072로 키운 배경이라고 봅니다.

 

6) Quantile Balancing(QB)

QB는 Jianlin Su가 2026년 2월 블로그에 발표한, 하이퍼파라미터 튜닝이 필요 없는 aux-loss-free 로드 밸런싱 기법입니다. 기존 aux-free 방식이 라우터 편향(bias)을 작은 계수로 조금씩 업데이트하는 것과 달리, QB는 라우팅 컷오프 임계값 대비 라우터 점수의 분포로부터 다음 편향 값을 직접 계산하며, 라우터가 부하를 고르게 분산할수록 편향 업데이트 폭이 자연스럽게 작아집니다.

 

 

실험 및 성능 분석 (Experiments)

이 글은 정식 실험(ablation) 섹션 대신 서빙(inference) 성능 분석으로 구성돼 있습니다.

  • 가격: 2026년 7월 30일 기준 OpenRouter의 모든 제공사에서 입력 100만 토큰당 3달러, 출력 100만 토큰당 15달러가 최저가로 형성돼 있었고, Nvidia와 AMD 모두 DRAM 오프로드와 DSpark 추측 디코딩을 적용한 Day 0 레시피를 vLLM에 제공했습니다. 

  • 실사용 벤치마크(InferenceX): Claude Code 실사용 트레이스를 1시간 분량 재생해 정상 상태에 도달했을 때, 세션당 중앙값 65턴, 턴당 중앙값 입력 14만 2천 토큰·출력 444토큰이 관측됐으며, 턴당 출력 토큰이 짧은 것은 에이전트가 도구 호출을 빈번히 하는 워크로드의 특징이라고 설명합니다. 저자들은 이 벤치마크가 기존의 8k1k/1k1k 벤치마크보다 실제 에이전트 사용 패턴과 프리픽스 캐시·DRAM 오프로딩 같은 시스템 동작을 더 현실적으로 반영한다고 평가합니다.

  • Day-0 대응: Kimi K3는 문서화와 사전 준비가 잘 되어 있어 DeepSeek V4보다 초기 대응(bring-up)이 수월했고, 가중치 공개와 동시에 적절한 이미지와 추측 디코딩 모델이 함께 배포됐습니다. 

결론 (Conclusion)

항목 결과
FlashKDA 디코드 복잡도 7D² FLOPs, 8D² 바이트 메모리 트래픽
MLA KV 캐시 절감 토큰당 메모리 42.67배 절감
MQA vs MHA FLOP SDPA 기준 약 4, 전체 토큰당 최대 3.4
Block Attention Residuals 표준 대비 1.25배 컴퓨트 효율, 지속적으로 낮은 검증 손실(디케이 단계에서 격차 확대), 깊이에 따라 커지지 않는 유계 출력, 안정적인 그래디언트 크기
파이프라인 병렬 오버헤드 cross-stage 캐싱+활성화 체크포인팅으로 표준 아키텍처 대비 4%
KDA 프리픽스 캐싱 단위 vLLM 기준 32K 토큰 간격(+프롬프트 경계)
OpenRouter 가격(7/30 기준) 모든 프로바이더 입력 $3/백만 토큰, 출력 $15/백만 토큰이 하한선
에이전틱 실사용 트래픽(InferenceX) Claude Code 유사 트레이스 재생 기준 턴당 입력 토큰 중앙값 142k, 출력 토큰 중앙값 444, 세션당 턴 수 중앙값 65
B300 배포 단일 노드에 적재 가능하며 가중치를 제외하면 HBM에 약 325만 토큰 분량의 KV 캐시 예산이 남고, 동시성 8을 넘어서면 캐시 스래싱으로 적중률이 이론적 95%에서 10% 미만으로 떨어진다.

 

[보완 내용] Kimi K3 모델

 

  • Kimi K3는 2026년 7월 16일 공개된 Moonshot AI의 새 플래그십 모델로, 총 2.8조 파라미터 규모의 희소 MoE 구조에 100만 토큰 컨텍스트 윈도우와 네이티브 멀티모달 입력을 갖췄으며, 발표 시점 기준 역대 최대 규모의 오픈 웨이트 모델로 소개되었습니다.
  • 발표 당시에는 API로만 성능을 시험할 수 있었고, 모델 가중치 자체는 2026년 7월 27일에 공개하겠다고 예고된 상태였습니다. (본문의 FlashKDA·vLLM Day-0 지원 관련 서술은 이 가중치 공개 이후를 전제로 합니다.) 
  • 가중치·기술 보고서 공개는 실제로 7월 27일 이루어졌으며, Artificial Analysis Intelligence Index 기준 K3는 3위를 기록했다고 보도되었습니다. 

 

 

 

 

 

 

728x90
반응형
Posted by Mr. Slumber
,