
Kimi K3 아키텍처 완전 분석
1M 토큰을 구현한 KDA, MoE, FlashKDA 그리고 AgentENV의 핵심 기술
최근 공개된 Kimi K3는 단순히 대규모 언어 모델(LLM)의 파라미터 수를 늘린 모델이 아닙니다. 총 2.78조(2.78T)개의 파라미터와 토큰당 1,040억(104B)개의 활성 파라미터를 사용하는 오픈 웨이트(Open Weight) 모델로, 최대 100만(1M) 토큰의 컨텍스트를 지원하며 기존 오픈 모델의 한계를 크게 확장했습니다.
특히 Kimi K3는 기존 Transformer 구조를 그대로 확장한 것이 아니라, 장문 컨텍스트 처리의 가장 큰 문제였던 Attention 메모리 사용량과 계산량을 해결하기 위해 새로운 구조를 설계했습니다. 여기에 896개의 Expert를 활용하는 Mixture of Experts(MoE), GPU 활용도를 극대화하는 MoonEP, 그리고 수천만 개의 MicroVM 환경에서 강화학습(RL)을 수행하는 AgentENV까지 다양한 기술이 결합되어 있습니다.
이번 글에서는 Kimi K3 기술 리포트를 기반으로 Kimi K3가 어떤 구조로 설계되었으며, 기존 Transformer와 무엇이 다른지 핵심 기술을 중심으로 살펴보겠습니다.
Kimi K3란?
Kimi K3는 Moonshot AI에서 공개한 최신 오픈 웨이트(Open Weight) 대규모 언어 모델입니다.
주요 특징은 다음과 같습니다.
- 총 2.78조(2.78T) 파라미터
- 토큰당 1,040억(104B) 활성 파라미터
- 최대 100만 토큰(1M Context) 지원
- 오픈 웨이트 공개
- Kimi Delta Attention(KDA) 기반 새로운 Attention 구조
- 896 Expert 기반 Mixture of Experts(MoE)
- 강화학습을 위한 AgentENV 기반 학습 환경 제공
기술 리포트에서는 모델 구조뿐 아니라 학습 방식, GPU 병렬화, 추론 최적화, RL 인프라까지 전체적인 설계가 함께 공개되었습니다.
Kimi K3가 해결하려는 문제
기존 Transformer는 뛰어난 성능을 보여주지만 입력 길이가 길어질수록 두 가지 문제가 발생합니다.
첫 번째는 KV Cache의 증가입니다.
Self-Attention은 이전 모든 토큰의 Key와 Value를 저장해야 하기 때문에 입력 길이가 길어질수록 KV Cache 역시 계속 증가합니다.
예를 들어 100만 토큰을 처리한다면 Layer마다 100만 개의 Key와 Value를 계속 유지해야 합니다.
두 번째는 계산량 증가입니다.
새로운 토큰이 생성될 때마다 이전 모든 토큰과 Attention을 수행하기 때문에 연산량 역시 입력 길이에 비례하여 증가합니다.
즉,
- 메모리는 계속 증가하고
- 계산량 역시 계속 증가하는 구조입니다.
이러한 특성 때문에 일반적인 Transformer는 매우 긴 문서를 처리할수록 GPU 메모리와 연산 비용이 급격히 증가하게 됩니다.
Kimi Delta Attention(KDA)이란?
Kimi K3에서 가장 큰 변화는 기존 Softmax Attention 대신 Kimi Delta Attention(KDA)를 사용했다는 점입니다.
KDA는 Linear Attention 계열의 구조로, 기존 Attention에서 사용하던 거대한 KV Cache 대신 고정 크기의 상태(State) 행렬을 유지합니다.
즉,
기존 방식
토큰 증가
↓
KV Cache 증가
↓
메모리 계속 증가
KDA 방식
토큰 증가
↓
128 × 128 상태 행렬만 갱신
↓
메모리 크기 유지
기존 Attention은 토큰이 많아질수록 저장해야 하는 데이터도 계속 늘어나지만, KDA는 하나의 고정된 상태(State)를 계속 업데이트하는 방식으로 동작합니다.
기존 Attention과 무엇이 다를까?
기존 Softmax Attention은 현재 토큰(Query)이 이전 모든 Key와 비교하여 가중치를 계산한 뒤 Value를 합산합니다.
따라서 모든 Key와 Value를 계속 보관해야 합니다.
반면 KDA는
- 이전 정보를 하나의 State Matrix에 누적하고
- 새로운 토큰이 들어올 때 State를 갱신하며
- Query는 State 하나만 읽으면 됩니다.
즉,
Softmax Attention
현재 Query
↓
모든 Key 검색
↓
모든 Value 계산
KDA
현재 Query
↓
State Matrix 조회
↓
결과 반환
이 방식 덕분에 토큰 수와 관계없이 일정한 메모리 구조를 유지할 수 있습니다.
KDA는 어떻게 오래된 정보를 관리할까?
State를 계속 누적하기만 하면 오래된 정보가 계속 남아 새로운 정보를 방해할 수 있습니다.
이를 해결하기 위해 KDA는 세 가지 과정을 수행합니다.
Forget(Decay)
오래된 정보를 점진적으로 감소시켜 새로운 정보를 저장할 공간을 확보합니다.
Erase
새로운 정보와 충돌하는 기존 정보를 제거합니다.
Write
새로운 Key와 Value를 State에 기록합니다.
즉,
State
↓
Forget
↓
Erase
↓
Write
↓
새로운 State
이러한 구조를 통해 KDA는 긴 문맥에서도 정보를 효율적으로 관리할 수 있도록 설계되었습니다.
FlashKDA로 GPU 성능까지 최적화
KDA 구조만으로는 충분하지 않습니다.
GPU는 대규모 행렬 연산에는 매우 강하지만 토큰을 하나씩 처리하는 연산에는 효율이 떨어집니다.
이를 해결하기 위해 Kimi K3는 FlashKDA를 도입했습니다.
FlashKDA는 여러 토큰을 하나의 Chunk로 묶어 처리하여 Tensor Core 활용도를 높입니다.
기술 리포트에서는
- 16 Token 단위 Chunk 처리
- CUTLASS 기반 CUDA Kernel
- Tensor Core 최적화
- GPU Shared Memory 활용
등을 통해 학습 및 추론 효율을 높였다고 설명합니다.
Kimi K3는 왜 MoE를 선택했을까?
Kimi K3는 모든 파라미터를 항상 사용하는 Dense 구조 대신 Mixture of Experts(MoE)를 채택했습니다.
각 Layer에는
- 896개의 Routed Expert
- 2개의 Shared Expert
가 존재하며,
실제 토큰은 이 가운데 16개의 Expert만 선택하여 계산합니다.
즉,
896 Expert
↓
Router 선택
↓
16 Expert 활성화
↓
출력 생성
이를 통해 전체 모델의 규모는 크게 유지하면서도 실제 계산량은 효율적으로 줄일 수 있습니다.
MoonEP, 대규모 MoE의 병목 현상을 해결하다
MoE(Mixture of Experts)는 전체 모델의 계산량을 줄이는 데 효과적이지만, 또 다른 문제를 발생시킵니다. 바로 Expert 간의 작업량 불균형(Load Imbalance)입니다.
예를 들어 특정 Expert로 토큰이 집중되면 해당 GPU만 과부하가 발생하고, 다른 GPU는 유휴 상태가 됩니다. 결국 가장 바쁜 GPU의 처리 속도가 전체 학습 속도를 결정하게 됩니다.
Kimi K3는 이러한 문제를 해결하기 위해 MoonEP(Moonshot Expert Parallelism)를 도입했습니다.
MoonEP는 모든 GPU가 동일한 양의 토큰을 처리하도록 Expert를 동적으로 재배치하는 방식을 사용합니다. 토큰이 특정 Expert에 집중되더라도 필요한 경우 해당 Expert를 다른 GPU에 임시 복제하여 작업을 분산합니다. 이를 통해 GPU 간 작업량을 균등하게 유지하고 병렬 처리 효율을 높였습니다.
또한 동일한 GPU에 여러 Expert가 존재하는 경우에는 토큰 데이터를 중복 전송하지 않는 최적화도 적용했습니다. 하나의 토큰 데이터를 한 번만 전송하고 여러 Expert가 이를 공유하도록 설계하여 GPU 간 통신량을 크게 줄였습니다.
결과적으로 MoonEP는 GPU 사용률을 높이는 동시에 대규모 Expert 구조에서도 안정적인 학습이 가능하도록 지원합니다.
Quantile Balancing으로 Expert 선택을 균형 있게 유지
MoE에서는 또 하나의 문제가 발생합니다.
Router가 특정 Expert를 반복적으로 선택하면 일부 Expert만 지속적으로 학습되고 나머지 Expert는 거의 사용되지 않는 Routing Collapse 현상이 나타날 수 있습니다.
Kimi K3는 이를 해결하기 위해 Quantile Balancing(QB) 기법을 적용했습니다.
기존 방식은 Expert의 사용량이 많으면 점수를 일정 값만큼 감소시키고, 적으면 증가시키는 단순한 방식이었습니다.
반면 QB는 현재 배치에서 계산된 Router 점수를 기반으로 다음 학습 단계에서 사용할 Bias를 계산합니다.
즉, 단순히 사용량을 줄이거나 늘리는 것이 아니라 각 Expert가 목표한 수준의 토큰을 처리하도록 Router의 점수를 보다 정교하게 조정하는 방식입니다. 이를 통해 특정 Expert에 편중되는 현상을 줄이고 896개의 Expert가 보다 균형 있게 학습될 수 있도록 설계되었습니다.
KDA와 MLA를 함께 사용하는 하이브리드 Attention 구조
KDA는 메모리 사용량을 크게 줄일 수 있지만, 고정 크기의 상태(State)만으로는 모든 장기 정보를 완벽하게 유지하기 어렵습니다.
이를 보완하기 위해 Kimi K3는 KDA와 MLA(Multi-head Latent Attention)를 함께 사용하는 하이브리드 구조를 선택했습니다.
전체 93개의 Attention Layer 중
- 69개 Layer는 KDA
- 24개 Layer는 MLA
로 구성되어 있습니다.
MLA는 기존 Softmax Attention과 유사한 방식으로 동작하지만 Key와 Value를 압축된 Latent Vector 형태로 저장합니다.
덕분에 일반 Multi-head Attention보다 KV Cache를 크게 줄일 수 있으며, KDA가 담당하기 어려운 전역(Global) 정보를 유지하는 역할을 수행합니다.
즉,
- KDA는 긴 문맥을 효율적으로 처리하고,
- MLA는 중요한 전역 정보를 유지하는 역할을 담당합니다.
이러한 하이브리드 구조는 메모리 사용량과 성능 사이의 균형을 고려한 설계라고 볼 수 있습니다.
AgentENV, 강화학습을 위한 MicroVM 실행 환경
Kimi K3는 모델 구조뿐 아니라 강화학습(RL)을 수행하는 환경도 새롭게 설계했습니다.
기술 리포트에서는 AgentENV라는 실행 환경을 공개했으며, Firecracker MicroVM 기반의 샌드박스 환경에서 AI 에이전트가 실제 작업을 수행하도록 구성되어 있습니다.
AgentENV는 다음과 같은 기능을 제공합니다.
- 독립된 MicroVM 실행 환경 제공
- 실행 중인 환경 일시 중지(Pause)
- 실행 상태 저장(Snapshot)
- 동일한 환경 복제(Fork)
- 작업 실패 시 복구(Recovery)
이러한 기능은 긴 추론 과정을 수행하는 Agent 기반 강화학습에서 매우 중요한 역할을 합니다.
예를 들어 코드 생성이나 웹 탐색과 같은 작업은 하나의 요청이 수 분 이상 실행될 수 있습니다. AgentENV는 이러한 환경을 중간에 저장하거나 복원할 수 있어 GPU 자원을 보다 효율적으로 활용할 수 있습니다.
기술 리포트에 따르면 학습 과정에서 5천만 개(51,219,741개)가 넘는 Sandbox 환경이 생성되었으며, 총 150만 개 이상의 이미지(Image)를 활용해 강화학습이 수행되었습니다.
실제 학습 과정은 어떻게 진행될까?
Kimi K3의 학습은 크게 세 단계로 진행됩니다.
1. Supervised Fine-Tuning(SFT)
대규모 데이터셋을 이용하여 기본적인 언어 이해 능력을 학습합니다.
2. Reinforcement Learning(RL)
일반 대화, 코딩, Agent 작업 등 다양한 영역에서 각각의 목적에 맞는 강화학습을 수행합니다.
기술 리포트에서는
- General
- Coding
- Agentic
세 가지 영역과 세 가지 추론 수준을 조합하여 총 9개의 RL 모델을 별도로 학습했다고 설명합니다.
3. Multi-Teacher Distillation
마지막으로 학습된 9개의 RL 모델을 하나의 최종 모델로 통합합니다.
이를 위해 MOPD(Multi-Teacher On-Policy Distillation) 방식을 사용했으며, 여러 Teacher 모델의 장점을 하나의 Student 모델에 전달하는 구조를 채택했습니다.
Kimi K3가 보여준 성능
기술 리포트에 따르면 Kimi K3는 여러 벤치마크에서 경쟁력 있는 결과를 기록했습니다.
대표적으로
- Terminal-Bench 2.1 : 88.3
- SWE-Marathon : 42.0
- BrowseComp : 91.2
- Artificial Analysis Intelligence Index v4.1 : 57.1
등의 성능을 기록하며 오픈 웨이트 모델 중 최상위권 수준의 성능을 보여주었습니다.
또한 KDA와 MLA를 결합한 구조를 통해 최대 100만 토큰 컨텍스트를 지원하면서도 긴 문맥 처리 성능을 유지할 수 있음을 강조하고 있습니다.
Kimi K3는 단순히 모델 크기를 키운 대규모 언어 모델이 아닙니다. 기존 Transformer가 가진 긴 컨텍스트 처리의 한계를 해결하기 위해 Kimi Delta Attention(KDA)를 중심으로 새로운 Attention 구조를 설계했으며, FlashKDA, MoonEP, Quantile Balancing, AgentENV 등 학습부터 추론까지 전 과정을 아우르는 다양한 최적화 기술을 함께 적용했습니다.
특히 고정 크기의 상태(State)를 활용하는 KDA와 압축된 KV Cache를 사용하는 MLA를 결합한 하이브리드 구조는 긴 문맥 처리와 메모리 효율성을 동시에 고려한 설계라는 점에서 의미가 있습니다. 여기에 896개의 Expert를 효율적으로 활용하는 MoE 구조와 GPU 병렬화 기술을 더해 대규모 모델 학습의 효율성까지 높였습니다.
이번 Kimi K3의 공개는 오픈 웨이트 모델이 단순히 파라미터 수를 늘리는 방향을 넘어, 아키텍처와 시스템 설계, 학습 인프라를 함께 최적화하는 방향으로 발전하고 있음을 보여주는 사례라고 할 수 있습니다. 앞으로 이러한 구조가 차세대 대규모 언어 모델 설계에 어떤 영향을 미칠지 주목할 만합니다.
How Kimi K3 Engineered Its Way to the Frontier
Design · Kimi Delta Attention, balanced Mixture-of-Experts routing, and microVM infrastructure behind a 2.8T-parameter open-weight model
codepointer.substack.com

'인공지능' 카테고리의 다른 글
| AI 에이전트 구축 가이드: 설계 원칙부터 멀티 에이전트, 가드레일까지 한 번에 이해하기 (0) | 2026.07.31 |
|---|---|
| jcode란 무엇인가? 초고속 성능과 AI 멀티 에이전트 협업을 지원하는 차세대 AI 코딩 도구 (0) | 2026.07.31 |
| Openship란? 오픈소스 셀프 호스팅 CI/CD 배포 플랫폼의 특징과 동작 방식 (0) | 2026.07.31 |
| Gemini Robotics 2, 전신 지능을 갖춘 차세대 로봇 AI의 등장 (0) | 2026.07.31 |
| LG K-엑사원 2.0 공개, 국내 최대 7500억 매개변수 AI 모델의 성능과 특징 (0) | 2026.07.31 |