DeepSeek-V4 논문 리뷰 - 100만 토큰을 위한 압축 attention과 시스템 설계
DeepSeek-V4는 100만 토큰 context를 다루기 위해 attention, residual stream, optimizer, MoE system을 함께 바꿨다. Sequence 전체를 원본 해상도로 보지 않고 CSA와 HCA로 압축한다.
이 글은 기술 보고서가 평가한 preview 버전의 DeepSeek-V4-Flash와 DeepSeek-V4-Pro를 다룬다. 이후 공개된 checkpoint의 변경점과 성능은 논문 범위에 포함하지 않는다.

두 모델
| 항목 | Flash | Pro |
|---|---|---|
| 전체 parameter | 284B | 1.6T |
| Token당 active parameter | 13B | 49B |
| Transformer layer | 43 | 61 |
| Routed expert | 256개 중 6개 | 384개 중 6개 |
| CSA compression / top-k | 4 / 512 | 4 / 1,024 |
| HCA compression | 128 | 128 |
| Local window | 128 tokens | 128 tokens |
| Pre-training token | 32T | 33T |
| 최대 context | 1M | 1M |
Flash는 더 작은 비용으로 추론을 길게 가져가는 위치에 있고, Pro는 지식과 복합 agent task를 겨냥한다.
Architecture 한 장으로 보기

Decoder block의 attention은 CSA 또는 HCA가 맡고, FFN은 DeepSeekMoE를 쓴다. 일반 residual connection은 Manifold-Constrained Hyper-Connections(mHC)로 바뀐다. Multi-Token Prediction은 DeepSeek-V3의 전략을 유지한다.
token sequence
→ CSA 또는 HCA + local sliding window
→ mHC residual mixing
→ DeepSeekMoE
→ 다음 token + 보조 MTP target
CSA: 압축한 뒤 필요한 block만 고른다
Compressed Sparse Attention(CSA)은 긴 history를 두 단계로 줄인다.

- 네 token마다 하나의 compressed KV entry를 만든다.
- Lightning Indexer가 현재 query와 compressed block의 관련도를 계산한다.
- Flash는 512개, Pro는 1,024개의 block만 선택한다.
- 선택한 전역 KV와 최근 128 token의 원본 KV를 함께 attention한다.
먼저 sequence 길이를 1/4로 줄이고, 그중 필요한 부분만 실제 attention에 넣는 구조다. 최근 token은 압축하지 않은 sliding-window branch로 보완한다.
HCA: 더 세게 압축하고 전체를 본다
Heavily Compressed Attention(HCA)은 128 token마다 KV 하나를 만든다. CSA처럼 top-k를 고르지 않고 압축된 history 전체에 dense attention을 수행한다.

| CSA | HCA |
|---|---|
| 4 token → KV 1개 | 128 token → KV 1개 |
| Indexer로 top-k 선택 | 압축된 전체 history 확인 |
| 세밀한 과거 block 회수 | 값싼 전역 요약 경로 |
Layer마다 두 방식을 섞어 HCA의 싼 전역 기억과 CSA의 선택적인 세부 회수를 함께 사용한다. 다만 압축 과정에서 잃은 token 순서와 세부 사실을 어느 정도 복구하는지 보여주는 CSA-only, HCA-only ablation은 충분하지 않다.
mHC: residual stream을 네 갈래로
Hyper-Connections는 residual stream을 여러 갈래로 넓히고 layer 전후에 서로 섞는다.
\[X_{l+1}=B_lX_l+C_lF_l(A_lX_l)\]- $A_l$: 여러 residual branch를 layer input 하나로 혼합
- $B_l$: residual branch 사이의 정보 혼합
- $C_l$: layer output을 branch에 분배
V4는 residual state를 네 갈래로 둔다. Unrestricted mixing matrix를 깊게 곱하면 signal과 gradient가 불안정해질 수 있어, $B_l$을 원소가 음이 아니고 각 행·열 합이 1인 doubly stochastic matrix로 제한한다. Sinkhorn-Knopp normalization으로 이 제약을 근사한다.
수학적인 안정성 제약이 있다는 것과 V4 benchmark에서 mHC가 기여한 정확한 크기는 구분해야 한다. 보고서에는 mHC 하나만 제거한 전체 모델 ablation이 없다.
Muon과 MoE system
Embedding, output head, RMSNorm 등 일부 parameter는 AdamW로 학습하고 대부분의 matrix parameter에는 Muon을 사용한다. Muon은 momentum update matrix를 대략 직교화해 특정 singular direction에 update가 몰리는 현상을 줄인다.
MoE layer에서는 token을 expert GPU로 보내는 dispatch, matrix multiplication, combine을 작은 wave로 쪼개 겹친다. 복잡한 attention과 MoE 연산은 TileLang 기반 fused kernel로 만들고, RL rollout과 training의 정합성을 위해 batch가 달라도 같은 token의 결과가 bitwise 동일하도록 reduction 순서를 고정한다.
Architecture만 바꿔서는 1M context를 실용적으로 서비스하기 어렵다. Compression 규칙이 다른 CSA, HCA, sliding-window KV를 state cache와 KV cache로 나누고, 공유 prefix는 disk에 저장하는 system 설계까지 함께 들어간 이유다.
1M context는 어떻게 학습했나
두 모델은 짧은 context로 시작해 training sequence를 단계적으로 늘렸다.
4K → 16K → 64K → 1M
짧은 context 모델에 inference-time extrapolation만 붙인 것이 아니다. Flash는 32T, Pro는 33T token으로 pre-train했고, long-context 단계에서 indexer와 sparse attention을 순차적으로 도입했다.
Post-training에서는 수학, 코딩, agent 등 domain specialist를 각각 만든 뒤 10개가 넘는 teacher의 분포를 On-Policy Distillation로 하나의 모델에 합친다. Reasoning effort도 budget에 따라 조절하도록 학습한다.

효율 수치의 단위
보고서가 강조하는 1M context 효율은 DeepSeek-V3.2 대비 추정치다.
| 모델 | Single-token inference FLOPs | 누적 KV cache |
|---|---|---|
| V4-Flash | 10% | 7% |
| V4-Pro | 27% | 10% |
이는 end-to-end latency, throughput, 전력, 전체 serving cost가 같은 비율로 줄었다는 뜻이 아니다. 압축 attention의 계산량과 cache 크기를 비교한 지표다. 실제 서비스 성능에는 expert 통신, kernel 효율, batch, disk cache가 함께 영향을 준다.
긴 context 결과 읽기
V4는 1M context를 입력으로 받을 수 있고, long-context retrieval 평가에서도 강한 결과를 보였다.

하지만 “1M 입력 지원”, “1M에서 특정 정보를 찾음”, “1M 전체를 깊게 추론함”은 다른 주장이다. 보고서에서도 128K 이후 일부 평가의 성능 하락이 보인다. 최대 context 숫자만으로 모든 위치의 동일한 reasoning 품질을 가정하면 안 된다.
남은 질문
- HCA가 128 token을 하나로 줄일 때 세부 사실과 순서를 얼마나 보존하는가
- CSA indexer의 top-k recall이 최종 task accuracy와 어떻게 연결되는가
- CSA와 HCA 비율을 바꾼 quality-efficiency curve는 어떤 모양인가
- mHC와 Muon 각각의 전체 모델 기여는 얼마인가
- Preview 이후 checkpoint가 어떤 약점을 고쳤는가
DeepSeek-V4에서 주목할 부분은 1M이라는 숫자보다 architecture와 system을 같은 문제로 다뤘다는 점이다. 압축된 전역 기억, 원본 local window, MoE 통신과 cache 구조를 함께 설계해야 긴 context가 실제 모델로 작동한다.
댓글남기기