2.8TPARAMETERS
LLM과 컴퓨팅 자원의 역학관계
모델은 점점 효율적으로 바뀌는데
GPU와 메모리 수요는 왜 계속 늘어나는가
이호진
삼성전자 메모리사업부 Design Technology 팀
Technology Enablement 그룹 · Analog DTCO 파트
2026 · COMPUTE RESOURCE
오늘 이야기는 "모델이 크다/작다"가 아니라 그 모델을 돌리는 데 무엇이 얼마나 드는가 입니다.
끝까지 따라오시면 Kimi K3가 왜 증시를 흔들었는지를 구조로 설명할 수 있게 됩니다.
넘기기는 스페이스, 발표자 노트는 S, 전체 슬라이드 보기는 ESC입니다.
오늘의 차례
청구서를 정의 하고, 그다음 깎습니다
전반부 · 1~5장
무엇이 얼마나 드는가
1 Kimi K3의 증시 충격효율이 자본의 신화를 흔든 날
2 추론 시장으로의 전환수요는 어디서 오는가
3 용량 청구서모델을 담는 값
4 KV캐시 청구서일을 시키는 값
5 프리필과 디코딩시간은 어디서 새는가
후반부 · 6~11장
그것을 어떻게 깎는가
6 아키텍처 살펴보기여섯 모델의 여섯 전략
7 양자화비트를 줄여 둘 다 깎기
8 여러 장에 나눠 돌리기서버 쪽에서 같은 청구서를 나누기
9 AI 소버린국가 · 기업 · 개인의 자립
10 GPU 로드맵하드웨어는 어디로 가는가
11 추론 엔진과 커널하드웨어와 모델을 잇는 소프트웨어
구조만 잡고 가겠습니다. 앞의 다섯 장은 전부 "무엇이 얼마나 드는가"를 세우는 과정이고,
뒤의 여섯 장은 그 값을 깎는 이야기입니다. 6장 들어갈 때 이 목차를 한 번 더 띄웁니다.
6·7장은 모델을 고쳐 깎고, 8장은 서버 쪽에서 나눕니다 — 이 갈림만 미리 말해 두면
후반부 구조가 잡힙니다. 9~11장은 그 배경(왜 자기 것을 가져야 하나)과
바닥(무엇 위에서 도나)입니다.
01
Chapter 01
Kimi K3는 어떻게 미국 증시를 흔들었나?
"거대 자본의 신화를 흔든 효율의 반격"
2026년 7월 16일에 무슨 일이 있었고, 시장은 왜 그것을 위협으로 읽었는지 .
2026. 07. 16 · WAIC
Moonshot AI, Kimi K3 발표
총 파라미터 2.8조 (2.8T)
MoE 구조 전문가 896개 중 16개 만 활성
컨텍스트 100만 토큰
어텐션 Kimi Delta Attention (KDA)
기시감
2025년 1월 DeepSeek-R1 이 촉발한 "딥시크 모먼트"와 패턴이 거의 똑같습니다.
숫자를 다 외울 필요는 없습니다. 두 개만 — 2.8조 라는 크기, 그리고 896개 중 16개 라는 희소함.
이 둘이 6장에서 다시 나옵니다. 16/896은 전문가 개수 비율이고,
실제 활성 파라미터 비율은 104B/2.8T = 3.7%입니다. 그래도 DeepSeek R1의 5.5%보다 희소합니다.
KDA는 여기서 설명하지 않습니다. 이름만 스쳐 두고 6장 마지막(6.6)에서 제대로 다룹니다.
나스닥 선물 약 1~1.7%(매체별 편차), S&P 500 선물 약 0.8% 하락, NVDA 2% 이상.
블룸버그 아시아 반도체 지수는 6% 넘게 빠졌습니다.
다만 정직하게 덧붙이면 — 2026년 6월 22일 이후 누적 3.3조 달러 증발은
K3 발표 이전부터 진행 중이던 밸류에이션 조정 이고, 발표가 이를 가속시켰다는 분석입니다.
그리고 이건 당시 투자자의 해석 이지, K3가 실제로 Nvidia 수요를 줄였다는 증거는 아닙니다.
1.1 투입 — 미국 vs 중국
돈만 적은 게 아니라살 수 있는 물건 이 다릅니다
항목 미국 중국
최신 가속기 Blackwell · Vera Rubin 수출 규제로 차단
주력 AI 칩 Nvidia · AMD · 자체 칩(TPU · Trainium) Huawei Ascend · Cambricon
조달 현황 규제 없음 — 공급이 병목 Nvidia 인도 0 → 자국 75만 개 계획
이 표의 요점은 한 줄입니다 — 중국은 돈으로도 못 사는 상태라는 것.
Nvidia는 중국 하이퍼스케일러에서 H200을 40만 개 넘게 수주했지만 실제 인도는 0이고,
중국 정부가 자국 칩을 쓰라고 지시한 결과입니다.
이 조건에서 나온 모델이 K3라는 게 뒤 두 장의 배경입니다.
Goldman Sachs 추정입니다. 2023년부터 7~8배에서 고정 돼 있다는 게 핵심입니다.
비율은 그대로인데 절대 금액의 차이는 계속 벌어집니다 —
2022년엔 1,480억 달러 차이였는데 2027년엔 9천억 달러 차이입니다.
2026·2027은 추정치라고 부제에 밝혀 뒀습니다.
Artificial Analysis Intelligence Index, 7월 28일 스냅샷입니다. 여러 벤치마크를 하나로 묶은 종합 점수고,
모델 계열마다 최고 점수를 대표값으로 삼아 상위 15개를 그렸습니다.
짚을 곳은 K3 막대 하나 — 4위 , 1위와 3.6점 차이입니다.
그리고 K3만 올라온 게 아닙니다. GLM-5.2가 11위, 그 아래로 Qwen3.7 Max·MiniMax M3·
DeepSeek V4 Pro·Hy3가 40점대에 줄지어 있습니다 — 한 점이 아니라 층 입니다.
다만 이 지수는 미·중 모델을 같은 수로 표본화한 것이 아니라 리더보드 상위 순서 그대로이므로,
국가별 모델 수의 비율 을 이 그림에서 읽으면 안 됩니다.
1장 정리
시장이 반응한 것은 이 불균형 입니다
투입 · 연간 설비투자
8×
미국 7,640억 달러 대 중국 1,020억 달러 (2026년 추정)
결과 · 종합 지능 지수
6%
15개 중 4위 , 1위와 3.6점 차이
투입은 8배 차이, 결과는 6% 차이. 이 한 줄이 1장 전체입니다.
여기서 두 갈래 질문이 나옵니다 — 하나는 "어떻게 그게 가능한가"(6장 아키텍처),
다른 하나는 "그런데 왜 그 와중에 메모리는 더 부족한가"(2장부터).
발표는 두 번째 질문부터 갑니다. 첫 번째 질문의 답이 두 번째 위에 서 있기 때문입니다.
02
Chapter 02
추론 시장으로의 전환
"만드는 시대를 넘어, 매일 쏟아내는 시대로"
왜 지금 추론 비용이 이렇게 중요해졌는지.
무슨 일이 벌어지고 있나
에이전트 가 토큰을 먹습니다
챗봇은 한 번 답하고 끝나지만, 에이전트는 여러 도구를 오가며
긴 맥락을 반복해서 읽고 씁니다.
AI 기업 — 자체 서버를 늘리고도 외부 연산까지 장기로 임대합니다.
일반 기업 — 보안·데이터 통제·규제 대응을 위해 온프레미스·하이브리드로 갑니다.
개인 — 로컬 서빙에 뛰어들며 DGX Spark·고메모리 Mac이 품절됐습니다.
핵심은 사용자 수가 아니라 사용자당 토큰 이 함께 늘었다는 것입니다.
수요층이 AI 기업 → 일반 기업 → 개인으로 넓어졌고, 셋이 원하는 물건이 같습니다.
다음 세 장에서 이 흐름을 숫자로 따라갑니다 — 토큰량, 연산 임대 계약, 그리고 기기 가격표.
전 세계 추론량이 아니라 모델 라우터 한 곳 의 처리량입니다 — 그래도 방향은 분명합니다.
왼쪽은 6개월에 5배, 가운데는 요청 하나가 무거워진 것(프롬프트 1.5K→6K, 응답 150→400),
오른쪽은 무엇이 태우는가(프로그래밍 11%→50% 이상).
수요를 끄는 건 사람의 수가 아니라 코딩 에이전트의 왕복 횟수 입니다.
자체 데이터센터를 계속 늘리면서도 외부 연산을 따로 빌려야 할 만큼 수요가 빨랐다는 증거입니다.
Google은 이를 Gemini Enterprise의 예상을 웃돈 수요에 대응하는 브리지 용량 이라고 설명했습니다.
두 수치는 우열을 가리는 비교값이 아니라 서로 다른 확보 사례입니다.
Anthropic 수치는 SpaceX 공식 EU 투자설명서 4.3.4.5절의 Colossus I·II 합계이고,
초기 기사의 "Colossus 1 한 곳 22만 장"과 혼동하지 않아야 합니다.
여기가 이 발표에서 청중과 가장 가까운 슬라이드입니다.
일반 DRAM 계약가가 2026년 1분기에만 분기 대비 93~98% 뛰었고,
NVIDIA는 DGX Spark를 $3,999 → $4,699로, Apple은 MacBook·iPad를 최대 $300 올렸습니다.
둘 다 인상 사유로 AI 데이터센터발 메모리 공급 부족 을 명시했습니다.
소비자 GPU 소매가는 1차 출처를 확인하지 못해 넣지 않았습니다.
여기서 질문이 달라집니다
이제 경쟁의 중심은 모델을 만드는 것이 아니라,
만들어진 모델을 얼마나 많이 돌릴 수 있느냐 입니다.
그래서 다음 질문은 하나뿐입니다 — 돌리는 데 정확히 무엇이 얼마나 드는가.
청구서는 두 장 날아옵니다. 3장이 첫 장, 4장이 둘째 장입니다.
여기서 한 박자 쉬어 갑니다. 1·2장은 "왜 지금 이 이야기인가"였고,
3장부터는 "그래서 얼마가 드는가"입니다. 여기서 청구서가 두 장이라는 것만 못 박고 넘어갑니다.
03
Chapter 03 · 청구서 1
LLM을 담으려면 메모리가 얼마나 필요할까요?
"덩치만큼 정확히 매겨지는 자릿세"
첫 번째 청구서 — 모델을 올려두기만 한 상태 의 비용.
외울 건 하나입니다
8비트에서는
1B = 1GB
1T = 1TB
8비트 = 1바이트 → 파라미터 하나 = 1바이트 .
파라미터 수를 그대로 GB로 읽으면 그게 적재 비용입니다.
정밀도를 바꾸면 곱하기
BF16은 ×2 , FP4는 ×0.5 .
막대에 배수를 곱하는 것으로 끝납니다.
어느 정밀도를 네이티브로 가속 하느냐는 가속기 세대가 정합니다 —
암페어 FP16, 호퍼 FP8 , 블랙웰 FP4.
이 슬라이드가 3장 전체입니다. 8비트로 눌렀을 때 품질 저하는 대체로 무손실 수준이라,
이 기준선은 실무에서도 그대로 씁니다.
극한까지 밀면 1B당 0.3GB 수준까지 내려가지만 압축이 세질수록 품질 손실이 커지고,
작은 모델일수록 양자화에 약하고 큰 모델일수록 강합니다. 그게 7장입니다.
막대를 다 읽지 마시고 두 그룹으로 갈린 것 만 봐주세요.
행마다 깔린 옅은 칸 여덟이 노드 한 대 고, 진한 부분이 가중치가 실제로 쓰는 자리입니다 —
이 그림은 "얼마나 큰가"가 아니라 "한 대에 들어가는가" 를 묻습니다.
위 그룹 은 8비트 그대로 H200 8장(1,128GB)에 들어갑니다. 칸 하나가 H200 한 장(141GB)이고,
GLM-5.2를 FP8로 올리면 753GB니까 여덟 칸 중 여섯 칸 입니다.
Qwen3.6 27B는 한 장도 못 채웁니다 — 그래서 노트북에서도 돕니다.
아래 그룹 은 8비트로는 그 노드에 못 들어간 셋이라 4비트로 내리고 B300 8장 으로 갔습니다.
칸 크기는 위아래가 같고 담는 용량만 다릅니다 (141GB → 288GB) —
같은 여덟 장인데 오른쪽 끝이 1,128GB에서 2,304GB로 뜁니다. 그게 세대 차이입니다.
회색 점선을 짚어 주세요 — 8비트였다면 어디까지였을지입니다.
Kimi K3는 2.8TB라 B300 한 노드도 넘깁니다. 4비트로 내려야 비로소 한 대에 담깁니다.
아래 셋은 이론값 입니다 — K3의 배포 원본(MXFP4)은 실측 1,560.9GB로,
혼합 정밀도라 이론값 1.4TB보다 큽니다(6.6장에서 다시 봅니다).
큰 모델이 대부분 중국 회사라는 점은 9장에서 다시 이야기합니다.
앞 장이 "들어간다"였고 이 장은 "들어가고 나면 얼마 남나" 입니다.
위 띠도 앞 장과 같은 여덟 칸 입니다 — 칸 하나가 H200 한 장(141GB)이고,
앞 장에서 여섯 칸이던 GLM-5.2의 가중치가 여기서는 다섯 칸 반 까지 차 있습니다.
여덟 장에 올리면 3분의 2가 가중치 로 찹니다.
단, 칸은 용량 몫이지 자리 배치가 아닙니다 — 가중치가 앞쪽 다섯 장에 몰려 있는 게
아니라 TP8이 셋을 여덟 장에 똑같이 나눕니다. 그게 가운데 세로 막대입니다.
남는 자리에서 활성값과 CUDA 그래프 몫(엔진 권고 GPU당 5~8GB)을 빼면
KV캐시 자리는 311GB 입니다. 이건 설정을 최대로 올렸을 때의 상한이고,
엔진이 자동으로 잡으면 200GB대로 내려갑니다.
짚을 곳은 오른쪽 칸입니다 — 128K 대화가 쉰 명 이고, 길이가 두 배가 되면 절반이 됩니다.
가중치는 한 번 올리면 모두가 함께 쓰는데 KV캐시는 사람마다 새로 듭니다.
그래서 두 번째 청구서가 결국 동시 사용자 수를 정합니다 — 다음 장입니다.
04
Chapter 04 · 청구서 2
일을 시키려면 메모리가 얼마나 필요할까요?
"손님마다 따로 내고, 이내 자릿세를 넘어서는 값"
두 번째 청구서 — 그리고 6장 아키텍처 경쟁이 벌어지는 전장 .
이 장의 출발점입니다 — 한 글자를 더 쓰려면 지금까지의 전부를 봅니다.
왼쪽 계단을 위에서 아래로 짚어 주세요. 걸음마다 새로 계산하는 것은 언제나 한 칸 (시안)이고
나머지는 앞 걸음에서 계산해 둔 것을 꺼내 씁니다(회색). 그 꺼내 쓰는 더미가 KV캐시입니다.
1,000번째 줄이 요점입니다 — 앞의 999개를 계산하지 않고 읽습니다.
오른쪽 위는 그 더미의 단가입니다. 토큰 하나가 층마다 K·V 한 쌍을 남기고,
GLM-5.2는 78층이라 토큰 하나가 43.9KiB , 1M 대화 하나가 46.5GiB 입니다 —
앞 장의 311GB에 여섯 명이 들어간다던 그 값입니다.
오른쪽 아래 삼각형은 캐시가 없으면 어떻게 되는가 입니다. 면적이 총 계산량이고,
1,000걸음이면 500,500번 대 1,000번 — 약 500배입니다.
단, 정직하게 덧붙이면 읽는 양은 줄지 않습니다. 매 걸음 캐시 전체를 읽어야 하고,
그래서 5장의 디코딩이 대역폭에 묶입니다. 6장은 그 읽는 양을 줄이는 싸움입니다.
실무에서 기억할 건 무엇에 비례하느냐 넷 뿐입니다.
핵심은 이 넷이 더해지는 게 아니라 곱해진다 는 점 — 각각은 순한 비례인데 겹치면 폭발합니다.
그리고 왼쪽 둘(사용자 수·대화 길이)은 사용자가 정하는 값 이라 서비스가 손댈 수 없습니다.
손댈 수 있는 건 오른쪽 둘 — 모델 사이즈는 6장 아키텍처가, 정밀도는 7장 양자화가 다룹니다.
구형 덴스 모델이라 KV캐시를 줄이는 장치가 없어 공식이 그대로 드러납니다.
설정값은 Hugging Face config.json 실측이고, 사용자 1명(batch 1) 기준입니다.
짚을 곳은 오른쪽 — 1만~2만 토큰이면 KV캐시가 가중치를 따라잡습니다.
요즘 에이전트가 한 번에 쓰는 양이고, 여기에 동시 사용자 수가 다시 곱해집니다.
단서 하나: "모델 사이즈에 비례"는 같은 아키텍처 안에서만 참입니다.
Llama 2 70B는 GQA라 1K당 0.31GB로 7B(0.50GB)보다 오히려 작습니다 — 그 이야기가 6장입니다.
손댈 수 없다던 그 값이 가만히 있어 주지도 않았습니다.
3년 만에 256배 — 모델을 하나도 바꾸지 않아도 KV캐시가 256배가 된다는 뜻입니다.
세로축이 로그 눈금이라 실제 격차는 보이는 것보다 훨씬 큽니다.
오픈웨이트는 HF config 실측이고, GPT·Claude·Gemini는 비공개라 발표 수치 기준입니다.
실제 지형은 "프론티어급은 1M, 중형 오픈웨이트는 지금도 256K"입니다.
4장 정리
1M은 여유분이 아니라이미 쓰이는 값 입니다
사람이 챗봇에 물을 때
몇 천 토큰이면 충분합니다.
에이전트가 일할 때
코드베이스를 통째로 읽고,
쓸 수 있는 도구 설명을 전부 앞에 붙이고,
수십 턴 을 이어갑니다.
예전에는 컨텍스트를 다 쓰는 게 특수한 사용법이었다면, 지금은 기본값 입니다.
공식에서 가장 빠르게 자란 항이 여기고, 6장 아키텍처 경쟁의 이유이기도 합니다.
다만 5장을 먼저 봅니다 — 메모리가 얼마나 드는가 를 봤으니,
이번엔 시간이 어디서 새는가 를 봐야 아키텍처가 왜 그렇게 설계됐는지 읽힙니다.
05
Chapter 05
프리필과 디코딩
"한꺼번에 삼키는 입력, 한 땀 한 땀 뱉어내는 출력"
같은 연산인데 속도가 16배 차이 나는 이유, 그리고 그것이 만든 가격표.
이 그림이 5장 전체의 뼈대입니다. 뒤의 그림 셋은 이걸 각각 풀어 보여 주는 것뿐입니다.
맨 위 한 줄만 잡아 주세요 — H200은 바이트 하나를 읽는 동안 412번 계산할 수 있습니다.
그 412를 채우면 연산이 천장, 못 채우면 대역폭이 천장입니다.
왼쪽은 1,024토큰을 한꺼번에 넣어 412를 다섯 배 넘깁니다 — 격자가 전부 켜집니다.
오른쪽은 토큰 하나라 2번 밖에 못 씁니다. 100칸 중 반 칸 입니다.
가운데 줄이 왜 그렇게 되는지입니다 — 같은 가중치 읽기 한 번으로 왼쪽은 1,024개를 만들고
오른쪽은 하나를 만듭니다. 앞 토큰이 나와야 다음을 시작할 수 있으니까요.
정직하게 덧붙이면 격자의 칸은 물리적 유닛이 아니라 쓸 수 있는 연산 능력의 몫 입니다 —
디코딩에서도 유닛은 켜져 있고 메모리를 기다립니다.
그리고 산술 강도 차이는 1,024배인데 실측 격차는 16배 입니다. 프리필도 연산 천장에
한참 못 미친다는 뜻입니다 — 그 실측이 바로 다음다음 장입니다.
이게 6장에서 MoE와 KV캐시 압축이 전부 같은 방향으로 몰려 있는 이유입니다.
왼쪽 계단이 "누가 누구를 보는가"입니다. 각 토큰이 자기 앞만 본다는 규칙은
입력을 받은 순간 이미 다 정해져 있으니, 세 줄의 계산이 서로를 기다릴 이유가 없습니다.
이 계단이 5.3에서 다시 나옵니다 — 캐시 히트를 설명할 때 같은 그림을 씁니다.
새 토큰 하나마다 모델 전체를 처음부터 다시 읽어야 합니다.
100GB를 500GB/s로 읽으면 토큰 하나에 0.2초, 초당 5토큰 — 이게 디코딩이 느린 이유의 전부입니다.
병렬화할 방법이 없다는 데는 예외가 하나 있고, 5.4에서 따로 다룹니다.
이야기가 아니라 실측입니다. H200 8장 한 노드, 사용자 한 명 기준으로
프리필 초당 2,097토큰 , 디코딩 초당 133토큰 — 16배이고,
요청 처리 시간의 92%가 디코딩 입니다.
오른쪽 칸도 함께 짚어 주세요: 동시 100명으로 올리면 노드 전체 출력은 10배가 되지만
한 사람이 받는 속도는 1/5로 떨어지고 첫 토큰은 0.29초 → 20.6초로 밀립니다.
"디코딩이 병목"이라는 말은 이 두 얼굴 을 함께 가리킵니다.
GLM-5.2의 같은 조건 실측은 공개된 것이 없어 GLM-5-FP8 공식 수치를 썼습니다.
5.3 KV 캐시 히트
KV캐시 히트 — 작업 일지는 책갈피에서 이어 읽습니다
에이전트는 매 턴 새 지시만 받지 않습니다.
이전 대화·읽은 파일·도구 결과가 쌓인 작업 기록 전체 가 다시 입력됩니다.
캐시 미스
매 턴 처음부터 다시
턴이 쌓일수록 프리필 연산량이 제곱 으로 늘어납니다.
캐시 히트
책갈피 뒤만 프리필
앞부분이 같은 순서·같은 내용 이면 저장된 KV를 그대로 씁니다.
컨텍스트가 길어질수록 디코딩만이 아니라 프리필 병목 도 무시할 수 없습니다.
조건은 하나입니다 — 앞부분(prefix)이 같은 순서·같은 내용이어야 합니다.
중간의 시스템 지침이나 도구 결과가 바뀌면 그 지점 뒤부터 다시 계산합니다.
왼쪽에서 짚을 것은 회색이 늘어나는 속도 입니다. 기록은 계속 길어지는데
시안(새로 계산하는 몫)은 4/4 → 2/6 → 1/7 로 줄어듭니다.
책갈피는 지우는 표시가 아니라 이어 읽는 지점 이라는 게 이 그림의 전부입니다.
오른쪽은 같은 턴 3을 두 가지로 청구한 것 — 컨텍스트 길이는 같고 새로 계산하는 범위만 다릅니다.
앞 그림을 뒤집는 슬라이드입니다. 새로 계산 하는 건 늘 한 블록이지만,
그 블록의 Query는 앞에 저장된 KV 전부 를 읽어야 답이 나옵니다 —
점선 아크가 턴마다 늘어나는 게 그 뜻입니다.
아래 막대에서 세 선을 같이 짚어 주세요. 캐시 미스는 6 → 15 → 28 로 제곱,
캐시 히트는 3 → 5 → 7 로 선형, 그리고 "새로 계산하는 블록 수만" 세면
1 → 1 → 1 인 납작한 회색 막대 — 실제 청구서는 저 회색 선이 아닙니다.
캐시는 과거의 계산 결과 를 재사용할 뿐, 과거를 참조하는 비용 까지 없애지는 않습니다.
가격표는 마케팅이 아니라 하드웨어가 실제로 하는 일의 반영입니다.
출력이 입력보다 5배 비싼 이유 — 디코딩은 토큰 하나마다 모델 전체를 다시 읽으니까요.
캐시 히트가 90% 할인인 이유 — 이미 계산해 둔 KV를 재사용할 뿐 프리필 연산이 거의 없으니까요.
이 "10%"라는 업계 관행을 기억해 두세요. 6.4에서 DeepSeek V4가 이걸 2%와 0.83% 로 깨버립니다.
판단 기준은 "SSD가 느린가"가 아닙니다 — 읽는 시간이 다시 계산하는 시간보다 짧은가입니다.
왼쪽 위는 이름과 대역폭 만 봐 주세요. G1이 B300 8TB/s에서 Vera Rubin 22TB/s 로,
G2가 Grace C2C 900GB/s에서 Vera C2C 1.8TB/s 로 올라갑니다.
왼쪽 아래 차트가 이 그림의 요점입니다 — 사다리가 아니라 그래프 입니다.
NVLink로 붙은 옆 GPU가 한 칸 아래 x86 호스트 DRAM보다 14배 빠르고,
같은 G2 안에서도 Grace와 x86이 7배 차이입니다. 원격 DRAM과 로컬 SSD는 같은 급입니다.
단방향으로 통일한 값이라고 축에 적어 뒀습니다 — C2C 제조사 표기는 양방향 합이라 그 절반입니다.
오른쪽은 손익분기입니다. 1M 재계산 477초 대 디스크 최악 12.5초 — 37배 입니다.
표의 세 번째 행이 반대 사례입니다 — 압축 없는 Llama 2 7B는 1M이 550GB 이고
PCIe 3.0에서 137초입니다. 그런데 7B는 프리필도 빠르니 그 시절에는 읽는 쪽이 졌습니다.
손익분기를 넘긴 것은 PCIe 세대가 아니라 어텐션 압축 이라는 게 결론입니다.
5.4 투기적 디코딩
투기적 디코딩 — 초안을 먼저 쓰고, 맞았는지 한꺼번에 채점합니다
디코딩의 순차 병목을 없애지는 못하지만, 본 모델을 한 번 호출할 때
토큰 하나보다 많이 확정 하는 우회로입니다.
1 · Draft 작은 모델이 초안 가중치가 작아서 여러 번 돌려도 쌉니다.
2 · Verify 본 모델이 병렬 채점 가중치를 한 번 읽어 초안 전체를 검증합니다.
3 · Accept 맞은 데까지 확정 분포를 보정하므로 출력 품질은 동일 합니다.
5.2에서 "병렬화할 방법이 없다"고 했던 것의 유일한 예외입니다.
맞은 데까지만 채택하므로 결과는 바뀌지 않습니다 — 이 점을 꼭 짚어 주세요.
다음 그림에서 앰버 막대의 크기 차이 를 짚어 주세요 — 초안 모델은 작아서
여러 번 읽어도 본 모델 한 번보다 쌉니다. 거래가 성립하는 이유가 그것뿐입니다.
몇 개를 미리 찍을지는 설정값입니다. 그림은 5개로 그렸지만 GLM-5.2의 SGLang
권장값은 3단계(초안 3번 읽기 → 본 모델이 4자리를 한 번에 채점)입니다.
질문이 나오면: 초안이 자기회귀라 순차로 읽는 것이 고전 알고리즘이고,
Medusa처럼 여러 헤드가 한 번의 forward에서 여러 자리를 동시에 찍는 방식은
초안 순차 읽기가 아예 없습니다. 트리 초안(topk>1)이면 N번 읽어 N개보다 많이 뽑습니다.
그리고 수락 길이는 곧 속도 배수가 아닙니다. 다음 그림은 초안·검증 비용과 배치까지 포함한
실제 디코딩 tok/s 기준입니다.
위쪽이 흐름, 아래쪽이 공통 축에서 비교한 실제 속도 배수 입니다.
GLM-5.2의 MTP가 1.57배, DSpark은 발표 범위 1.60~1.85배(옅은 구간),
DFlash는 6배 이상(막대 끝의 `›››`가 "이상"이라는 뜻)입니다.
같은 축에 올렸다는 게 이 그림의 요점입니다 — 셋 다 논문·발표의 자체 측정치이므로
엔진 실측과 같은 지표처럼 섞어 읽지 않아야 합니다.
DSpark 줄의 "노드 총처리량은 같게 고정"이 무슨 뜻이냐는 질문이 나올 수 있습니다.
노드가 초당 뱉는 총 토큰 수를 기준선과 같게 맞춰 놓고, 그 상태에서
사용자 한 명이 체감하는 속도를 비교했다는 뜻입니다 — 5장의 "노드 총량 대 한 사람의 체감"과 같은 축입니다.
기준선 MTP-1은 다음 토큰 하나만 추가 제안하는 고정 깊이이고, DSpark는 깊이를 고정하지 않고
초안 생존 확률과 GPU 부하를 보고 요청마다 검증 길이를 바꿉니다.
그러니 이 배수는 "동시성을 올려도 유지된다"는 뜻이 아니라 "총처리량을 맞춰 재면 이만큼"이라는 뜻입니다.
여기까지가 전반부입니다
이제 깎는 이야기 로 갑니다
전반부 · 완료
무엇이 얼마나 드는가
1 Kimi K3의 증시 충격투입 8배, 결과 6%
2 추론 시장으로의 전환수요를 끄는 것은 에이전트
3 용량 청구서1B = 1GB, 통제 변수는 정밀도뿐
4 KV캐시 청구서넷이 곱해지고, 사람마다 따로
5 프리필과 디코딩시간은 출력에서 샌다
후반부 · 6~11장
그것을 어떻게 깎는가
6 아키텍처 살펴보기여섯 모델의 여섯 전략
7 양자화비트를 줄여 둘 다 깎기
8 여러 장에 나눠 돌리기모델은 그대로, 서버 쪽에서 나누기
9 AI 소버린국가 · 기업 · 개인의 자립
10 GPU 로드맵하드웨어는 어디로 가는가
11 추론 엔진과 커널하드웨어와 모델을 잇는 소프트웨어
전반부에서 세운 것은 딱 두 가지입니다 — 용량 과 KV캐시 .
후반부의 모든 기법은 이 둘 중 하나(또는 연산)를 깎습니다.
6장 도입부에 그 지도를 두 장 준비해 뒀습니다.
06
Chapter 06 · 본론
아키텍처 살펴보기
두 개의 청구서를 깎는 여섯 가지 전략
여기서부터가 본론입니다. 각 장을 "무엇을 깎는가" 로만 보시면 됩니다.
2장부터 5장까지가 청구서를 정의한 구간 이고, 여기서부터가 깎는 구간입니다. 갈래가 둘뿐입니다 — 모델 안에서 필요한 전문가만 켜는 길 (6.1)과 긴 컨텍스트를 압축·선택·요약하는 길 (6.2~6.6).
6장의 지도
무엇을 깎는가
장 모델 기법 무엇을 깎나 한 줄 요약
6.1 DeepSeek R1 MoE 파라미터 읽는 양 "다 있지만 매번 다 쓰진 않는다"
6.2 Gemma 4 Sliding Window KV캐시 "먼 과거는 대부분 레이어에서 잊는다"
6.3 Qwen3-Next Gated DeltaNet KV캐시 "과거를 통째로 요약 노트 한 장에"
6.4 DeepSeek V4 CSA + HCA KV캐시 + 연산 "과거를 압축해서, 필요한 것만 펼쳐본다"
6.5 GLM-5.2 IndexShare (DSA) 연산 "어디를 볼지 고르는 일을 4번에 한 번만"
6.6 Kimi K3 KDA KV캐시 6.3의 요약 노트를 2.8T 규모 로
이 표가 6장 전체의 목차입니다. 슬라이드를 넘기다 길을 잃으면 여기로 돌아옵니다.
겹쳐 쓰는 예 — Gemma 4는 슬라이딩 윈도우, Qwen3-Next는 MoE와 DeltaNet을 동시에,
Kimi K3는 MoE와 KDA를 동시에 씁니다.
6.1 DeepSeek R1 · Mixture of Experts
"싸게 만들고, 잘 만들고, 전부 공개했다"
DeepSeek Moment
충격은 기술이 아니라 세 가지가 동시에 겹친 사실 에서 왔습니다.
싸지만 성능이 낮았다면 — 저가형 모델 정도로 평가됐을 것.
성능은 높지만 폐쇄적이었다면 — 또 하나의 경쟁 기업 등장.
공개됐지만 개발비가 막대했다면 — NVIDIA 수요 전망에 큰 변화 없음.
그러나 고성능·저비용·오픈소스 세 가지가 동시에 나타나면서,
기존 산업 구조의 전제가 흔들렸습니다.
여기서 설명하지 말고 반사실적 대조에 집중합니다.
2025년 1월, R1이 나오며 미국 증시가 흔들렸습니다 — "딥시크 모먼트" .
1장에서 본 것과 똑같은 패턴이고, 증시가 반응한 대상도 기술이 아니라
"이 정도가 공짜로 풀린다" 는 사실이었습니다.
화면의 세 반사실이 핵심입니다 — 어느 하나만 빠져도 충격은 작습니다.
셋이 동시에 나타나자 시장은 세 가지 가능성을 읽었습니다:
(1) 고성능 AI를 만드는 비용이 예상보다 빠르게 하락하고,
(2) 그 기술이 소수 미국 기업에 독점되지 않으며,
(3) 공개 모델을 바탕으로 전 세계가 빠르게 복제·개선할 수 있다.
결국 "막대한 자본 → 최신 GPU 독점 → 폐쇄형 프런티어 → 높은 수익"이라는
산업 구조가 생각보다 빨리 약화될 수 있다는 우려였습니다.
R1은 DeepSeek-V3의 몸통을 그대로 물려받았습니다 — 아키텍처는 완전히 동일하고
그 위에 강화학습으로 추론 능력을 얹은 것입니다.
겹친 것을 둘로 갈라 보면 행동 과 구조 입니다 — 답하기 전에 혼잣말로 풀이를 적는
"추론 모델"이라는 장르(암산 대신 연습장), 그리고 오래 생각하는 장르를 감당할 만큼
토큰당 단가를 싸게 만든 MoE. 2장의 토큰 소비 폭증이 여기서 옵니다 —
답 한 줄 뒤에서 수천 토큰 을 태우니까요.
흔한 오해 하나 : "전문가"는 의사·변호사 같은 분야 전문가가 아닙니다.
사람이 분야를 정해주지 않았고 학습 중 저절로 갈라진 통계적 분업이라 하나를 열어봐도
이름을 붙일 수 없습니다. 배정 단위도 질문이 아니라 토큰 이라 한 문장 안에서도
단어마다 다른 조합이 켜집니다 — 분야별 전문의가 아니라
문장마다 손이 바뀌는 공동 작업실 입니다.
다음 장 그림이 이 구조를 그림으로 보여주고, 그 뒤가 이 발표의 핵심입니다.
앞 그림의 왼쪽 절반 · 행동을 실제 화면으로
답 한 줄 앞에서 생각 토큰 이 지나갑니다
앞 그림의 왼쪽 패널(행동 · CoT) 을 실제 화면으로 보여주는 자리입니다.
말로 풀지 말고 영상을 끝까지 틀어 놓고 세 지점만 짚으세요 —
(1) 회색 혼잣말이 흐르는 동안 화면에는 답이 한 글자도 없습니다 ,
(2) 다 끝나면 그 뭉치가 Thought: 8.6s 한 줄로 접혀 사라집니다,
(3) 남은 것은 한국어 한 줄 입니다.
사라진다고 공짜가 아닙니다 — 접힌 혼잣말도 전부 생성된 토큰이라
돈과 시간이 붙었고, 다음 턴의 컨텍스트에도 남습니다.
2장의 토큰 소비 폭증이 여기서 옵니다 — 답 한 줄 뒤에서 수백 토큰 을 태웁니다.
모델이 R1이 아니라는 점은 짚고 넘어가세요 — 화면은 2026년의
DeepSeek V4 Flash입니다. R1이 연 것은 특정 모델이 아니라
"답하기 전에 혼잣말로 풀이를 적는다"는 장르 이고, 지금 모델들이 그대로 물려받았습니다.
한 가지 더 — 혼잣말은 영어로 나오고 답만 한국어 입니다.
사람에게 읽히려고 쓰는 글이 아니라서 모델이 편한 언어로 씁니다.
질문 자체는 시시합니다. 그게 요점입니다 — 이 정도 질문에도 8.6초를 씁니다.
움직이는 그림입니다 — 한 바퀴 다 돌게 두고 말로 따라가세요 (768틱 ≈ 12초 + 잠깐 멈춤, 그다음 처음부터).
앞 그림의 오른쪽 패널(구조 · MoE) 을 시간축 위에 올린 것입니다.
규칙은 한 줄입니다 — 이번 토큰이 켠 칸을 한 칸씩 다 읽어야 토큰이 하나 나옵니다.
칸 하나 읽는 시간은 양쪽이 똑같습니다. 다른 것은 읽어야 할 칸의 개수 뿐입니다.
왼쪽은 흰 점이 격자를 처음부터 끝까지 훑는 동안 출력 칸이 거의 안 늘어납니다 .
오른쪽은 켜지는 자리가 토큰마다 바뀌면서 출력 칸이 줄줄이 찹니다 .
한 바퀴 끝의 3 대 54 가 결론이고,
이게 앞에서 말한 이론상 약 18배 입니다.
칸은 전문가가 아니라 파라미터 몫입니다 (칸 하나 ≈ 2.62B) — 격자 모양만 앞 장에서 가져왔습니다.
전문가로 세면 256개 중 8개라 배수가 32배로 부풀어 본문 수치와 어긋납니다.
여기서 다음 장으로 넘어가는 다리를 놓으세요 — 오른쪽 격자도
회색 칸까지 전부 메모리에 올라가 있습니다. 안 읽었을 뿐 없는 게 아닙니다.
그래서 빨라진 건 맞는데 싸진 건 속도지 메모리가 아닙니다.
흔한 오해 2 · 여기가 이 발표의 핵심
싸진 건 속도 지 메모리 가 아닙니다
"671B 중 37B만 쓴다"를 들으면 "메모리도 37B어치면 되겠네" 로 이어지기 쉽습니다.
아닙니다. 어떤 전문가가 호출될지는 토큰이 들어와 봐야 알기에,
671B 전부를 미리 올려두고 대기 해야 합니다.
Dense 671B MoE 671B (37B 활성)
메모리에 올려둘 양 671B 671B (그대로)
토큰당 읽는 양 671B 37B
디코딩 속도 기준 이론상 약 18배
이게 2026년 지형을 설명합니다. Kimi K3 2.8T, GLM-5.2 753B처럼 총 파라미터를 겁 없이 키울 수 있는 건
속도를 지킬 수 있어서 고, 그런데도 개인 PC에서 안 돌아가는 건 용량 청구서가 그대로 라서입니다.
로컬에서 Qwen3.6 27B 같은 게 반가운 이유가 여기 있습니다 — 총 파라미터가 작으면 두 청구서가 함께 작아집니다.
왼쪽 자에서 빗금이 이 토큰에 켜지지 않는 전문가 입니다. 살아 있는 오른쪽 끝이 5.4%고, 그걸 18.4배 늘린 것이 아래 막대입니다. 세 번째 패널이 이 그림의 목적 입니다 — 4장 공식에 "× 전문가 수"라는 항이 아예 없습니다. 그래서 MoE를 아무리 밀어도 KV캐시는 1원도 안 깎입니다.
여기서 어휘를 잡아 둡니다 — R1의 어텐션은 MLA입니다.
R1 설정에 kv_lora_rank: 512 가 있으니 여기가 첫 등장 이고,
6.2부터 6.6까지가 전부 어텐션 이야기라 이 낱말 넷으로 굴러갑니다.
그림에서 짚을 것은 축이 둘 이라는 점입니다 —
왼쪽 셋은 헤드 개수를 줄이는 축 (MHA 8쌍 → GQA 2쌍 → MQA 1쌍)이고,
맨 오른쪽 MLA는 차원을 줄이는 축 입니다. 갈라지기 전 잠재 벡터 하나만 저장해
쌍이 하나가 되고(6.25%), 아낀 것을 폭에 써서 28.1%로 올립니다.
퍼센트는 모두 이 그림의 8헤드를 분모로 씁니다 — 헤드가 늘어도 MLA 값은 그대로라
128헤드에서는 1.4%가 됩니다. MHA만 헤드 수에 비례합니다.
함정 하나: num_key_value_heads 만 보면 R1이 풀 MHA로 읽힙니다(128로 적혀 있습니다).
kv_lora_rank 가 있으면 그 값은 명목상의 헤드 수 이고 캐시에 남는 것은 잠재 벡터입니다 —
이 문서의 이전 판이 GLM-5.2에서 똑같이 오독했습니다.
6.2 Gemma 4 · Sliding Window Attention
"회의록 전체를 매번 다시 읽지는 않잖아요"
Sliding Window 의 아이디어는 한 문장입니다
모든 레이어가 과거 전부를 볼 필요는 없다.
Gemma 4 31B의 창문은 1,024 토큰 입니다 —
10만 번째 토큰을 만들 때도 직전 1,024개만 봅니다.
어떻게 생긴 것인지 먼저 보겠습니다.
여기서는 설명하지 마시고 다음 장 그림으로 넘어가세요. 창문을 보여드리기 전에
말로 풀면 청자가 따라오지 못합니다 — 이 장은 "한 문장"과 "1,024"만 남겼습니다.
수치는 Gemma 4 31B의 config.json 실측 입니다 — sliding_window 1024,
60레이어의 layer_types가 sliding 5 : full 1 패턴, GQA(Q 32 : KV 16), head_dim 256,
최대 컨텍스트 262,144.
이어지는 두 장 : 첫 장이 창문·배합·KV 절감이고, 둘째 장이
"그럼 창문 밖은?"에 답하는 두 장치(릴레이 · 멀리 보는 눈)입니다.
슬라이딩 레이어 50개는 컨텍스트가 아무리 길어져도 1024개어치만 들고 있으면 되니
고정 비용 으로 바뀝니다 — 컨텍스트에 비례해 자라는 건 Full 10개분뿐입니다.
왼쪽 위부터 짚으세요. 창문이 현재 토큰을 따라 오른쪽으로 이동하고, 창문 밖은
이 레이어에서 보지 않습니다. 오른쪽이 배합 입니다 — 여섯 층 중 다섯은 창문,
하나는 Full. 아래가 256K 계산 : 60레이어 전부 Full이면 약 240GB ,
실제 배합(슬라이딩 50 + Full 10)은 약 41GB 로 약 1/6 입니다.
여기까지가 "무엇을 하는가"이고, 다음 장이 "그런데 창문 밖은 어떻게 되나"입니다.
이 장이 "그럼 까먹나요?"의 답입니다.
왼쪽 릴레이 — 1층의 100번 토큰은 76~99번만 봅니다. 2층에서 그 99번을 볼 때
99번은 이미 자기 창문을 흡수한 상태라 2층의 100번은 75번까지 간접으로 닿습니다.
층을 지날 때마다 창문 하나씩 넓어져 다섯 층이면 5,120토큰 입니다.
소문이 사람을 건너 퍼지는 것과 같습니다.
오른쪽 멀리 보는 눈 — 간접 정보는 압축된 요약이라 먼 과거의 특정 토큰을
정확히 짚는 일 은 못 합니다. 그 일은 여섯 층에 한 번 있는 Full 레이어가 합니다.
이 두 장치가 창문을 쓸 수 있게 만드는 조건 입니다 — 둘 없이 창문만 좁히면 품질이 떨어집니다.
근거는 README [^swa-receptive] 이고, 5,120은 슬라이딩이 연속하는
다섯 층 안에서의 유도값입니다.
6.3 Qwen3-Next-80B-A3B · Gated DeltaNet
"왜 전부 다 적어? 요약해"
Gated DeltaNet — 원본 기록 대신 요약 노트 한 장을 고쳐 씁니다
바뀌는 것은 하나입니다
과거 원본 전부 →
고정 크기 상태 하나 를 계속 갱신
컨텍스트가 짧든 길든 노트 크기는 같습니다.
그림으로 먼저 보시죠 — 이름 풀이와 정직한 단서는 그다음 장에 있습니다.
여기서 수식이나 배합을 말하지 마세요 — 다음 장 그림에 다 있습니다.
Qwen3-Next-80B-A3B는 총 80B에 활성 3B입니다.
Full Attention이 비싼 이유 만 한 번 짚어 주세요 — 매 토큰마다 지금까지 나온 모든
토큰과 다시 내적하므로 메모리도 연산량도 컨텍스트에 비례하고, 그래서 전체 연산량이
길이의 제곱 입니다. 상태 하나만 갱신하면 그 자리가 고정 이 됩니다.
왼쪽부터 — 짧은 문맥·중간·긴 문맥이 전부 같은 크기의 상태 S 로 들어갑니다.
가운데가 갱신식 인데 읽으실 필요는 없습니다: v − Sk 가
"새 값 − 기존 기억"이고 β 가 "얼마나 고쳐 쓸지"입니다.
오른쪽이 배합 — 48레이어를 넷씩 묶어 셋은 DeltaNet, 하나는 Gated Attention.
이름 풀이 두 가지.
(1) Delta = 고쳐 쓰기 — 누적이 아닙니다. 같은 키의 옛 값을 지우고 그 자리에 씁니다.
매 스텝이 온라인 경사하강 한 스텝과 같아 단순 누적보다 정보 검색이 정확합니다.
(2) Gated = 능동적 망각 — 감쇠 게이트가 오래된 것의 영향을 줄입니다(Mamba-2 스타일).
노트 한 장이 고정 크기라 무엇을 지울지가 성능을 좌우합니다.
단, KV캐시가 0은 아닙니다 — "약 1/4"은 전체 메모리가 1/4이라는 뜻이 아니라
길이에 비례해 자라는 레이어가 12/48이라는 뜻입니다.
고정 크기 상태 36개분은 그대로 남습니다.
Gated Attention 12개는 GQA (Q 16 : KV 2, head_dim 256)입니다.
상태 크기는 head_dim × head_dim 이라 컨텍스트와 무관합니다.
이 "고정 크기 상태" 라는 성질이 6.4에서 DeepSeek V4와 갈리는 지점입니다 — 기억해 두세요.
6.4로 넘어가는 다리 : V4는 여기서 갈립니다 — 고정 크기 상태가 아니라
압축한 요약본을 개수만큼 쌓습니다.
6.4 DeepSeek V4 · Hybrid Attention (CSA + HCA)
"과거를 압축하고, 필요한 곳만 인덱스로 찾아 읽는다"
DeepSeek V4 가 KV 캐시를 깎는 두 개의 축
과거 토큰을 그대로 쌓지 않고 요약본으로 압축 하고,
필요한 것만 인덱서로 찾아 읽어 KV 캐시를 대폭 줄입니다.
시퀀스 압축 (CSA · HCA)
4토큰(25%), 128토큰(0.8%) 단위로 묶어 요약
선택적 인덱싱 (DSA)
압축본 중 지금 필요한 상위 top-k만 선택 조회
결과: KV 캐시 90% 이상 절감
1M 토큰당 5.7 ~ 6.2 GB
Flash 5.7 GB · Pro 6.2 GB (V3.2 대비 7~10%). 디스크 저장과 99% 캐시 히트 할인 을 성립시킵니다.
6.4의 핵심 직관은 "압축"과 "인덱싱" 입니다.
과거 토큰을 다 들고 있는 대신 4개/128개 단위로 묶어 압축(CSA/HCA)하고,
CSA 층에서는 DSA 인덱서가 필요한 압축본만 골라 읽습니다.
그 결과 실제 모델 전체 KV 캐시 바이트가 V3.2 대비 7~10% 수준으로 대폭 줄어들고,
이것이 디스크 저장(On-Disk KV)과 99% 캐시 히트 단가 할인의 원동력이 됩니다.
다음 장 그림에서 이 압축 비율과 KV 절감 수치를 눈으로 확인합니다.
위 세 줄이 압축 강도입니다. 같은 원본 N토큰을 두고 무압축은 N개 그대로,
CSA는 N/4(25%) 를 남긴 뒤 그중 DSA 인덱서가 고른 것만 읽고,
HCA는 N/128(0.8%) 만 남겨 전부 읽습니다.
막대 안의 흐린 칸이 "남겼지만 이번엔 안 읽은 것"입니다.
아래 왼쪽 — 실제 KV 바이트는 압축률 하나로 정해지지 않습니다. 공유 KV(MQA)와
혼합 정밀도(RoPE만 BF16)가 함께 곱해집니다.
아래 가운데 가 층 배합입니다 — Flash 43층은 무압축 2 · CSA 21 · HCA 20이고,
큰 쪽인 Pro 61층에는 무압축 층이 아예 없습니다.
아래 오른쪽 이 결론 — V3.2 대비 7~10% 입니다.
비유와 나머지 수치는 다음 장에서 붙입니다.
6.4 · 그림에 붙이는 비유와 실제값
둘은 다른 지점 에서 균형을 잡습니다
CSA · 25%를 남긴 쪽
많이 남기고 그중 일부만 보기
페이지 4장을 한 장 으로 압축한 뒤, 그 요약본 중 지금 필요할 것 같은
몇 개만 골라(sparse ) 자세히 읽습니다.
압축은 약하게, 선택은 좁게 — 고르는 일은 레이어마다 있는 DSA 인덱서 가 합니다.
HCA · 0.8%만 남긴 쪽
적게 남기고 전부 보기
챕터 하나를 한 문장 으로 세게 압축해 요약본 개수 자체를 확 줄입니다.
남은 게 적으니 골라 읽지 않고 전부(dense) 읽어도 부담이 없습니다.
V3.2 대비 토큰당 FLOPs KV캐시
V4 Pro 27% 10%
V4 Flash 10% 7%
섞으면 안 되는 두 기준
25% · 0.8% 는 레이어별 문맥 엔트리 비율이고,
7% · 10% 는 공유 KV·혼합 정밀도까지 합친 모델 전체 KV 바이트 입니다.
같은 막대에 올리면 안 됩니다.
배열은 HF에서 config.json을 직접 열어 확인했습니다 — 43개 레이어 + MTP 1개 = 44개 이고,
무압축은 Flash 2개(MTP 층까지 세면 3개), Pro는 0개입니다.
흥미로운 건 Flash 쪽이 Pro보다 효율이 더 좋다 는 점입니다 — 작은 모델이 더 공격적으로
압축할 여지가 있습니다.
비유의 한계도 한 줄 밝혀 두세요 — "4장을 한 장으로 묶는다"는 그림이지만 실제 압축은
단순 묶기가 아니라 학습된 게이트 풀링 이고 창이 겹칩니다. K와 V가 같은 텐서라는 것까지
부록 A에 적어 뒀습니다.
6.3과 헷갈리기 쉬운 지점
그래도 이건 "선형" 입니다
둘 다 KV캐시를 줄이지만 줄이는 방식의 종류가 다릅니다.
컨텍스트가 2배가 되면
Gated DeltaNet · KDA 6.3 · 6.6 그대로 — 고정 크기 상태
CSA · HCA 6.4 2배 — 압축했을 뿐 여전히 쌓인다
V4가 한 일은 기울기를 눕힌 것 이지 기울기를 없앤 게 아닙니다.
128토큰을 하나로 묶어도 토큰이 늘면 묶음도 늘어나니까요.
이 가격표의 근거가 방금 본 CSA·HCA입니다 — 아키텍처가 가격표를 만듭니다.
출력 1M 토큰 $0.28 을 1배로 놓은 배수입니다.
다만 배수만 보고 "89배 손해"로 읽으면 안 됩니다 — 용도가 다른 모델끼리의 비교이고,
같은 일을 끝내는 데 필요한 토큰 수도 다릅니다. 점수가 가까운 상대와 견주는 것은
이 장 마지막 스펙 카드입니다.
다음 장에 캐시 히트 가 왜 거의 공짜인지가 있습니다 — 이 그림에 없는 이야기입니다.
가격표에서 더 특이한 칸
캐시 히트가 거의 공짜 입니다
1M 토큰당 · USD 입력 캐시 히트 출력
V4 Flash $0.14 $0.0028 $0.28
V4 Pro $0.435 $0.003625 $0.87
캐시 히트 / 입력 정가
업계 관행 5.3장 10%
V4 Flash 2.0%
V4 Pro 0.83%
가능한 이유 — KV캐시가 작아져서만이 아닙니다
On-Disk KV Cache — 압축된 KV를 아예 디스크에 통째로 저장 해 둡니다.
캐시 히트는 GPU 메모리를 차지하지 않고 디스크에서 읽어오는 일 이 되고, 그래서 거의 공짜로 팔 수 있습니다.
같은 이유로 동시 접속 허용치도 큽니다 — Flash 2,500 세션, Pro 500 .
5.3장에서 본 업계 관행이 입력 정가의 10% 였습니다. V4는 그 관행의
1/5(Flash) 과 1/12(Pro) 입니다.
순서를 짚어 주세요 — 압축이 먼저고, 작아진 덕에 디스크에 둘 수 있고,
디스크에 두니 GPU 메모리를 안 먹고, 그래서 거의 공짜로 팔 수 있습니다.
색이 뜻을 나릅니다 — 회색은 규모(점수·파라미터), 앰버는 용량 청구서(가중치),
시안은 KV캐시 청구서, 보라는 돈입니다. 그림 전체에서 한 색은 한 뜻입니다.
왼쪽에서 짚을 것은 하나입니다 — V4의 장점은 값 입니다.
다만 점수 축과 단가 축을 나눠 "가성비"로 읽지는 마세요 — 점수 몇 점 차이로 되는 일과
안 되는 일이 갈리면 값을 얼마 더 주고라도 그 모델을 쓰는 것이 맞습니다.
오른쪽 가중치 막대의 칸 하나가 B300 한 장(288GB) 입니다. Pro가 3칸을 딱 넘겨 4장이 되는데
넘긴 양이 0.7GB 뿐입니다.
그리고 파라미터는 5.6배인데 1M KV캐시는 1.1배 뿐인 것이 이 장의 요점입니다 —
압축이 거기서 일합니다. 싼 값이 구조에서 나온다는 게 이 카드의 결론입니다.
6.5 GLM-5.2 · 강력한 성능의 오픈웨이트
"적당히 효율적인 구조, 아주 강력한 성능"
GLM-5.2 — 폐쇄형 최상위 모델과 겨루는 오픈웨이트
GLM-5.2의 본질은 기술적 기교 이전에 "독점 프런티어 모델과 직접 맞붙는 오픈웨이트" 라는 점입니다.
총 753B (활성 40B ) · 컨텍스트 1M · 라이선스 MIT .
핵심 1 · 강력한 성능
독점 모델과 직접 경쟁
수학·코딩 등 핵심 벤치마크에서 GPT-5.5·Opus 4.8과 대등하거나 넘어서며 오픈웨이트 최상위권 성능을 증명했습니다.
핵심 2 · 효율적 구조
현실적인 서빙 단가
MoE와 MLA 조합으로 753B 체급의 성능을 내면서도 토큰당 단가와 KV 캐시 부담을 적절히 통제했습니다.
GLM-5.2 소개에서 가장 중요한 포인트는 "강력한 성능"과 "오픈웨이트" 입니다.
MoE(753B/40B)와 MLA 아키텍처로 서빙 비용을 현실적으로 잡으면서도,
수학(AIME 99.2, IMO 91.0)과 에이전트/코딩 영역에서 독점 프런티어 모델들과 대등하게 겨룹니다.
기술적 기교(IndexShare)보다 먼저 이 강력한 성능 과 스펙표를 확인합니다.
왼쪽이 이 장의 논지입니다 — 여덟 항목 모두 GLM-5.2 자체 발표표 의 값이고,
아래 막대가 그 표에서 가장 높은 다른 모델입니다. 6.4의 V4 카드는 왼쪽이 단가였는데
이 카드는 벤치마크입니다 — V4는 값이 논지, GLM-5.2는 성적이 논지 라서요.
가운데 가 서빙에 필요한 것, 오른쪽 이 "이 기법은 누구 것인가"입니다.
오른쪽은 IndexShare를 설명한 뒤 다시 짚습니다.
카드끼리 막대를 비교하지 마세요 — 같은 FrontierSWE가 이 표에서 74.4, K3 카드에서 67.3입니다.
8개 벤치마크 분야별 분석입니다 — 독점 프런티어 모델 대비 GLM-5.2의 영역별 강점을 명확히 보여줍니다.
1) 수학 분야(AIME 99.2 / IMO 91.0) : GPT-5.5와 Qwen3.7-Max를 넘어서며 1위를 기록했습니다.
2) 에이전트 분야(터미널 / MCP / SWE) : Opus 4.8, GPT-5.5와 불과 0.7~1.0점 차이로 실전 기능이 대등합니다.
3) 장기 코딩(DeepSWE 46.2) : 독점 모델과는 격차가 있지만, 타 오픈웨이트 대비 2배 이상 독주합니다.
인덱스를 층끼리 재사용하여 FLOPs를 2.9배 절감한 아키텍처입니다.
1M 문맥에서 2,048개를 고른 결과를 다음 세 레이어가 그대로 씁니다.
이 공유 구조는 MTP 초안으로 이어져 수락 길이를 늘리고 속도를 가속합니다.
위쪽 회색이 노는 시간 입니다. 에이전트 궤적은 길이가 크게 달라서, 배치가 가장 느린 하나를 기다리는 동안 먼저 끝난 슬롯도 학습 엔진도 놉니다. 아래는 그 회색이 사라졌지만 넷째 슬롯의 긴 궤적이 세 버전에 걸칩니다 — 그게 비동기가 내는 대가입니다.
6.6 Kimi K3 · Kimi Delta Attention
"지금까지 나온 수법을 전부, 2.8조 규모로"
Kimi K3 — 변곡점은 기술이 아니라 공개된 성능입니다
1장에서 증시를 흔든 그 모델입니다. 그런데 6장을 여기까지 봤으면
K3의 부품은 전부 낯익습니다 — KDA는 6.3의 Gated DeltaNet ,
896개 중 16개는 6.1의 MoE , MXFP4는 7장의 양자화 입니다.
그래서 이 장의 논지는 부품이 아닙니다
폐쇄 모델과 같은 표에 오르는 성적 을
가중치째 공개 했다는 것 — 세계 첫 공개 3조급 모델입니다.
여기서 세 축을 설명하지 마세요 — 뒤에 그림이 있습니다. 이 장에서 힘을 줄 곳은
공개 입니다. 2.8T를 받아 자기 클러스터에 올릴 수 있다는 것이 9장 소버린으로 이어집니다.
다만 라이선스는 MIT나 Apache가 아니라 자체 Kimi K3 License 입니다 — 내부 사용·온프레미스는
무관하지만, 제3자에게 API로 파는 Model-as-a-Service 사업이 연속 12개월 매출 2천만 달러를
넘으면 Moonshot과 별도 계약이 필요합니다(절대 금지가 아니라 매출 문턱입니다).
다음 장(스펙 카드)이 쓰는 8개 항목은 이 전체표의 일부만 추린 것입니다 — 여기가 원본입니다.
Hugging Face 공식 모델 카드가 K3·Claude Fable 5·GPT-5.6 Sol·Claude Opus 4.8·GPT-5.5·GLM-5.2
6개 모델을 45개 벤치마크 로 비교하는데, K3가 1위인 항목이 15개(33%) 입니다.
왼쪽 은 카테고리별 비율입니다 — 추론·지식 1/4, 코딩 2/9은 낮지만
에이전틱 9/22 · 비전 3/10 이 특히 강합니다.
오른쪽 은 스펙 카드가 다루지 않은 새 1위 넷입니다 — 웹 리서치(BrowseComp),
MCP 도구 사용(MCPMark-Verified), 법률 전문 에이전트(Harvey Lab-AA), 문서 비전(OmniDocBench).
K3는 텍스트 전용이 아니라 401M MoonViT-V2 비전 인코더를 포함한 멀티모달 모델 이라는
것도 이 그림에서 처음 드러납니다.
왼쪽이 이 장의 논지입니다 — 여덟 항목 전부 K3 자체 발표표 (6개 모델 비교, 전부
최고 노력 설정)의 값이고 아래 막대가 그 표에서 가장 높은 다른 모델입니다.
오픈웨이트가 1위를 셋 가져갑니다.
가운데 가 서빙에 필요한 것 — 59·61번(V4·GLM 스펙 카드)과 같은 GPU 1장 단위 블록입니다.
MXFP4 원본은 B300 288GB 칸으로 6칸(→8장), FP8로 올리면 H200 141GB 칸으로 20칸(→32장)이고,
각 트랙 끝에 보라색 KV캐시 블록 을 이어붙였습니다 — 1인·1M·FP8 기준 13.5 GiB 입니다
(kv_lora_rank 512 + qk_rope_head_dim 64 = 576원소 × Gated MLA 24층만 늘어남, KDA 69층은
고정 크기 상태). H200 트랙은 32칸 중 20칸만 차 있어 node 단위 강제로 남는 여유가
한눈에 보입니다.
오른쪽 이 "이 기법은 누구 것인가"입니다 — KDA·AttnRes·Stable LatentMoE는 자체 기여,
Gated MLA와 MXFP4 QAT는 가져온 것. KDA를 기준선으로 삼은 후속 논문이 둘 나왔다 는 것이
자체 기여의 증거입니다.
카드끼리 막대를 비교하지 마세요 — 같은 FrontierSWE가 GLM 카드에서 74.4, 이 표에서 67.3입니다.
두 그림의 골격이 같습니다. 지나온 길과 이 레이어가 방금 계산한 것을 한 번 합치는데,
왼쪽(일반 잔차) 은 계수가 늘 1 대 1 이고 오른쪽(AttnRes) 은 그 계수를
토큰마다 다시 정해 39%와 61% 처럼 비율로 섞습니다.
오른쪽 아래 띠가 요점입니다 — 후보가 둘이 아니라 지나온 모든 블록 이고
softmax가 그 위에 비율을 놓습니다.
이름 주의 — 이 장에서 본 어텐션은 전부 토큰끼리 보는 것이었는데, AttnRes의 어텐션은
어느 단계의 표현을 다시 볼지 고르는 것이라 축이 다릅니다.
K3 전용 발명은 아닙니다 — 같은 팀이 Kimi Linear에서 먼저 검증했고, 카드가 자체 기여로
적은 이유는 자체 논문·공식 구현을 함께 냈고 남들이 인용해 확장하는 중이기 때문입니다.
세 축이 각각 다른 청구서를 깎습니다. 왼쪽 KDA — 93레이어를 69 대 24로 갈라
KV가 늘어나는 층을 24개로 묶습니다(6.3 Qwen3-Next의 3:1 배합을 규모만 키운 것이고,
1M 디코딩 최대 6.3배를 발표했습니다). 가운데 Stable LatentMoE — 896개 중 16개.
분모가 다릅니다 : 전문가 개수로는 1.8%, 활성 파라미터로는 3.7%입니다.
오른쪽 MXFP4 QAT — 16비트 값(연한 원)이 4비트 눈금(채운 원)에 스냅되는 폭 으로
그렸습니다. PTQ(보통의 다 학습한 뒤 압축)는 눈금과 무관하게 학습해 스냅 폭이 크고, K3의
QAT(처음부터 4비트를 전제로)는 눈금을 겨냥해 학습해 스냅 폭이 작습니다 — 폭 = 반올림
오차 라고 짚어 주세요. 그 결과가 그림 하단 노드 수입니다 — H200에는 FP4 텐서코어가 없어
FP8로 올려야 하고, 용량으로는 20장이지만 노드가 8·16·32장 단위라 32장 (16장씩 두 줄)이
됩니다. B300은 4비트를 그대로 돌려 한 노드(8장) 면 됩니다(같은 칸 크기로 한 줄의 절반).
이 4배는 "칩이 덜 필요해진다"가 아니라
어떤 칩이 필요한지가 바뀐다는 뜻입니다. 단, 8장은 가중치가 들어간다는 뜻이지 서빙할 수
있다는 뜻이 아닙니다 — Moonshot 자신은 64장 이상의 슈퍼노드를 권장합니다.
6.6의 첫 장으로 돌아오는 슬라이드입니다 — "변곡점은 기술이 아니라 공개된 성능"이라고
열었는데, 왜 공개가 변곡점인지가 여기서 닫힙니다. 폐쇄 쪽이 가두고 있기 때문입니다.
전부 제작사 공식 발표로 확인한 것입니다. Anthropic 출시 글(2026-06-09)은 두 모델이
같은 모델 이고 Fable 5에만 세이프가드가 얹혔다고 적습니다. 분류기가 덮는 영역은 셋 —
사이버보안 · 생물·화학 · 증류 (다른 모델을 학습시키려 능력을 뽑아내는 시도)이고,
걸리면 Opus 4.8 이 대신 답합니다. 트리거 빈도는 자기 발표로 세션 5% 미만 입니다.
OpenAI도 폴백 구조가 같습니다 — 막히면 더 낮은 능력의 모델로 재시도하는 선택지를 둡니다.
가장 단단한 제3자 근거는 경쟁사 각주입니다 — Google의 Chrome 커밋 스캐닝 결과 표에
"Opus 4.6 이후 경쟁 모델은 내장 세이프가드 때문에 작업을 거부하므로 표에 넣지 않았다"고
적혀 있습니다. 거부 때문에 측정 자체가 안 된 것 입니다.
말할 때 주의할 것 둘. (1) 이 사건에서 Anthropic이 "같은 취약점을 찾을 수 있다"고
열거한 오픈웨이트는 Kimi K2.7 이고 K3가 아닙니다(K3는 한 달 뒤입니다).
(2) "미국 정부가 규제했다"로 요약하지 마세요 — 6월 2일 행정명령은 강제 라이선싱을
명시적으로 배제한 자발적 틀이고, 6월 12일 Fable 5 차단은 그 명령이 아니라 수출통제
권한 으로 나왔습니다. 규제 입법을 요구한 쪽은 오히려 Anthropic입니다. 자세한 것은 9.1에서.
07
Chapter 07
Quantization
용량 청구서의 유일한 조절 수단
3장에서 "바꿀 수 있는 건 파라미터당 비트 수뿐"이라고 했던 바로 그 조절 변수.
7장의 전부가 이 한 장에 있습니다. 왼쪽이 담는 값 (3장), 오른쪽이
일 시키는 값 (4장)입니다 — 양자화는 이 문서에서 두 청구서 양쪽에 다 듣는
유일한 조절 수단 입니다. 구조를 바꾸지 않으니 6장의 기법들과 겹쳐 쓸 수도 있습니다.
아래 갈림이 이 장의 목차입니다 — 가중치는 미리 재 보고 자리마다 비트를 다르게 줄 수
있지만(오프라인에서 한 번), KV캐시는 무엇이 들어올지 모르므로 전체에 같은 비트를 씁니다.
KV 쪽 ×2·×0.5는 46.5GiB(FP8 기준)에서 유도한 값이라 그림에 밝혀 뒀습니다.
7장의 낱말 지도입니다 — 이 장 전체를 여기서 한 번에 세웁니다. 이름이 많아 보이는
이유는 같은 문제를 서로 다른 높이(층) 에서 풀기 때문입니다.
세 카드가 같은 그림 언어를 씁니다 — 눈금이 들어 있는 같은 폭의 통입니다.
1층 포맷은 그 통을 몇 칸으로 자르는가 만 정합니다(16비트 512칸 → 4비트 8칸).
2층 보정은 칸 수를 그대로 둔 채 칸의 자리만 값이 몰린 쪽으로 옮겨 오차를 줄입니다 —
위아래 두 통의 눈금 개수가 똑같다는 것을 짚어 주세요. 3층 배분에서 처음으로 자리마다
비트 자체가 달라집니다 — 점선이 균일 4비트이고, 점선 위 칸이 더 준 비트, 점선 아래
빈 칸이 회수한 비트입니다.
세 층은 골라 쓰는 것이 아니라 겹쳐 씁니다 — imatrix로 보정한 Q4_K_M 파일 하나에
세 층이 다 들어 있습니다. 그래서 "FP4로 양자화했다"만으로는 품질이 정해지지 않습니다 .
GGUF Q/K/I 세 계열(로컬에서 만나는 이름들)은 이 그림에서 뺐습니다 — Q·K·I가
이 세 카드 중 어디 하나에 깔끔히 대응하지 않아서입니다(K-quants는 포맷+배분,
I-quants는 포맷+보정에 걸칩니다). 그 이름들은 몇 장 뒤 "로컬에서 만나는 암호들"에서
전용 표로 다룹니다.
왼쪽 칸이 1비트입니다 — 앰버가 지수(다이나믹 레인지), 시안이 맨티사·정수 데이터(정밀도)입니다.
FP16과 BF16이 같은 16비트인데 배분만 다르다는 것을 여기서 보여주세요.
오른쪽이 이 장의 실무 요점입니다 — FP16은 볼타(V100)부터, BF16 및 INT8·INT4는 암페어(A100)부터, FP8은 호퍼부터, 블록 스케일을 쓰는 MX·NVFP4 및 INT2는
블랙웰부터 텐서코어가 그대로 계산합니다.
2층 보정(Calibration)의 핵심은 비트 수(그릇)를 늘리지 않고 오차만 줄이는 것입니다.
AWQ — 양쪽 통의 눈금 간격이 똑같다는 것을 먼저 짚어 주세요. 값을 ×s 키우면
같은 눈금을 더 많이 쓰게 되어 두 눈금에 뭉치던 값이 다섯 눈금으로 펴집니다.
AutoRound — 값 하나하나를 가까운 쪽으로 굴리는 것이 블록 전체로는 최선이 아닙니다.
세 번째·네 번째 값이 일부러 먼 쪽으로 가는 것을 가리키고, 아래 오차 막대를 보여 주세요.
imatrix — 문장 → 중요도 → 오차 배분의 사슬입니다. 세로 점선이 중요한 채널 하나가
끝까지 보호되는 경로 입니다.
셋 다 런타임 추론 속도를 갉아먹지 않는 오프라인 사전 처리 기법 임을 짚어 주세요.
점선 높이가 두 패널에서 같습니다 — 용량이 같다는 뜻입니다. 왼쪽은 모든 자리에 같은 비트,
오른쪽은 민감한 곳에 더 주고 둔감한 곳에서 회수 했습니다.
올린 쪽은 임베딩·어텐션·출력층(Q4_K_M의 규칙), 내린 쪽은 MoE 전문가 FFN (Dynamic 2.0의 규칙)입니다.
배분의 모양을 보여주는 그림 이고 특정 텐서의 실측 비트가 아니라는 것을 그림 하단에 밝혀 뒀습니다.
점선은 4비트 막대의 윗면과 정확히 같은 높이 이고 이름표는 오른쪽 여백에 있습니다 —
막대와 값 라벨 어디에도 걸리지 않습니다.
다음 장에서 "왜 이게 가중치에서만 되는가"를 말합니다.
7.1 · 포맷 생태계와 GGUF 세대
실무를 지배하는 4대 포맷 과 그 안의 GGUF 5세대
어디서 돌리나 포맷은 생태계를 따라 갈립니다
포맷 돌리는 엔진 대표 양자화 기법 누가 쓰나
safetensors 서버 표준
vLLM SGLang TRT-LLM
FP8 · AWQ · AutoRound · MXFP4
기업 프로덕션 서버 멀티 GPU · mmap으로 VRAM에 바로 적재
GGUF 로컬 표준
llama.cpp Ollama LM Studio
Dynamic 2.0 · Q4_K_M · IQ4_XS
개인 · 로컬 PC 모자라면 CPU/RAM으로 넘깁니다
MLX 맥 전용
mlx-lm
MLX 4-bit / 8-bit
애플 실리콘 전용 맥 스튜디오 · 미니 · 맥북 · 통합 메모리 직결
EXL2 단일 GPU 속도전
ExLlamaV2
소수점 BPW · 3.5b · 4.25b
NVIDIA GPU 전용 남는 VRAM에 맞춰 소수점 비트로
GGUF 안에서는 세대마다 새로 한 것이 하나씩 있습니다
세대 대표 포맷 그 세대가 새로 한 것 지금 쓰나
1세대 Q-quants
Q4_0 Q8_0
32개 블록마다 같은 눈금으로 정수 라운딩
거의 안 씁니다
2세대 K-quants
Q4_K_M Q5_K_M
256개 슈퍼블록 이중 스케일 + 고정 룰 혼합 정밀도
지금도 기본
3세대 I-quants
IQ4_XS IQ3_XXS
비선형 코드북 (패턴 번호) + imatrix 중요도 프로파일
저용량 특화
4세대 Dynamic 2.0 · MX
Dynamic 2.0 MXFP4
텐서 민감도를 그때그때 재서 배분 + 블랙웰 마이크로스케일
메모리 빠듯할 때
5세대 BitNet · DSA
BitNet 1.58b DSA Joint
곱셈이 사라지는 1.58비트 삼진법 · 인덱서도 함께 양자화
연구 단계
위 표는 "어디서 돌리나", 아래 표는 "GGUF 안에서 무엇을 고르나"입니다.
위 — 기업 프로덕션 서버는 vLLM/SGLang과 safetensors(FP8·AWQ), 개인 로컬 PC는
llama.cpp/Ollama와 GGUF, 애플 실리콘은 MLX, 엔비디아 단일 GPU 속도전은 EXL2로 갈립니다.
아래 — 1세대 단순 정수에서 2세대 K-quants(슈퍼블록 + 고정 룰), 3세대 I-quants(비선형
코드북), 4세대 Dynamic 2.0(민감도 측정 · MXFP4), 5세대 BitNet/DSA(삼진법 · 인덱서 동시
양자화)로 이어집니다. 오른쪽 열이 "지금 쓰나"입니다 — 로컬의 기본값은 여전히 2세대 K-quants 이고,
3·4세대는 메모리가 빠듯한 개인 환경에서 꺼내는 절충 입니다. 세대가 높다고 추천이
아니라는 것을 짚어 주세요 — 뒷세대일수록 가속이 까다롭고, 프로덕션 서빙은 애초에
GGUF가 아니라 safetensors 로 갑니다(위 표).
여기까지가 가중치 양자화이고, 다음 장부터는 매 요청마다 새로 생기는 KV캐시 양자화입니다.
이 그림에서 짚을 것은 가운데 세로선 하나입니다 — 요청이 도착하는 순간.
축이 정확도가 아니라 시각(時刻) 이라는 것이 7.2의 전부입니다.
위 레인은 왼쪽이 꽉 차고 오른쪽이 비었습니다. 아래 레인은 정반대입니다.
가중치는 배포 전에 실컷 재 두고 요청 때는 표만 봅니다. KV캐시는 요청이 와야 생기고,
그때는 이미 잴 틈이 없습니다. 이 좌우 반전만 읽히면 이 장은 끝난 겁니다.
"KV캐시는 균일 양자화만 쓴다"고 말하지 마세요 — 사실이 아닙니다.
채널·토큰·블록 단위 스케일은 물론이고 레이어별·K/V별로 비트가 갈리는 설정이 이미 표준 입니다.
그래서 아래 띠를 "대신 하는 것"으로 뒀습니다. vLLM이 슬라이딩 윈도우 레이어를 빼는 이유도
정확도가 아니라 속도 입니다 — 그 레이어는 캐시가 창 길이로 묶여 있어 FP8 오버헤드를
절감으로 갚지 못합니다. llama.cpp에서 K를 8비트·V를 4비트로 두는 조합이 흔한 것은
K가 더 민감하다 고 알려져 있기 때문이고, vLLM의 TurboQuant 변형에도 같은 k8v4가
있습니다(다만 용량 2.4배에 그쳐 FP8 대비 이점이 없다는 평가입니다).
진짜 못 하는 것은 하나뿐입니다 — 자리별 민감도를 데이터로 재서 배분을 탐색 하는 절차.
그래서 실제 배분은 요청 전에 알 수 있는 것(레이어 종류·K/V·헤드)에서만 갈립니다.
왼쪽 아래 빈 상자를 그냥 넘기지 마세요 — 비어 있는 것이 이 그림의 주장입니다.
질문이 나오면: "그럼 요청이 온 뒤에 재면 되지 않나요?" — 아래 레인의 뒤집힌 고리가 답입니다.
매 토큰·매 요청 되풀이하는 순간 아끼려던 메모리보다 시간이 더 비싸집니다.
다음 장으로: 단순 per-tensor INT4는 이상치 채널 때문에 4비트 이하에서 급격히 무너지고,
그 벽을 정면으로 깬 것이 구글의 TurboQuant 입니다 — 2026년 3월 증시를 흔든 주인공입니다.
1장의 K3 충격과 같은 그림입니다 — 일부러 같은 양식으로 그렸습니다. 2026년 3월 24일
구글 리서치가 KV캐시 6배 절감 을 공개하자 25일 미국, 26일 한국 증시가 연달아 빠졌습니다.
막대는 발표 직후 하루치 이고, 오른쪽 −20.2% 는 한 달 누적입니다 — 여기에는
미국·이란 지정학 리스크 가 겹쳐 있어 터보퀀트만의 결과로 말하면 안 됩니다(1장에서
"K3 이전부터 진행 중이던 조정"이라고 했던 것과 같은 정직함입니다).
가장 중요한 것은 아래 한 줄입니다. 질문이 나올 겁니다 — "서빙할 때 KV캐시도 줄여 주는 것
아닌가?" 맞습니다, KV캐시는 HBM에 삽니다. 당시 "터보퀀트가 건드리는 건 HBM이 아니라 표준
DRAM"이라는 설명이 돌았는데 그건 틀렸습니다. 진짜 이유는 다른 데 있습니다 —
HBM은 가속기 패키지에 고정 용량으로 붙어 나옵니다. H100 80GB · H200 141GB · B200 192GB는
공장에서 정해지는 값이라 나중에 못 늘리고 못 줄입니다. 그래서 HBM 수요를 정하는 건 가속기를
몇 장 파느냐 이지 소프트웨어가 얼마나 아껴 쓰느냐가 아닙니다. 거기에 제번스의 역설 이
겹칩니다 — 세션당 요구가 줄면 더 긴 컨텍스트·더 많은 동시 사용자가 가능해져 총수요는 오히려 늡니다.
표준 DRAM도 만만한 이야기가 아닙니다 — 세 회사 매출의 큰 축이라 "DRAM 쪽이니 괜찮다"는
위로가 안 되고, 오히려 압축된 캐시를 계층으로 내려보내기 쉬워져 호스트 DRAM·NAND 수요가 붙는다 는
반대 방향 논거가 있습니다.
덧붙일 수 있는 한 줄: 정작 vLLM 실측에서 TurboQuant는 처리량을 내주고 용량을 사는 선택지였고,
엔진의 기본값 권고는 여전히 FP8입니다 — 그건 뒤에서 봅니다.
왼쪽이 문제, 오른쪽이 해법입니다. 가로선 열여섯이 4비트 눈금 이고,
그 범위는 그 패널의 최댓값이 정합니다 — 이게 이 그림의 전부입니다.
왼쪽은 이상치가 범위를 ±20으로 벌려 놓아 칸이 성기고, 나머지 값들이
한 칸 안에 다 뭉갭니다 (0.8칸).
여기서 반드시 짚어 주세요 — 회전 뒤 오른쪽을 보면 값들이 오히려 커집니다.
잘못 그린 게 아니라 그게 기제입니다. 하다마드는 직교 변환이라 놈이 보존 되므로,
봉우리에서 뺀 에너지는 사라지지 않고 나머지 좌표로 갈 수밖에 없습니다.
그래서 벌크 표준편차가 0.98 → 3.67 (3.7배)로 커지는 대신
최댓값이 ±20 → ±8.9 로 55% 내려갑니다.
얻는 것은 폭이 아니라 눈금 활용도입니다 — 범위가 좁아진 만큼 칸이 촘촘해져
벌크가 0.8칸 → 6.6칸 에 걸칩니다. 그게 "구분된다"의 내용입니다.
그리고 회전 뒤 좌표는 예측 가능한 분포(베타) 를 따르므로 데이터를 보지 않고도
최적 눈금을 미리 설계할 수 있습니다 — 다음 두 장의 기법이 여기서 나옵니다.
가중치·활성값·KV캐시 모두에 적용됩니다.
아래쪽 띠 세 개만 보시면 됩니다. 가로축이 셋 다 같습니다(±10). 밀도함수도
하나뿐 이고 차원 D만 바뀝니다 — f(x) ∝ (1 − x²/R²)(D−3)/2 .
2차원 은 지수가 −1/2이라 양 끝에서 발산하는 U자 (아크사인)입니다 — 회전각이
균등하면 벡터가 ±10 근처에서 오래 머물기 때문이고, 양자화에는 최악의 모양 입니다.
3차원 에서 지수가 정확히 0 이 되어 완전히 평탄해집니다 — 구를 자른 띠의 넓이가
두께에만 비례한다는 아르키메데스 모자상자 정리 이고, 3차원에서만 성립하는 우연입니다.
128차원 은 지수가 62.5까지 올라가 σ = 10/√128 = 0.884 인 좁은 정규분포가 됩니다.
이 수렴이 푸앵카레–맥스웰–보렐 보조정리 입니다 — "푸앵카레 정리"라고만 하면
푸앵카레 추측·재귀정리와 헷갈립니다. 맥스웰이 기체 속도 분포에서 먼저 관찰했고 보렐이 증명했습니다.
위쪽 막대도 한 번 짚어 주세요 — 원본은 한 자리가 10을 다 갖는데, 회전 뒤에는 128개가
나눠 가져 최대 2.36 · 평균 0.88이 됩니다. 같은 4비트 눈금이 훨씬 촘촘해지는 것 이 요점입니다.
수식 한 줄만 따라오시면 됩니다 — Y = (X H)(HT W) = X (H HT ) W = X W.
직교행렬이라 H HT 가 단위행렬 이 되어 서로 지워집니다.
왼쪽 은 그래서 공짜입니다. 회전을 가중치에 미리 곱해 파일로 배포하니, 선형이 이어지는
구간은 추론할 때 곱할 것이 남지 않습니다 — 런타임 연산 0 .
오른쪽이 값을 치르는 쪽 입니다. 비선형 함수는 f(X H) ≠ f(X) H 라 회전이 통과하지
못하니 그 앞뒤에서 직접 돌려야 하고, KV캐시는 읽을 때마다 되펼치는 FHT 가 붙습니다.
그래서 KV캐시 쪽은 공짜가 아니라 저울입니다 — 용량 1/4을 얻고 매 토큰 연산을 냅니다.
QuaRot·SpinQuant가 W4A4KV4를 돌리는 방식 이 정확히 이 조합이고, 다음 장에서 그 계열을 봅니다.
넷을 한 장에 놓은 이유는 경쟁이 아니라 층이기 때문입니다. 1·2번은 어떤 회전을 쓸까 ,
3·4번은 회전한 값을 어떻게 담을까 입니다.
1·3번 그림을 나란히 짚어 주세요 — 같은 정규분포 위에 눈금만 다릅니다.
QuaRot 은 균일 눈금이라 값이 몰린 가운데도, 텅 빈 꼬리도 간격이 같습니다.
TurboQuant 는 회전 뒤 분포가 데이터와 무관하게 정해진다 는 것을 이용해 그 분포의
최적 눈금(로이드-맥스 )을 미리 구해 둡니다 — 값이 몰린 곳에 눈금을 몰아주는 겁니다.
같은 16칸인데 오차가 1.31배 작습니다. 거기에 1비트 QJL 잔차 로 내적의 편향까지 지웁니다.
SpinQuant 는 다른 축입니다 — 직교행렬이면 무엇이든 되니 고를 자유 가 남고,
그 자유를 학습으로 씁니다.
PolarQuant 는 좌표계를 바꿉니다. 각도만 양자화하면 블록 스케일을 저장할 필요가 없어져
4비트에서 만만찮던 메타데이터가 통째로 사라집니다.
논문 수치를 서빙 성능으로 곧장 읽지 마세요 — vLLM 실측에서 TurboQuant 4비트는
처리량이 기준의 73%였고, 엔진의 기본 권고는 여전히 FP8입니다. 다음 장 표에서 봅니다.
7.2 · 생태계별 지원 현황
같은 기법도 엔진마다 다르게 도착합니다
엔진 도는 곳 가중치 양자화 KV캐시 양자화
vLLM 서버
데이터센터 GPU 노드
FP8 · AWQ · SpinQuant · NVFP4
FP8 실무 표준 · INT8/4 · 회전 4비트 · 레이어별 제외
llama.cpp 로컬
개인 PC · 단일 GPU · CPU
Q4_K_M · IQ4_XS · Dynamic 2.0
Q8_0 · Q4_0 · K와 V를 따로 지정
Apple MLX 애플
애플 실리콘 맥 전 기종
MLX 4비트 / 8비트
4비트 / 8비트 · PolarQuant
"애플 실리콘 맥 전 기종"이라고 읽어 주세요 — 맥북만이 아니라 맥 스튜디오·맥 미니·아이맥이
다 해당합니다. 통합 메모리라 큰 모델을 담는 쪽 에서는 오히려 데스크톱 맥이 주력입니다.
KV캐시 행이 이 표의 요점입니다. vLLM은 FP8이 기본 권고이고(2배 용량 · 처리량 손실 없음),
4비트 회전은 메모리가 부족할 때 처리량을 내주고 사는 선택지입니다.
7.2에서 "균일하지 않다"고 했던 근거가 이 행에 있습니다 — vLLM은
--kv-cache-dtype-skip-layers로 슬라이딩 윈도우 레이어를 양자화에서 빼고,
llama.cpp는 --cache-type-k/-v로 K와 V에 다른 타입을 줍니다.
커널 이름을 묻는 질문이 나오면: vLLM은 fused_hadamard FHT, llama.cpp는 FWHT PR #21038,
MLX는 quantized_kv_cache와 hadamard 원시연산자입니다.
7장을 닫는 장입니다. 새 개념은 없습니다 — 앞에서 나눠 온 프리필 · 디코딩 · KV캐시
셋에 양자화가 하나씩 대응한다는 것만 확인하면 됩니다.
왼쪽 은 프리필입니다. 같은 텐서코어에 값을 더 많이 밀어 넣습니다 — 단
GPU가 그 포맷을 네이티브로 지원할 때만 이고, 아니면 되돌려 계산하느라 느려질 수도 있습니다.
이 단서를 꼭 붙여 주세요.
가운데 는 디코딩입니다. 5장에서 "디코딩은 계산이 아니라 읽어 오는 데 시간을 쓴다"고
했던 그 병목이고, 읽을 양이 1/4이면 초당 토큰이 그만큼 늡니다.
오른쪽 은 KV캐시입니다. 4장의 "KV캐시는 사람마다 따로 든다" 가 여기서 갚입니다 —
아낀 만큼이 곧 동시 사용자 수이고, 가중치는 여전히 한 벌 이라 배치가 커질수록
한 번 읽기를 여럿이 나눠 내면서 서버 전체 처리량이 올라갑니다.
셋은 따로 노는 이득이 아닙니다 — 같은 한 번의 양자화가 세 곳에 동시에 듣습니다.
08
Chapter 08
여러 장에 나눠 돌리기
"짐이 커서 나누기도 하고, 손이 여럿이라 나누기도 합니다"
6·7장이 모델 쪽에서 청구서를 깎았다면, 이 장은 서버 쪽에서 같은 청구서를 나눕니다.
여기서 관점이 한 번 바뀝니다. 6장과 7장은 모델을 고쳐 청구서를 깎았습니다 —
아키텍처를 바꾸거나 비트를 줄였습니다. 이 장은 모델은 그대로 두고 서버 쪽에서 나눕니다.
3장에서 "H200 여덟 장이면 1,128GB이니 서빙이 됩니다"라고 장수를 셌고 ,
6.6은 "B300 8장, 권장은 64장 이상"으로 끝났습니다. 그런데 한 모델이 그 여러 장에
어떻게 걸치는지 는 아직 말하지 않았습니다. 그 이야기입니다.
여기서 설명하지 말고 다음 장 그림으로 — 네 축을 한 장에 세워 두었습니다.
이 한 장이 8장의 목차입니다. 네 축을 여기서 한 번에 세우고, 뒤의 장들은
그중 TP와 EP 만 깊이 봅니다.
왼쪽 위 범례부터 짚어 주세요 — 색이 "그 장에 무엇이 들어 있는가"입니다.
레이어 조각(TP) · 모델 한 벌 전체(DP) · 전문가 일부(EP) · 이 장에 없음.
TP는 대역폭을 곱합니다. 5.2에서 "디코딩은 읽는 속도가 그대로 성능 "이라고 했던 것이
여기서 회수됩니다 — 네 장이 각자 1/4만 읽으니 총 바이트는 그대로인데 병렬 대역폭이 4배입니다.
DP는 통신이 0인 대신 가중치가 네 벌입니다. 4장의 "KV캐시는 사람마다 따로 든다"가
여기 걸립니다 — 가중치를 네 번 복제한 만큼 KV캐시에 남는 자리가 줍니다.
PP는 메모리 제약만 풉니다. 한 요청이 네 구간을 순서대로 지나므로 토큰당 시간은
줄지 않습니다 — 그래서 이 장의 주인공이 TP와 EP이고, 장 제목도 "파이프라인"이 아닙니다.
EP만 조건부입니다 — MoE 전용이고, 작은 규모에서는 통신비가 이득을 넘습니다.
그 조건은 두 장 뒤에서 숫자로 봅니다.
맨 아래 실무 규칙 한 줄만 기억해도 됩니다 — 노드 안은 TP, 노드를 넘으면 PP, 큰 MoE는 EP.
앞 장에서 "DP가 기본값"이라고 했는데, 그럼 왜 나누느냐가 이 장입니다.
한 장에 들어가면 통째로 복제하는 것이 통신 0이라 원칙적으로 이깁니다. 그런데도 나눕니다.
위쪽 숫자가 놀라운 지점입니다 — TP1에서 TP2로, 즉 장수를 2배 했는데
KV 블록이 13.9배 , 처리량이 3.9배 가 됐습니다. 선형이 아닙니다.
이유를 꼭 붙여 주세요 — 원래 한 장에서는 가중치가 HBM을 거의 다 먹어
KV에 남는 자리가 적었기 때문입니다. 그 얇은 나머지가 두 배가 되니 배수가 튄 것이고,
그래서 이 배수는 구성마다 다릅니다. "TP2로 가면 4배"라고 일반화하면 안 됩니다.
아래쪽이 실무의 모습입니다. GPU당 처리량 1위 구성을 고르지 않았습니다 —
2장짜리로는 1M 컨텍스트를 감당할 KV캐시 자리가 안 나왔기 때문입니다.
효율 8%를 내주고 자리를 샀습니다. 벤치마크 1위와 프로덕션 선택이 갈리는 자리입니다.
참고 칸이 다음 장으로 넘기는 다리입니다 — 2장 규모에서 EP를 켜면 느려집니다.
EP는 규모가 있어야 사는 기법이고, 왜 그런지가 다음 장입니다.
질문이 나오면: 같은 사례에서 절대 처리량 1위는 GPU를 두 배 쓴 구성이었고,
장수가 다른 구성을 절대값으로 비교하지 말라고 출처가 직접 경고 합니다.
동시성도 SLA가 정합니다 — 8K 입력에서 약 700, 16K에서 300, 256K에서 25.
앞 장 참고 칸의 "2장에서는 EP가 손해"를 여기서 풉니다.
왼쪽이 EP의 비용입니다 — 토큰이 자기 전문가가 있는 장으로 갔다가 돌아옵니다.
보내기와 모으기, 레이어마다 두 번 입니다. 화면의 파란 상자가 그 총합 이고요 —
DeepSeek V3의 61개 레이어면 토큰 하나가 122번 오갑니다.
그래서 어느 선을 타느냐가 성능을 정합니다 — 노드 안 NVLink 160GB/s 대
노드 사이 InfiniBand 50GB/s, 3배 넘게 차이 납니다. 왕복이 한 도메인 안에서 끝나야 남습니다.
가운데는 쏠림입니다. 어떤 전문가에 일이 몰리면 가장 바쁜 장이 끝날 때까지 나머지가 놉니다.
대응은 인기 전문가를 복제해 여러 장에 함께 두고(3′·3″) 10분쯤 주기로 다시 배치하는 것이고,
이것은 품질 문제가 아니라 처리량 문제 라고 짚어 주세요 — 답이 바뀌는 게 아닙니다.
오른쪽이 규모의 실감입니다. DeepSeek V3의 프리필은 32장, 디코딩은 320장 — 10배 입니다.
디코딩은 장당 전문가가 하나 입니다.
여기서 이 장의 결론이 나옵니다 — 리포트가 EP를 고른 이유는 용량이 아니라
각 전문가에게 충분히 큰 배치 를 주어 연산 효율을 높이는 것이었습니다.
그리고 6.6이 회수됩니다. Kimi K3의 "가속기 64장 이상 권장"도 근거가 용량이 아니라
고대역폭 통신 도메인이 클수록 추론 효율이 좋아진다 였습니다. 같은 이야기입니다.
5장의 그 숫자를 여기서 갚습니다. 동시 사용자를 100명으로 올리자 첫 토큰이
0.29초에서 20.6초 로 밀렸습니다. 원인이 왼쪽 그림입니다.
왼쪽에서 짚을 한 줄 — "내가 아무것도 하지 않아도 남의 긴 프롬프트가 내 토큰을
늦춥니다. " 그리고 그 값은 서빙 시스템이 통제할 수 없습니다 — 누가 어떤 길이로
들어올지 모르니까요. 통제할 수 없는 값에는 SLA를 걸 수 없습니다. 이것이 분리의 동기입니다.
가운데가 해법이고, 여기서 용어를 한 번 세워 주세요. 이 기법의 이름이
PD Disaggregation 입니다 — P는 Prefill(프리필), D는 Decode(디코딩) 이고
Disaggregation은 "붙어 있던 것을 떼어 놓는다" 는 뜻입니다. 한 GPU가 겸하던 두 단계를
떼어 각각 전용 GPU에 맡기는 것이라, 문서와 엔진 설정에서는 그냥 "PD 분리" 로 씁니다.
8.1의 축약어와 헷갈리지 않게 한 번 갈라 주세요 — TP·DP·PP·EP는
한 가지 일을 여러 장이 나누는 축 이고, PD는 성격이 다른 두 일을 서로 다른 장에
갈라 놓는 배치 입니다. 병렬화 축이 다섯 개가 된 게 아닙니다.
(덧붙일 것이 있으면: 같은 것을 영어 문서에서 disaggregated serving , 반대말을
colocated / aggregated serving (병치)이라고 씁니다.)
프리필 전용 노드가 입력을 처리해 KV캐시를 만들고, 그것을 디코딩 노드로 전송 합니다.
그러면 디코딩의 토큰 간 지연이 디코드 배치만의 함수 가 됩니다.
실제 배포 비율을 읽어 주세요 — B300 24장을 프리필 16장 + 디코딩 8장으로 갈랐습니다.
두 자원 풀을 따로 늘릴 수 있다 는 것이 이 방식의 값입니다.
오른쪽이 이 장의 교훈입니다. 막대는 전부 같은 것을 잽니다 — 디코딩의 토큰 간
지연(TPOT)이고, 트랙의 어두운 나머지가 깎여 나간 몫 입니다.
40ms에서 17ms로 내린 23ms 가운데 18ms가 첫 줄 하나 에서 나왔습니다 —
커널이 아니라 경계 입니다. 전송받은 요청과 투기적 디코딩이 만나는 자리에서
첫 스텝의 모양을 맞추기만 했습니다. 분리하면 경계가 새 병목이 됩니다.
다음 장 예고: 그런데 분리가 처리량을 올려 주는 건 아닙니다. 여기서 오해가 갈립니다.
여기서 흔한 오해를 끊습니다 — "분리하면 빨라진다"가 아닙니다.
섞어 돌리는 것 자체는 처리량에 유리합니다.
왼쪽 숫자가 그 증거입니다. 따로 하면 73ms인데 섞으면 41ms 입니다.
이유는 하나입니다 — 가중치 읽기 33ms 한 번이 통째로 사라집니다.
디코딩 스텝은 대역폭을 쓰면서 연산 유닛을 놀리므로, 그 빈 연산에 프리필 청크를 얹으면
디코드 64토큰이 얹혀 가는 값이 1ms뿐 입니다. 사실상 공짜입니다.
"1,700토큰까지 추가 시간 0"이 이 그림의 핵심 한 줄입니다 — 대역폭 시간 안에
들어오는 만큼은 공짜이고, 넘긴 만큼만 값을 냅니다.
가운데는 왜 그런지입니다. 프리필은 연산이 병목, 디코딩은 대역폭이 병목 —
논문 표현으로 "두 대의 서로 다른 기계처럼 동작한다" 입니다. 그래서 섞으면 서로의 빈 자원을 씁니다.
축 위의 막대는 HBM 점유 실측만입니다 — 프리필 20~30%, 디코딩 65~85%.
SM(연산) 점유는 구간이 공개되지 않아 막대로 세우지 않고 점선 칩으로 방향만 적었습니다.
질문이 나오면 그렇게 답하세요 — "높음/낮음"은 재서 나온 숫자가 아닙니다.
그렇다면 분리는 무엇을 사는가 — 처리량이 아니라 격리 입니다.
지표를 바꿔 말하면 goodput , SLA를 지키면서 낸 처리량입니다. 병치에서 TTFT와 TPOT를
둘 다 지키려면 배치를 줄이거나 GPU를 여유 있게 깔아야 하는데 그 여유분이 낭비 이고,
분리는 그것을 걷어냅니다.
대가는 통계적 다중화입니다 — 병치라면 프리필이 몰릴 때 클러스터 전체 연산을
끌어다 쓰지만, 나눠 두면 프리필 버스트가 디코딩 GPU를 빌릴 수 없습니다.
오른쪽이 결론입니다 — 워크로드가 답을 정합니다. 짧고 균일한 오프라인 배치는
혼합이 1.8배이고 사람이 안 보니 격리를 살 이유가 없습니다. 장문 에이전틱은 1.02배뿐 —
숨길 디코드가 없습니다. 갈림길은 하나, 숨길 디코드가 얼마나 있느냐 입니다.
5.3이 여기서 다시 걸립니다 — 캐시 히트율이 오르면 프리필 몫이 줄어 두 풀의
비율도 함께 바뀝니다. 이 구성은 한 번 정하고 끝나는 값이 아닙니다.
8.5 · 이 발표의 청구서 목록이 닫힙니다
여러 장에 걸치는 순간 통신 이 붙습니다
3장은 용량 , 4장은 KV캐시 였습니다. 나누는 순간
셋째 청구서 가 생기고, 그래서 "몇 장 필요한가"에는 답이 하나가 아닙니다.
3장 용량 파라미터 수 × 정밀도양자화 로 깎습니다.
4장 KV캐시 사용자 수 × 길이 × 모델 × 정밀도아키텍처 · KV 양자화 로 깎습니다.
8장 · 새로 붙음 통신 나눈 축과 넘는 경계의 수 노드 안에 묶기 · 겹치기 · 쏠림 잡기
8장을 닫으면서 이 발표의 청구서 목록도 닫힙니다. 새 개념은 없습니다 —
앞의 두 청구서에 셋째가 붙었다 는 것만 확인하면 됩니다.
셋째 칸만 색이 다른 이유를 말해 주세요 — 용량과 KV캐시는 한 장에서도 드는
값이지만, 통신은 나누기로 결정한 순간 생기는 값입니다. 안 나누면 0입니다.
그래서 나누는 것은 공짜가 아닙니다. 앞의 네 장이 전부 그 값을 어디서 치르는지에
대한 이야기였습니다 — TP는 레이어마다 all-reduce, EP는 레이어마다 all-to-all 두 번,
분리는 KV캐시 전송.
맨 아래 한 줄이 3장에 대한 답입니다. 3장에서 "H200 여덟 장이면 담깁니다"라고 셌던
그 장수는 가중치가 들어가는 최소 였습니다. 실제로 SLA를 지키며 서빙하는 구성은
다른 숫자이고, 6.6의 8장과 64장이 정확히 그 차이 입니다 — 이제 왜 그런지 설명할 수 있습니다.
다음 장으로: 여기까지가 "어떻게 깎고 어떻게 나누는가"였습니다.
이제 왜 각자 자기 것을 가져야 하는가 로 넘어갑니다.
09
Chapter 09
AI 소버린
"더 이상 AI는 모두의 것이 아니라, 각자 자신의 것을 만들어야 하는 국가 전략자산이 되었다"
국가 · 기업 · 개인 단위의 주권 확보와 기술 자립.
셋이 임의의 목록이 아니라는 것부터 짚어 주세요 — 모델 한 장을 돌리려면
칩과 커널과 가중치가 다 있어야 합니다. 통제는 그 세 겹에 각각 걸려 있고,
하나만 막혀도 나머지가 멈춥니다. 왼쪽 세로 괄호가 그 뜻입니다.
가운데 겹이 이 장에서 가장 덜 알려진 이야기입니다. 칩 규제와 모델 규제는 뉴스에서 익숙한데,
커널까지 통제 목록에 올랐다 는 것은 잘 안 알려져 있습니다. 이유가 중요합니다 —
칩을 만들어도 꺼내 쓸 코드가 없으면 성능이 안 나옵니다. 그 기제는 11.3에서 그림으로 봅니다.
아래 띠에서 이 발표의 앞부분을 회수하세요 — 6·7장에서 본 MoE·선형 어텐션·저비트 양자화가
"기술적으로 재미있어서" 나온 것이 아니라 제재 환경이 강제한 방향 이었다는 것이 이 장의 논지입니다.
"싸게, 그러나 뛰어나게"는 취향이 아니었습니다.
다음 장으로: 세 대응 중 하드웨어 겹, 즉 장수 확보 가 한국의 현재 위치입니다.
분모를 장수로 통일했습니다. 금액으로 견주면 미·중은 하이퍼스케일러 설비투자인데
한국은 정부 예산이라 성격이 달라집니다. 그래서 1장에서 쓴 돈 대신 여기서는 장수로 갑니다.
짚을 곳은 세 번째 회색 막대입니다 — xAI Colossus 1 한 곳이 22만 장 이고,
한국 정부가 1·2차로 확보한 물량 전체가 2만 2,840장 입니다. 데이터센터 단 한 곳과 약 10배 차이입니다.
민간 5만 장을 합쳐도 약 3배입니다.
아래 100% 막대는 정부 확보분의 내역입니다 — 1차(2025년 12월) B200 10,080 + H200 3,056,
2차 'AI 고속도로' B300 7,688 + Vera Rubin 2,016으로 예산 2조 800억 원입니다.
정직하게 덧붙일 것 둘. 하나, 장수로만 견줬습니다 — Colossus는 H100 세대이고
한국 확보분은 B200·B300 세대라 장당 성능이 다릅니다. 둘, 민간 5만 장은 업계 합산 추산이고
미국·중국 값도 하이퍼스케일러 추정치입니다.
앞 장에서 장수는 10배 뒤였습니다. 그런데 점수는 그렇지 않습니다.
Motif 3 Beta 44점 — 가중치가 공개된 모델만 세면 공동 4위 입니다.
위는 Kimi K3(57)·GLM-5.2(51)·DeepSeek V4 Flash 0731(50) 셋뿐이고, 같은 44점에
MiniMax-M3·DeepSeek V4 Pro가 있습니다. 미국·중국 밖에서는 1위입니다.
1위 Claude Opus 5와는 17점, Kimi K3와는 13점 차이입니다.
이 순위는 곧 한 번 더 밀릴 수 있습니다 — 8월 3일 공개된 Qwen3.8 Max (2.4T · 53점)가
다음 주 가중치 공개 를 예고했습니다(SCMP). 풀리면 오픈웨이트 2위가 되고
Motif 3은 공동 5위가 됩니다. 발표 직전에 다시 확인하세요.
Motif 3이 21개 중 16번째 라는 위치가 요점입니다. 그리고 Qwen3.8 Max는 2.4T인데 53점 이라, 314B짜리 Motif 3의 44점과 나란히 놓으면 크기가 곧 점수가 아니라는 이 문서의 논지가 한 번 더 섭니다. 아래로 Xiaomi MiMo-V2.5-Pro, Tencent Hy3,
Thinking Machines의 Inkling , NVIDIA Nemotron 3 Ultra , Mistral 이 이어집니다. 두 곳을 짚으면 좋습니다 —
Inkling은 총 975B (활성 41B)인데 41점이라 314B짜리 Motif 3보다 아래 이고,
유럽 소버린의 간판인 Mistral Medium 3.5가 30점 이라 이 장의 논지와 바로 이어집니다.
이 그림은 2026년 2분기 이후 공개 모델만 담았습니다(호진님 기준). 그래서
1장 8번 슬라이드의 상위 15개와 목록이 다릅니다 — Claude Opus 4.8(56)·GPT-5.5(55)·
Gemini 3.1 Pro(46)·Claude 4.5 Haiku(30) 같은 앞 세대가 빠져 있습니다.
계열 안에서도 상위 버전 하나만 남깁니다 — Gemini는 3.6 Flash(50)를 두고 3.5 Flash-Lite(36)를
뺐습니다. 다만 Sol·Terra·Luna나 Opus·Fable·Sonnet, DeepSeek V4 Pro·Flash 처럼
같은 버전의 제품 티어 는 서로 상위/하위가 아니라 그대로 둡니다. 질문이 나오면 이 기준을
말해 주시면 됩니다.
DeepSeek이 두 줄인 것이 눈에 띌 수 있습니다 — V4 Flash 0731이 50점 으로 V4 Pro(44)보다
위 입니다. 싼 쪽이 더 높은 이 뒤집힘이 부록 C 가 통째로 다루는 주제이고,
49.9는 발표 벤치마크 아홉 개 중 유일한 독립 실측 입니다(나머지는 DeepSeek 자체 하네스).
314B 중 활성 약 13B 만 켜는 MoE고, 모델 카드가 "완전 자체 설계"라고 밝힙니다
(해외 모델의 재파라미터화가 아니라는 뜻 — 독파모 독자성 기준과 직접 이어집니다).
잣대를 섞지 마세요. 이 막대는 전부 AAII 단일 하네스 값이고 정수 표기입니다.
7월 독파모 네 모델 중 지수에 오른 것은 Motif 3 하나뿐입니다 — K-EXAONE 2.0(LG 750B)·
A.X K2(SK텔레콤 688B)·Solar Open 2(업스테이지 250B)는 공개가 7월 하순이라 이 스냅샷에 없습니다.
표의 K-EXAONE 22점 은 1차 시즌 모델(236B, 2025-12-31)의 값이지
K-EXAONE 2.0의 값이 아닙니다 — 이름이 비슷해 헷갈리기 쉬운 곳입니다.
A.X K2는 자체 발표로 AIME26 97.1을 냈지만 그건 제작사 수치라 같은 표에 올리지 않습니다.
AAII는 Agents에 34%를 배정하는데 A.X K2 모델 카드 스스로 에이전트 성능이 약하다고 적었습니다.
같은 모델의 추론 노력 설정이 리더보드에서는 각각 한 줄 이라 그대로 뽑으면 순위가 엉킵니다.
이 그림은 계열마다 최고 설정 하나 만 뽑은 값입니다.
지수는 갱신됩니다 — 발표 전에 다시 확인하세요(44점 위는 7월 28·31일, 아래는 8월 4일 열람).
참고로 AA는 Motif 3의 국가를 `USA`로 잘못 적어 두었습니다 — 다시 열어 볼 때 헷갈리지 마세요.
기업이 온프레미스를 짓는 첫 이유를 비용이 아니라 경계 로 잡았습니다.
왼쪽에서 짚을 곳은 경계를 넘는 앰버 선 하나 입니다 — 질문만 나가는 게 아니라
질문에 실린 사내 자료가 함께 나갑니다. 고객 정보·기밀 코드·영업 비밀이 그렇습니다.
넘는 순간 보관 기간·학습 사용·중단 통보가 전부 상대의 정책이 됩니다.
오른쪽은 자료를 옮기는 대신 모델을 안으로 들인 그림이고, 요점은
경계를 넘는 선이 하나도 없다 는 것입니다.
아래 띠가 이 장의 결론입니다. 공용 API는 회사가 몇이든 모델이 남의 데이터센터에
한 벌 이면 됩니다. 소버린은 회사 수만큼 한 벌씩 이고, 그만큼 가속기도 따라 붙습니다.
이것이 소버린이 하드웨어 수요를 만드는 기본 구조 이고, 같은 논리가 국가에도 개인에도 적용됩니다.
같은 논리를 개인으로 좁힌 장입니다. API 비용을 아끼려는 게 아닙니다 —
개인의 경계 안에 있는 것은 회사 문서가 아니라 나 자신의 기록 입니다.
왼쪽 층을 아래에서 위로 읽어 주세요. 대화 기록·내 파일까지는 남의 것으로 바꿔 끼울 수 있지만,
업무 맥락과 습관·말투까지 쌓이면 그 자체가 나를 설명하는 자료 가 되어 대체가 안 됩니다.
오른쪽이 개인의 한계입니다 — 개인은 칩을 설계할 수 없습니다. 그래서 개인의 소버린은
자기가 통제할 수 없는 2가지 외부 변수에 매달립니다. 하나는 국가가 GPU를 얼마나 확보하느냐
(앞 장에서 본 2만 2,840장), 다른 하나는 연구가 모델을 얼마나 줄이느냐 (6·7장).
개인이 직접 고르는 것은 기기 한 대뿐입니다.
아래 띠는 사본이 사람 수만큼 으로 가장 잘게 쪼개진다는 뜻입니다.
9장 정리이자 다음 장으로 넘기는 다리입니다. 세 가지를 차례로 짚어 주세요.
하나, 소버린은 세 층 모두에서 하드웨어를 부릅니다. 수요가 한곳에 모이는 대신
국가·기업·개인으로 퍼집니다.
둘, 아래로 갈수록 학습이 빠지고 추론이 채웁니다. 국가는 파운데이션 모델을 직접
학습하지만(독파모), 기업은 파인튜닝이 가끔이고 서빙이 연중 무휴이며, 개인은 거의 전부 추론입니다.
셋, 그런데 메모리 띠는 세 층을 관통합니다. 학습이 빠져도 메모리는 안 빠집니다 —
추론은 가중치를 통째로 얹고 시작하고 그 위에 사용자마다 KV캐시가 또 붙기 때문입니다.
3장과 4장의 두 청구서가 여기서 다시 나옵니다.
마지막으로 예산 칸 을 짚어 주세요. 조 단위 → 억 단위 → 백만 원 단위입니다.
같은 모델을 가장 작은 통에 넣어야 하는 쪽이 개인 이고, 그래서
6·7장의 절감 기법이 가장 먼저 필요한 곳도 개인 입니다 — MoE·선형 어텐션·양자화가
교양이 아니라 생존 조건이라는 이 문서의 결론이 여기서 닫힙니다.
10
Chapter 10 · 부록
NVIDIA 데이터센터 GPU 로드맵
"알고리즘이 길을 열고, 하드웨어가 칩으로 굳혀온 10년"
FP8·FP4·회전 양자화 등 소프트웨어 알고리즘 혁신을 실리콘으로 구현해온 발전사.
맨 오른쪽 열만 따라 읽으면 이 장의 논지가 끝납니다 — FP16 → BF16·INT8 → FP8 → FP4 → 회전.
세대마다 새 연산기가 하나씩 늘었고, 그 순서가 6·7장에서 우리가 본 기법의 순서와 같습니다.
하드웨어 로드맵은 칩 스펙 향상의 나열이 아니라 소프트웨어가 먼저 증명한 방식을 전용 연산기로 굳혀온 역사 입니다.
색이 든 두 행이 이 발표의 기준선입니다 — H200 141GB를 100%로 놓고 B300 288GB가 204%입니다.
3·4장의 용량 계산이 전부 이 두 줄 위에 서 있습니다.
H200과 B300은 새 연산기가 없습니다 — 같은 아키텍처에 메모리만 늘린 리프레시입니다.
그래서 오히려 메모리 용량이 연산과 별개의 제품 축 이라는 것을 보여 줍니다.
점선 아래는 예고입니다. Rubin Ultra와 Feynman은 확정 스펙이 아니라 발표 자료 기준이고,
Rubin의 22TB/s도 초기 물량이 목표보다 낮을 수 있다는 판매사 단서가 남아 있어 발표 직전 재확인 대상입니다.
단위가 다른 두 지표(GB와 TB/s)를 같은 축에 그리기 위해, H200 (100%) 대비 배수 로 인덱싱했습니다.
왼쪽 아래 세 칸이 비어 있는 것을 짚어 주세요 — 이 표의 전부입니다.
V100부터 H200까지는 단일 호스트 8-GPU 가 제품 단위였고, 랙은 그 서버를 여러 대 꽂는 껍데기였습니다.
Blackwell부터는 CPU와 GPU를 한 랙에 묶은 NVL72 자체가 제품 단위 가 됩니다 —
랙이 더 큰 서버가 아니라 새로 생긴 층 이라는 뜻입니다.
위 블록과 아래 블록의 자릿수를 비교해 주세요 — 단품은 GB와 TB/s, 랙은 TB와 수백 TB/s입니다.
같은 지표가 세 자리씩 올라갑니다.
여기가 8장 병렬화의 무대입니다 — TP·DP·PP·EP가 걸치는 대상이 이 랙이고,
all-to-all이 감당해야 하는 것이 아래 블록의 NVLink 숫자입니다.
덧붙일 수 있는 한 줄: 랙 스케일 경쟁의 다른 축으로 Groq 3 LPU가 있습니다 —
HBM 대신 SRAM 128GB를 쓰는 접근인데, 용량이 작아 큰 모델은 여러 장에 쪼개 얹어야 합니다.
이 표는 NVIDIA 플랫폼만 놓고 본 것이라 넣지 않았습니다.
Rubin 값은 발표 직전 재확인 대상입니다 — 22TB/s는 초기 물량이 목표보다 낮을 수 있다는 단서가 남아 있습니다.
11
Chapter 11
추론 엔진과 커널
"하드웨어 스펙을 실질적인 서빙 속도로 바꾸는 기술"
vLLM · llama.cpp · oMLX — 완성된 모델을 최적으로 구동하는 서빙 소프트웨어의 정체.
위 한 줄이 이 장의 지도입니다 — 프레임워크가 가중치를 만들고, 체크포인트에서 손이 바뀌고 ,
추론 엔진이 그 가중치를 돌립니다. 둘은 경쟁 관계가 아니라 앞뒤로 붙는 다른 소프트웨어 입니다.
오른쪽 맨 위 취소선 칸을 짚어 주세요 — 추론 엔진의 정의가 여기 있습니다.
역전파와 옵티마이저 상태를 통째로 버렸습니다. 가중치를 고치지 않으니 필요가 없고,
그만큼의 메모리와 코드를 전부 서빙 쪽에 씁니다.
학습이 왜 그렇게 메모리를 먹는지 도 왼쪽 두 번째 칸이 설명합니다 — Adam은 파라미터마다
값 둘(모멘텀·분산)을 더 들고 있어야 해서 가중치의 세 배 가 듭니다. 추론은 그 셋 중 하나만 있으면 됩니다.
오른쪽 셋은 전부 앞에서 이미 본 것입니다 — PagedAttention은 4장 KV캐시의 파편화,
프리픽스 캐시는 5.3장의 캐시 히트입니다. 새 개념이 아니라 그것을 실제로 구현한 소프트웨어의 이름 이라고 짚어 주세요.
연속 배치가 가장 덜 알려진 것입니다 — 예전 방식은 배치가 다 끝나야 다음 배치를 받았습니다.
가장 긴 요청 하나가 나머지를 붙잡고 있었죠. 지금은 끝난 자리에 즉시 다음 요청이 들어갑니다.
아래가 하드웨어입니다 — 스택으로 세워 놓으면 두 생태계가 층마다 1:1로 대응 한다는 것이 바로 보입니다.
이름만 다를 뿐 각 겹이 맡는 일은 같습니다.
색이 든 두 겹만 짚으면 됩니다. 5층(추론 엔진)이 바로 앞 장에서 본 것이고,
2층(커널)이 다음 장에서 볼 것입니다. 나머지 넷은 지나가면서 이름만 읽어 주세요.
2층에 붙은 표시를 놓치지 마세요 — 9.1에서 "비표준 칩 커널 개발이 통제 대상"이라고 했던 그 겹입니다.
스택에서 어디를 막는 것인지가 여기서 눈에 보입니다.
애플 쪽이 더 짧아 보이는 이유 도 짚을 수 있습니다 — 하드웨어부터 커널·프레임워크까지 한 회사가
다 만들어 층 사이의 이음매가 적습니다. NVIDIA 쪽은 층마다 선택지가 여럿이라 이름이 많습니다.
두 보드의 층이 같다는 것부터 짚어 주세요 — 위가 SRAM, 아래가 HBM으로 양쪽이 똑같습니다.
다른 것은 그 사이를 오가는 화살표의 수뿐입니다.
가장 중요한 한 줄: 곱셈 횟수는 양쪽이 거의 같습니다. 오간 양만 줄였는데 속도가 갈립니다.
"커널 최적화"가 연산을 줄이는 일이라고 오해하기 쉬운데, 실제로 하는 일은 메모리 왕복을 줄이는 순서 바꾸기 입니다.
중간행렬이 왜 문제인지 도 짚어 주세요 — S와 P는 토큰 수의 제곱 크기입니다.
컨텍스트가 길어질수록 이 왕복이 먼저 무너지고, 그래서 4장에서 본 긴 컨텍스트 문제와 여기서 만납니다.
오른쪽 HBM 가운데가 비어 있는 것 이 FlashAttention의 정의입니다 — 중간행렬을 아예 만들지 않고
타일 단위로 누적해 나갑니다.
마지막 카드가 이 장을 9장(소버린)과 잇습니다 — 칩을 만들어도 커널이 없으면 못 씁니다.
같은 실리콘에서 제 성능의 30%도 못 내는 일이 실제로 생기고, 그래서 독자 NPU는 칩 설계가 아니라
커널 생태계 자립 이 진짜 조건입니다. 통제 대상 목록에 "비표준 칩 커널 개발"이 들어가는 이유도 같습니다.
Q&AQUESTIONS
Closing & Q&A
감사합니다
LLM과 컴퓨팅 자원의 역학관계 발표를 끝까지 경청해 주셔서 감사합니다.
대한민국 코스피(KOSPI) 지수 의 힘찬 우상향과
K-반도체 · AI 밸류체인 기업들의 지속적인 주가 상승을 진심으로 기원합니다.
이호진
삼성전자 메모리사업부 Design Technology 팀
Technology Enablement 그룹 · Analog DTCO 파트
2026 · COMPUTE RESOURCE
발표를 마무리하고 질문을 받습니다. 표지와 같은 조판이라 처음으로 돌아온 느낌 을 주는 장입니다.
대한민국 코스피 지수와 반도체·AI 밸류체인 기업 주가의 상승을 기원하며 Q&A를 시작합니다.
미리 준비해 둘 답변 셋 — (1) "그래서 우리는 뭘 사야 하나": 이 발표는 종목 이야기가 아니라
수요의 구조 이야기라고 되돌리세요. (2) "모델이 효율적이 되면 메모리가 덜 팔리지 않나":
7.2의 제번스 역설과 HBM 고정 용량 논거(79번)로 답합니다. (3) "한국은 가망이 있나":
9장의 장수 격차와 Motif 3의 동률 성적을 함께 놓고, 인프라는 밀리고 모델은 붙었다 고 답합니다.