REPO DEEP DIVE · 2026-07-29 · MOONSHOTAI/KIMI-K3 · 오픈 웨이트 프론티어 LLM

MoonshotAI/Kimi-K3 딥다이브
— 총 2.8조 파라미터를 오픈 웨이트로 푼 멀티모달 에이전트 모델

Kimi-K3는 중국 스타트업 Moonshot AI(달의 저편)가 공개한 오픈 웨이트(open-weight) 초거대 언어모델이다. 규모가 압도적이다 — 전문가(Expert)를 잘게 쪼개 쌓은 MoE 구조로 총 2.8조(2.78T) 파라미터를 갖되, 토큰 한 개를 처리할 때는 그중 104B(1,042억)만 켜서 쓴다. 스스로를 "세계 최초의 오픈 3T급 모델"이라 부른다.

더 중요한 건 이 레포에 코드도 가중치도 없다는 점이다. GitHub 저장소에는 README.md, LICENSE, 그리고 기술보고서 PDF(k3_tech_report.pdf) 딱 하나가 들어 있다. 즉 이 딥다이브는 "코드베이스 해부"가 아니라 한 편의 기술보고서를 초보자가 읽어낼 수 있게 풀어 쓰는 작업이다. 그 안에 KDA·Gated MLA·AttnRes·Stable LatentMoE 같은 새 이름들이 빼곡히 들어 있다.

텍스트만 하는 모델도 아니다. 이미지·비디오를 함께 이해하는 네이티브 멀티모달이며(자체 비전 인코더 MoonViT-V2 내장), 컨텍스트 길이는 1,048,576 토큰(=1M)이다. 코딩·에이전트·검색 벤치마크에서 오픈 모델 중 최상위권을 찍었다고 주장한다.

(저장소 MoonshotAI/Kimi-K3 · 라이선스 Kimi K3 License(커스텀, MIT 유사) · 공개 2026-07-27 · ★ 3,336 · 포크 267 · 이슈 10 · 가중치는 huggingface.co/moonshotai 배포 · 기술보고서 PDF 직접 분석)
목차
  1. 프로젝트 한 줄 요약
  2. 왜 지금 주목받는가
  3. 기술 스택 전체 지도 — 모델을 이루는 부품들
  4. 아키텍처 심화 분석 — 세 개의 새 이름을 풀다
  5. 디렉토리 구조 해부 — "코드 없는 레포"의 정체
  6. 학습 포인트 — 이 보고서에서 배울 6가지
  7. 하드웨어 / 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한 줄 요약

"896명의 전문가를 한 방에 앉혀 놓고, 질문마다 16명만 골라 답하게 하는 초거대 두뇌"

먼저 이름부터 풀자. Kimi는 Moonshot AI가 만든 AI 어시스턴트 브랜드(우리로 치면 ChatGPT 같은 제품명)이고, K3는 그 밑에서 도는 3세대 기반 모델이다. 계보는 K2 → K2.5 → K3로 이어진다. 이번 K3의 새로움은 두 단어로 요약된다 — 더 크게(2.8조), 더 싸게(효율 2.5배).

용어 풀이
오픈 웨이트 (open-weight)
모델의 가중치 파일(학습으로 얻어진 숫자 뭉치)을 공개했다는 뜻이다. 누구나 내려받아 자기 서버에서 돌릴 수 있다. 단, "오픈소스"와는 다르다 — 학습에 쓴 데이터나 학습 코드까지 다 준 건 아니고, 완성된 두뇌만 넘겨준 것에 가깝다. GPT나 Claude는 이것조차 안 주는 클로즈드(closed) 모델이다.

규모를 감으로 잡아 보자. 보통 우리가 아는 오픈 모델(Llama 70B 등)은 파라미터가 수백억(B) 단위다. Kimi-K3는 총 2조 8천억 개다. 그런데 이 숫자를 그대로 "매번 2.8조 개를 계산한다"고 읽으면 안 된다. 핵심은 MoE(Mixture-of-Experts)라는 구조에 있다.

용어 풀이
MoE (Mixture-of-Experts, 전문가 혼합)
모델 안에 여러 명의 "전문가(작은 신경망)"를 두고, 입력 토큰마다 그중 몇 명만 골라서 계산에 참여시키는 방식. Kimi-K3는 전문가가 896명인데 토큰 한 개당 16명 + 공유 전문가 2명만 켠다. 그래서 "총 파라미터는 2.8조지만 실제로 도는 건 104B"라는 말이 성립한다. 지식은 방대하게 저장하되 계산 비용은 작게 유지하는 트릭이다.
핵심 비유

"896명의 전문의가 있는 초대형 병원, 그런데 환자 한 명당 16명만 회진을 돈다"

일반 모델(밀집/dense 모델)은 모든 의사가 모든 환자를 다 본다. 정확할지 몰라도 의사가 많아질수록 진료가 느려지고 비싸진다. 그래서 밀집 모델은 크기를 키우기가 부담스럽다.

Kimi-K3(MoE)는 접수처에 라우터(router)라는 안내 데스크를 둔다. 환자(토큰)가 오면 증상을 보고 "당신은 심장내과 3번, 영상의학과 7번… 이렇게 16명에게 가세요"라고 배정한다. 병원 전체 의사는 896명이라 어떤 희귀병이 와도 담당 전문가가 있지만, 실제 회진 부담은 16명분뿐이다.

여기에 공유 전문가 2명이 늘 상주한다 — 모든 환자에게 공통으로 필요한 기본 검진(활력 징후 등)을 담당하는 당직의다. 전문 지식은 나눠 갖되, 기본기는 공유해서 중복 학습을 줄인다.

이 병원에는 특별한 점이 하나 더 있다. 글자만 읽는 게 아니라 사진과 영상도 본다. Kimi-K3는 자체 눈(비전 인코더 MoonViT-V2)을 달고 태어나서, 문서 스캔·차트·비디오 프레임을 텍스트와 같은 통로로 이해한다. 그리고 한 번에 기억할 수 있는 분량이 100만 토큰(책 여러 권 분량)이라, 긴 코드베이스 전체나 장시간 에이전트 작업 로그를 통째로 머릿속에 올려놓고 일할 수 있다.

2왜 지금 주목받는가

공개 이틀 만에 TrendShift 데일리 1위에 오른 이유 다섯 가지

① "오픈으로 프론티어를 건드렸다"는 포지셔닝

기술보고서의 태도가 이례적으로 솔직하다. Kimi-K3는 스스로 최정상 상용 모델인 Claude Fable 5, GPT-5.6 Sol에는 종합적으로 뒤진다고 못 박는다. 대신 그 두 개를 뺀 다른 모든 오픈·상용 모델(Claude Opus 4.8, GPT-5.5, GLM-5.2 등)은 일관되게 능가한다고 주장한다.

용어 풀이
프론티어 모델 (frontier model)
그 시점에 성능이 가장 앞서 있는 최상위 모델군을 부르는 말. 보통 이 자리는 거대 기업의 클로즈드 모델(GPT·Claude·Gemini 계열)이 차지한다. Kimi-K3의 메시지는 "그 문턱을 오픈 웨이트가 넘보기 시작했다"는 것 — 완전히 이겼다는 게 아니라, 격차가 벤치마크 한두 개 차이까지 좁혀졌다는 주장이다.

② 벤치마크 숫자가 실제로 세다

보고서가 내세운 대표 점수들이다(Kimi K3 max 설정 기준). 특히 코딩·에이전트·검색 계열에서 강하다.

벤치마크측정 대상Kimi-K3
FrontierSWE실전 소프트웨어 이슈 해결81.2 (Opus 4.8=66.7 압도, Fable 5=86.6에만 뒤짐)
SWE-Marathon장기 호흡 코딩42.0 (평가 전 모델 중 1위)
BrowseComp웹 탐색 에이전트91.2
DeepSearchQA (F1)심층 검색 QA95.0
GPQA Diamond대학원급 과학 추론93.5
OmniDocBench문서 이미지 이해(비전)91.1 (1위)
Video-MME비디오 이해90.0
숫자 읽는 법
벤치마크 점수는 "만든 쪽이 발표한 값"이다

위 표는 전부 Moonshot AI가 자사 기술보고서에 실은 자체 측정치다. 제3자 재현이나 독립 리더보드 검증을 거친 값이 아니다. 모델 제작사가 자기 모델에 유리한 설정·프롬프트를 골랐을 가능성은 늘 존재한다. "1위"라는 표현도 보고서가 비교 대상으로 고른 모델들 안에서의 1위임을 기억하자. 실제 체감 성능은 공개 리더보드(LMArena 등)와 사용자 후기가 쌓여야 판가름 난다.

③ 진짜 혁신은 "효율"에 있다 — 새 어텐션 KDA

스케일만 키운 게 아니다. 보고서는 K2 대비 전체 스케일링 효율을 약 2.5배 개선했다고 주장하는데, 그 핵심에 KDA(Kimi Delta Attention)라는 새 어텐션이 있다. 뒤 §4에서 자세히 풀지만, 한 줄로 말하면 "긴 문맥을 처리할 때 계산량이 폭발하지 않도록 설계한 선형 계열 어텐션"이다. 트랜스포머의 고질병인 "길이가 늘면 비용이 제곱으로 증가"를 완화하는 시도다.

④ 1M 컨텍스트 + 네이티브 멀티모달을 한 번에

대부분의 오픈 모델은 이 둘 중 하나만 잘한다. Kimi-K3는 100만 토큰 컨텍스트이미지·비디오 이해를 하나의 모델에 담았다. 게다가 컨텍스트 확장 방식이 특이하다 — 위치 정보를 넣는 흔한 트릭(RoPE 재조정, YaRN)을 안 쓰고, 아예 위치 인코딩을 빼는 NoPE 레이어로 1M까지 늘렸다(§4-2 참조).

⑤ 배포까지 고려한 양자화 — MXFP4

2.8조짜리 모델을 누가 돌리나? Moonshot은 이걸 예상하고 학습 단계부터 4비트 양자화를 염두에 둔(QAT) 상태로 만들었다. 전문가 가중치를 MXFP4(4비트)로 표현해 서빙 메모리와 비용을 줄였다. "크게 만들되, 굴릴 수 있게"라는 실용적 균형이다.

주의 — 미래 시점 명칭
이 레포는 2026-07-27 공개된 신규 자료다

보고서에 등장하는 경쟁 모델명(GPT-5.6 Sol, Claude Fable 5, Claude Opus 4.8, GLM-5.2)과 날짜는 모두 이 문서 작성 시점 기준으로 실재하는 최신 명칭이다. 아래 모든 수치·이름은 실제 클론한 저장소의 README·LICENSE·PDF 원문 그대로이며, 추정으로 채운 부분은 "확인 불가"로 표기했다.

3기술 스택 전체 지도 — 모델을 이루는 부품들

"백엔드/프론트엔드"가 아니라 "어텐션/전문가/눈/양자화" 4개 축으로 본다

Kimi-K3는 웹 서비스가 아니라 신경망 한 덩어리다. 그래서 "기술 스택"을 코드 언어가 아니라 모델을 구성하는 부품으로 읽어야 한다. README의 Model Summary 표를 기준으로 정리하면 이렇다.

3-1. 전체 스펙 한눈에

항목초보자 해설
총 파라미터2.78T (2.8조)모델이 저장한 지식의 총량
활성 파라미터104.2B토큰 1개당 실제로 켜지는 양(≈ 실 계산 비용)
레이어 수93 (밀집 1개 포함)정보가 통과하는 층의 개수
어텐션 구성69 KDA + 24 Gated MLA두 종류 어텐션을 섞어 쌓았다 (§4)
어텐션 hidden dim7,168한 토큰을 표현하는 벡터의 폭
어텐션 헤드 수96문맥을 동시에 여러 각도로 보는 눈 개수
전문가 수(routed)896MoE의 전문가 총원
토큰당 활성 전문가16 + 공유 2질문마다 회진 도는 전문의 수
어휘 크기(Vocab)160K모델이 아는 토큰(단어 조각)의 종류
활성함수SiTU-GLU전문가 내부의 비선형 처리 방식(§4-3)
비전 인코더MoonViT-V2 (401M)이미지·비디오를 읽는 눈
컨텍스트 길이1,048,576 (1M)한 번에 기억하는 최대 분량
양자화MXFP4 가중치 / MXFP8 활성값4비트로 압축해 서빙 (QAT)
용어 풀이
파라미터 (parameter)
신경망 안의 조절 가능한 숫자(가중치) 하나하나. 학습이란 이 숫자들을 데이터에 맞게 조금씩 바꾸는 과정이고, 다 학습된 숫자 뭉치가 곧 "모델"이다. 파라미터가 많을수록 저장할 수 있는 지식·패턴이 많지만, 그만큼 메모리와 계산이 든다. MoE는 "저장은 많이, 계산은 조금"으로 이 트레이드오프를 비튼다.

3-2. 왜 어텐션을 두 종류나 섞었나

93개 레이어 중 69개는 KDA, 24개는 Gated MLA다. 왜 하나로 통일하지 않았을까? 각각 잘하는 게 다르기 때문이다.

블록 구조 (반복 단위): KDA 3레이어 → Gated MLA 1레이어 ┌── KDA ──┐ ┌── KDA ──┐ ┌── KDA ──┐ ┌─ Gated MLA ─┐ │ 선형·저비용 │ │ 선형·저비용 │ │ 선형·저비용 │ │ 전역·정밀 │ ← 이 4개가 │ 이웃 위주 │ │ 이웃 위주 │ │ 이웃 위주 │ │ 멀리까지 연결 │ 반복됨 └─────────┘ └─────────┘ └─────────┘ └────────────┘ ↑ 값싸게 지역 문맥을 훑는 다수 ↑ 가끔 등장해 전역을 묶는 소수

KDA는 싸지만 멀리 못 보는 선형 어텐션이고, Gated MLA는 비싸지만 문맥 전체를 정밀하게 연결하는 어텐션이다. 값싼 KDA를 3개 깔고 정밀한 MLA를 1개 끼우기를 반복하면, 대부분의 계산은 싸게 하면서도 주기적으로 전역 정보를 섞을 수 있다. "동네 순찰차 3대 + 헬기 1대" 조합인 셈이다.

3-3. 눈(비전) 경로 — MoonViT-V2

이미지와 비디오는 MoonViT-V2(27레이어, 약 401M 파라미터)라는 별도 인코더가 먼저 처리한다. 특징은 이미지와 비디오가 파라미터를 완전히 공유한다는 점 — 비디오는 그냥 "시간축이 붙은 이미지"로 취급한다. 그리고 LLM에 넘기기 전에 2×2 pixel-shuffle로 다운샘플해 비주얼 토큰 수를 1/4로 줄인다. 그래야 최대 3584×3584 크기 이미지도 1M 컨텍스트 예산 안에 욱여넣을 수 있다.

왜 토큰을 1/4로 줄이나

이미지 한 장을 그대로 토큰으로 바꾸면 어마어마하게 많아진다. 1M 컨텍스트라도 고해상도 이미지 몇 장이면 금세 꽉 찬다. pixel-shuffle은 인접한 2×2 픽셀 정보를 하나로 접어 개수를 줄이되 정보는 채널 방향으로 보존하는 기법이다. "해상도를 버리는 게 아니라, 넓게 펴 있던 걸 두껍게 접는다"고 보면 된다.

4아키텍처 심화 분석 — 세 개의 새 이름을 풀다

이 장이 이 문서의 본체다. KDA · Gated MLA(NoPE) · AttnRes, 그리고 Stable LatentMoE

Kimi-K3 기술보고서의 핵심 신규 요소는 크게 어텐션 쪽 3가지 + MoE 쪽 1가지다. 하나씩, 왜 필요했는지부터 풀어 본다.

4-1. KDA (Kimi Delta Attention) — 긴 문맥의 비용을 눕히다

용어 풀이
선형 어텐션 (linear attention)
보통의 트랜스포머 어텐션은 문장 길이가 N일 때 계산량이 N²(제곱)으로 늘어난다 — 모든 토큰이 모든 토큰을 본다. 100만 토큰이면 이게 감당 불가다. 선형 어텐션은 이걸 N에 비례하게 낮춘다. 대신 "모든 쌍을 다 본다"를 포기하고, 상태(state)를 하나 들고 다니며 토큰을 순차적으로 흡수하는 재귀(RNN 비슷한) 방식으로 근사한다.

KDA는 이 선형 어텐션 계열의 최신 변형(Moonshot의 이전 연구 "Kimi Linear"의 후속)이다. 이름의 Delta(Δ)는 상태를 통째로 갈아치우지 않고 "차이(변화분)만 반영해 갱신"하는 델타 규칙에서 왔다. 보고서가 강조하는 실무적 트릭 두 가지:

이걸 실제로 빠르게 돌리려고 전용 커널 FlashKDA(Triton 레퍼런스 구현보다 대폭 빠름)와 학습·prefill·디코딩 각 단계용 최적화(KDA Context Parallelism, state-aware prefix caching)를 따로 만들었다.

KDA를 한 문장으로

일반 어텐션이 "회의실에 온 모두가 서로 일일이 악수"라면(참석자가 늘면 악수 횟수가 폭발), KDA는 "입장하는 사람이 방명록(state) 하나에 자기 요약만 갱신하고 지나간다"에 가깝다. 방명록만 보면 지금까지의 흐름을 알 수 있으니, 사람이 100만 명 와도 비용은 인원수에 비례할 뿐이다.

4-2. Gated MLA + NoPE — 정밀 어텐션으로 1M을 여는 법

KDA가 값싼 다수라면, Gated MLA(24개 레이어)는 주기적으로 등장해 전역 상호작용을 보존하는 정밀 어텐션이다. MLA(Multi-head Latent Attention)는 어텐션의 키·값을 저차원 latent로 압축해 메모리(KV 캐시)를 줄이는 기법으로, 이미 DeepSeek 등이 쓴 계열이다. Kimi는 여기에 게이팅(gated)을 더했다.

더 흥미로운 건 위치 정보 처리다. 이 레이어들은 NoPE(No Positional Encoding)를 쓴다.

용어 풀이
NoPE (위치 인코딩 제거)
트랜스포머는 원래 단어 순서를 모른다. 그래서 "몇 번째 토큰인지"를 알려주는 위치 인코딩(RoPE 등)을 넣는다. 문제는 학습 때보다 긴 문맥이 들어오면 이 위치 신호가 어긋나 성능이 무너진다는 것. 그래서 보통 YaRN 같은 재조정 기법으로 억지로 늘린다. NoPE는 아예 위치 인코딩을 빼 버린다 — 순서 정보는 어텐션의 인과 마스크(앞→뒤 방향성)와 KDA의 재귀 구조가 암묵적으로 담당한다. 그 덕에 재조정 없이 1M까지 자연스럽게 확장된다는 주장이다.

실제 확장 절차도 점진적이다 — 사전학습 중 8K → 64K로 늘리고, cooldown 단계에서 256K → 1M까지 밀어 올린다. 위치 인코딩을 손대지 않으니 이 확장이 매끄럽다.

4-3. AttnRes (Attention Residuals) — 깊이 방향의 지름길

앞의 두 개가 "옆(시퀀스) 방향" 연결이라면, AttnRes"위아래(깊이) 방향" 연결이다. 93층이나 쌓으면 아래층의 정보가 위층까지 도달하며 희석된다. AttnRes는 각 레이어가 학습된 pseudo-query이전 모든 레이어의 표현에 데이터 의존적으로 직접 접근하게 한다.

일반 잔차연결(residual)과 뭐가 다른가

보통의 잔차연결은 "바로 아래층 결과를 그대로 더해 준다" — 옆집에서만 정보를 받는다. AttnRes는 "필요하면 20층 아래 자료실까지 직접 열람"할 수 있게 한다. 다만 모든 레이어가 모든 하위 레이어를 보면 비용이 크니, 레이어들을 몇 개 블록으로 묶어 블록 단위로만 접근하는 Block Attention Residuals로 오버헤드를 줄였다.

4-4. Stable LatentMoE — 896명을 안정적으로 굴리는 법

전문가를 896명까지 늘리면 새 문제가 생긴다. 극단적으로 희소한(sparse) 라우팅은 학습이 불안정하고, 특정 전문가에게 일이 몰리는 로드 불균형이 심해진다. Kimi-K3의 Stable LatentMoE는 이걸 세 가지로 잡는다.

장치역할
Normalized LatentMoE전문가 가중치를 latent 공간에서 분리·정규화해, 라우팅 다중도가 커질 때의 트래픽·불안정을 완화
SiTU-GLU 활성함수전문가 내부의 비선형 처리를 안정화하는 새 활성함수(GLU 계열 변형)
Quantile Balancing전문가 부하를 분위수 기준으로 고르게 맞추는 로드밸런싱 — "일 몰림"을 막는다
용어 풀이
로드 밸런싱 (load balancing) in MoE
라우터가 특정 인기 전문가에게만 토큰을 몰아주면, 나머지 전문가는 놀고(학습이 안 되고) 인기 전문가는 병목이 된다. 그래서 MoE는 부하를 전문가들에게 고르게 분산시키는 규칙을 둔다. Kimi는 이걸 분위수(quantile) 기반으로 해서 극단 희소 상황에서도 균형을 유지한다.

4-5. 학습 인프라 — Per-Head Muon · MoonEP · 에이전틱 RL

모델 구조만큼 어떻게 학습시켰나도 이 보고서의 볼거리다.

용어 풀이
QAT (Quantization-Aware Training, 양자화 인식 학습)
모델을 다 만든 뒤 4비트로 억지로 줄이면(사후 양자화) 성능이 떨어진다. QAT는 학습(특히 SFT 단계)부터 "나는 4비트로 반올림될 것"을 알고 훈련해, 양자화 후에도 정확도를 유지한다. Kimi-K3는 MoE 전문가 가중치를 MXFP4(4비트), 그 입력 활성값을 MXFP8(8비트)로 두되, 어텐션 프로젝션·라우터·공유 전문가 등 민감한 부분은 고정밀로 유지한다.

5디렉토리 구조 해부 — "코드 없는 레포"의 정체

GitHub에는 파일 4개뿐. 진짜 알맹이는 어디에 있나

이 저장소를 clone하면 초보자가 당황한다. 파이썬 코드도, config.json도, 가중치도 없다. 이건 실수가 아니라 요즘 대형 모델 배포의 전형적 형태다 — GitHub는 "모델 카드 + 논문 배포용 창구"로만 쓰고, 실제 무거운 가중치는 Hugging Face·ModelScope로 나른다.

Kimi-K3/ ├── README.md ← 모델 소개 · 스펙표 · 벤치마크 · 사용법 ├── LICENSE ← Kimi K3 License (커스텀, §6 참조) ├── k3_tech_report.pdf ← 진짜 알맹이. KDA/AttnRes/LatentMoE/인프라 전부 └── assets/ └── kimi-logo.png ← 로고 이미지 ※ 가중치 · 추론 코드 · config는 여기 없음 → huggingface.co/moonshotai/Kimi-K3 (별도 배포) → 추론은 vLLM / SGLang 레시피 참조
왜 이렇게 나누나

2.8조 파라미터 가중치는 파일 크기가 수백 GB~TB급이다. git은 이런 대형 바이너리에 최악이다(버전마다 통째로 복제). 그래서 업계는 "코드·문서는 GitHub, 대용량 가중치는 Hugging Face"로 역할을 나눈다. GitHub 레포는 사실상 "이 모델을 어디서 어떻게 받아 쓰는지 알려주는 안내판"인 셈이다.

그래서 이 딥다이브의 원천은 사실상 k3_tech_report.pdf 한 파일이다(추출 본문 약 5,451줄). 우리가 §4에서 푼 KDA·NoPE·AttnRes·Stable LatentMoE는 전부 이 PDF에서 나온다.

6학습 포인트 — 이 보고서에서 배울 6가지

"모델 하나"가 아니라 "현대 LLM 설계의 축소판"으로 읽기

① MoE의 스케일링 감각

총 파라미터와 활성 파라미터가 다르다는 것, 그리고 전문가 수·활성 전문가·공유 전문가가 각각 무슨 뜻인지가 이 모델에 다 들어 있다. Kimi-K3는 896/16/2라는 극단적 희소성으로 "MoE를 어디까지 밀 수 있나"의 실제 사례다.

② 선형 어텐션이 실전에 들어오는 순간

선형 어텐션은 오랫동안 "이론은 좋은데 실전 성능이 아쉽다"는 평가를 받았다. KDA는 순수 선형이 아니라 정밀 어텐션(MLA)과 3:1로 섞는 하이브리드로 이 약점을 우회한다. "왜 통일하지 않고 섞었나"를 이해하면 현대 롱컨텍스트 설계의 핵심 감각이 잡힌다.

③ 위치 인코딩을 "빼는" 발상

RoPE·YaRN에 익숙한 사람에게 NoPE는 반직관적이다. "순서 정보 없이 어떻게?"라는 질문을 스스로 던지고, 인과 마스크와 재귀 구조가 순서를 암묵적으로 담는다는 답을 이해하는 것 자체가 좋은 공부다.

④ 양자화를 "나중"이 아니라 "처음부터"

MXFP4 QAT는 "배포를 학습 설계에 반영한다"는 사고방식의 예다. 어떤 부품은 4비트로 줄이고 어떤 부품(라우터·어텐션 프로젝션)은 고정밀로 남기는 선택적 정밀도의 실전 기준을 볼 수 있다.

⑤ 멀티모달을 "붙이지" 않고 "태생부터"

MoonViT-V2가 이미지·비디오 파라미터를 공유하고 pixel-shuffle로 토큰을 줄이는 방식은, 비전을 사후에 접붙이는 게 아니라 처음부터 컨텍스트 예산 안에서 설계했음을 보여준다.

⑥ 시스템이 곧 성능이다

MoonEP(expert parallelism), FlashKDA 커널, resumable microVM RL — 이 보고서의 절반은 모델 구조가 아니라 그걸 굴리는 인프라 이야기다. 현대 프론티어 모델은 아이디어만으로 안 되고 학습·추론 시스템이 받쳐줘야 한다는 교훈.

솔직한 한계
이 레포로는 "재현"이 불가능하다

학습 코드도, 데이터도, 하이퍼파라미터 전체도 공개되지 않았다. 즉 여기서 배우는 건 "설계 사상과 용어"이지, 이 모델을 처음부터 다시 만드는 레시피가 아니다. 벤치마크도 자체 측정치라는 점(§2)을 함께 기억하자.

7하드웨어 / 시스템 요구사항

"내 노트북에서 돌아가나?" — 냉정한 답

결론부터: 개인 장비로는 사실상 불가능하다. 2.8조 MoE는 4비트로 압축해도 가중치만 수백 GB급이라, 데이터센터급 다중 GPU 노드가 필요하다. 보고서는 정확한 추론 VRAM/GPU 수를 명시하지 않았다(확인 불가).

항목내용
추론 엔진vLLM(recipes.vllm.ai/moonshotai/Kimi-K3), SGLang, TokenSpeed 권장
양자화전문가 가중치 MXFP4(4비트) — 서빙 메모리·비용 절감 목적
학습/평가 GPU보고서 각주 기준 H20 GPU 사용(H100 아님). TP degree 등에 "8×" 표기 등장
추론 최적화speculative decoding용 draft model 파인튜닝 언급
개인 VRAM 요구보고서 미명시 — 확인 불가 (다만 다중 GPU 필수로 추정)
현실적인 접근
직접 굴리지 말고 "API로 써 보라"

대부분의 사용자에게 현실적인 경로는 자체 서빙이 아니라 Moonshot의 API(platform.kimi.ai에서 kimi-k3 선택)나 Kimi 웹/앱이다. OpenAI·Anthropic 호환 API를 제공하므로 기존 코드에 모델명만 바꿔 붙일 수 있다.

사용 시 반드시 알아야 할 두 가지 (README 명시)

8직접 해볼 수 있는 실습 과제

가중치가 없어도 "개념"과 "API"로는 충분히 손을 댈 수 있다
실습 1난이도 ★☆☆☆☆

기술보고서 PDF에서 스펙표 다시 그리기

k3_tech_report.pdf를 내려받아 §3의 스펙표(레이어 93, 어텐션 69 KDA + 24 MLA, 전문가 896/16/2)를 스스로 표로 재구성해 본다. 숫자 하나하나가 무슨 뜻인지 이 문서의 해설과 대조하며 채우면, 논문 읽는 근육이 붙는다.

실습 2난이도 ★★☆☆☆

API로 reasoning_effort 3단계 비교

platform.kimi.ai에서 같은 질문을 low / high / max로 각각 호출하고, 응답 품질 vs. 지연시간·토큰 비용을 표로 정리한다. "생각을 더 시키면 정말 더 잘하나, 어디서 수익이 꺾이나"를 체감할 수 있다.

실습 3난이도 ★★★☆☆

MoE 활성 파라미터 직접 계산해 보기

"총 2.78T인데 활성 104B"가 왜 성립하는지 종이에 계산한다. 전문가 1명의 크기(MoE hidden dim 3,072 기준)를 추정하고, 896명 중 16명 + 공유 2명만 켜질 때의 대략적 활성 비중을 손으로 맞춰 본다. MoE의 경제학이 몸에 들어온다.

실습 4난이도 ★★★★☆

선형 어텐션 vs. 표준 어텐션 비용 곡선 그리기

토큰 길이 N을 x축에 두고, 표준 어텐션(N²)과 선형 어텐션(N)의 연산량 곡선을 직접 플롯한다. N=1M 지점에서 격차가 얼마나 벌어지는지 눈으로 확인하면, KDA를 왜 만들었는지가 그래프 한 장으로 이해된다.

실습 5난이도 ★★★★★

작은 MoE를 직접 구현해 로드 불균형 관찰하기

PyTorch로 전문가 8명짜리 미니 MoE를 만들고, 로드밸런싱 없이 학습시켜 특정 전문가에게만 토큰이 몰리는 현상을 재현한다. 그 다음 간단한 밸런싱 로스를 추가해 분포가 고르게 펴지는 걸 확인한다. Kimi의 Quantile Balancing이 푸는 문제를 축소판으로 체험하는 과제다.

9관련 기술 심화 학습 로드맵

Kimi-K3를 제대로 소화하려면 어느 방향으로 파고들 것인가 (주차별)

1주차 — 트랜스포머와 어텐션의 기본

모든 것의 출발점. Attention is All You Need(2017)를 읽고, 왜 어텐션 비용이 인지를 손으로 유도해 본다. Q·K·V가 무엇이고 멀티헤드가 왜 필요한지가 흔들림 없이 잡혀야 KDA·MLA가 이해된다.

2주차 — MoE의 계보

Shazeer의 Sparsely-Gated MoE(2017) → Switch Transformer → DeepSeek-MoE로 이어지는 흐름을 훑는다. 공유 전문가·라우팅·로드밸런싱 로스 개념이 Kimi의 Stable LatentMoE로 어떻게 발전했는지 대조하면 좋다.

3주차 — 선형 어텐션과 상태공간 모델

Linear Attention, RetNet, Mamba(SSM), 그리고 Moonshot의 Kimi Linear를 본다. "재귀 상태로 어텐션을 근사한다"는 공통 아이디어와, 델타 규칙(DeltaNet) 계열이 KDA의 직계 조상임을 확인한다.

4주차 — 롱컨텍스트와 위치 인코딩

RoPE → YaRN → NoPE로 이어지는 위치 인코딩 논쟁을 따라간다. "위치 신호를 넣을까 뺄까"가 왜 1M 컨텍스트의 핵심 쟁점인지, 그리고 Kimi가 왜 빼는 쪽을 택했는지를 스스로 판단해 본다.

5주차 — 양자화와 추론 시스템

FP8·MXFP4 같은 저정밀 포맷, QAT vs. PTQ, 그리고 vLLM·SGLang의 서빙 구조(paged attention, KV 캐시 관리)를 본다. "모델을 어떻게 굴리나"가 성능의 절반이라는 §6-⑥의 교훈을 실물로 확인하는 단계.

6주차 — 에이전틱 RL과 도구 사용

긴 궤적 위에서 도구를 쓰며 학습하는 에이전틱 RL이 최전선이다. partial rollout, resumable sandbox, on-policy distillation 같은 Kimi의 시스템 기법을 최근 에이전트 RL 논문들과 나란히 놓고 읽으면, "왜 microVM까지 동원하나"가 납득된다.

10핵심 키워드 사전

이 문서에 나온 용어 정리
용어
MoE / 활성 파라미터
Mixture-of-Experts. 여러 전문가 중 토큰마다 일부만 켜는 구조. Kimi-K3는 총 2.78T 중 토큰당 104B만 활성. 전문가 896 · 활성 16 · 공유 2.
용어
KDA (Kimi Delta Attention)
Kimi의 선형 어텐션 계열 신규 설계. 델타 규칙으로 상태를 갱신하고, 하한 있는 decay·청크 병렬로 안정성과 속도를 잡음. 전용 커널 FlashKDA 동반. 93층 중 69층이 이것.
용어
Gated MLA
키·값을 저차원 latent로 압축하는 Multi-head Latent Attention에 게이팅을 더한 정밀 어텐션. 24층에 주기적으로 삽입돼 전역 상호작용을 보존. NoPE 적용.
용어
NoPE (No Positional Encoding)
위치 인코딩을 제거하는 방식. 순서는 인과 마스크와 재귀 구조가 암묵적으로 담당. YaRN 같은 재조정 없이 1M 컨텍스트로 확장 가능하다는 주장.
용어
AttnRes (Attention Residuals)
깊이(레이어) 방향의 지름길. 학습된 pseudo-query로 이전 모든 레이어 표현에 데이터 의존적으로 접근. 비용 절감을 위해 블록 단위로 묶은 Block Attention Residuals 사용.
용어
Stable LatentMoE
896 전문가의 극단 희소성을 안정화하는 3종 세트 — Normalized LatentMoE + SiTU-GLU 활성함수 + Quantile Balancing(로드밸런싱).
용어
MoonViT-V2
Kimi-K3의 비전 인코더(27층, 약 401M). 이미지·비디오 파라미터 완전 공유, 2×2 pixel-shuffle로 비주얼 토큰을 1/4로 줄여 1M 예산 안에서 고해상도 처리.
용어
MXFP4 / MXFP8 (QAT)
전문가 가중치=4비트(MXFP4), 활성값=8비트(MXFP8)로 두는 양자화 인식 학습. 라우터·어텐션 프로젝션·공유 전문가는 고정밀 유지. 서빙 비용을 낮추고 하드웨어 호환을 넓히려는 설계.
용어
MoonEP
Moonshot의 Expert Parallelism 라이브러리. 정적 shape·zero-copy 통신·bounded redundant experts로 학습 시 전문가 분산 통신 병목을 잡음. MoonshotAI/MoonEP로 별도 공개.
용어
Preserved thinking history
멀티턴·툴콜 시 API가 돌려준 assistant 메시지(reasoning_content + tool_calls 포함)를 그대로 다시 넣어야 하는 사용 규약. 빼먹으면 에이전트가 사고 맥락을 잃는다.

11참고 링크

원문으로 확인하고 싶을 때
대상위치
저장소github.com/MoonshotAI/Kimi-K3
기술보고서k3_tech_report.pdf (저장소 내) — KDA·AttnRes·LatentMoE·인프라
기술 블로그kimi.com/blog/kimi-k3
가중치huggingface.co/moonshotai (모델 Kimi-K3)
API / 문서platform.kimi.ai (모델명 kimi-k3)
챗 / 앱kimi.com · Kimi Code CLI kimi.com/code
추론 레시피recipes.vllm.ai/moonshotai/Kimi-K3 · SGLang cookbook
학습 인프라github.com/MoonshotAI/MoonEP (Expert Parallelism)