KV 캐시를 토큰당 890바이트로 압축한 552B 멀티모달 MoE, DeepSeek-V4.1-Flash

DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression

HF Daily2609.19969

DeepSeek-AI, Anyi Xu, B. Li2026-09-17조회 6

무엇인가

이 논문이 푸는 문제는 장기 호라이즌(long-horizon) 에이전트가 만든 입력 중심 워크로드의 서빙 비용이다. 도구 호출이 잦은 에이전트는 매 턴마다 긴 프롬프트를 다시 프리필하고, 그 과정에서 생긴 KV 캐시를 재사용·저장·전송해야 한다. DeepSeek-V4는 전체 문맥을 보는 전역 어텐션 브랜치와 국소 슬라이딩 윈도 어텐션(SWA)을 결합했는데, SWA KV는 윈도 크기로 상한이 정해지는 반면 전역 KV는 시퀀스 길이에 따라 계속 커져 HBM 용량을 압박한다. 프리픽스 재사용을 위해 SSD나 호스트 메모리에 남겨두는 영속 KV 캐시는 별도로 SSD 용량과 I/O·인터커넥트 대역폭을 잡아먹는다. 저자들은 이 계산·저장·대역폭 제약이 배포 비용을 더 낮추는 데 있어 1차 병목이라고 규정한다.

어떻게 동작하나

핵심 구조는 Causal Encoder-Decoder(CED)다. 언어 백본은 40개 인과 트랜스포머 레이어로 이루어지고, 앞 20개가 인과 인코더, 뒤 20개가 디코더다. 첫 두 레이어를 제외한 각 레이어는 전역 어텐션과 SWA를 함께 쓴다. 전역 어텐션에서 디코더 레이어 l > L/2의 KV는 자기 은닉 상태가 아니라 인코더 마지막 레이어의 은닉 상태 H_{L/2}에서 레이어별 투영 가중치로 직접 만들어낸다: C_l = H_{L/2} W_l^{KV}, Z_l = H_{L/2} W_l^{Z}. 그래서 프리필 때는 앞 절반 레이어만 계산하면 되고, 토큰당 활성 파라미터가 프리필 8B, 디코드 16B로 갈린다. 길이 N이 윈도 크기보다 훨씬 클 때 프리필 복잡도는 O(NL)에서 O(NL/2 + n_win × L/2) ≈ O(NL/2)로 줄어든다. SWA는 레이어마다 자기 은닉 상태로 국소 KV를 만들어 국소 KV 생성의 계산 깊이를 유지한다.

무엇과 다른가

캐시 압축은 Compressed Sparse Attention 2(CSA2)가 맡는다. 각 CSA2 레이어는 Full, Reindex, Reuse 세 모드 중 하나로 정적으로 배정된다. Full 모드는 자기 main KV와 indexer Q를 계산하고 main KV에서 indexer K를 투영해 Top-K 인덱스를 새로 뽑는다. Reindex 모드는 앞선 레이어의 main KV와 indexer K를 재사용하되 자기 indexer Q로 다시 점수를 매겨 Top-K를 갱신한다. Reuse 모드는 main KV와 Top-K 인덱스까지 그대로 물려받아 인덱싱 없이 어텐션만 수행한다. 세 모드 모두 자기 전역 Q와 SWA KV는 따로 갖는다. DeepSeek-V4가 CSA와 HCA를 섞은 하이브리드였던 것과 달리 V4.1-Flash는 순수 CSA2를 쓴다. 압축기와 인덱서도 단순해져, CSA가 인접 압축 엔트리끼리 원본 KV를 겹쳐 쓰고 절대 위치 임베딩을 넣던 것을 CSA2는 제거했고 indexer K도 별도 경로 대신 main KV에서 투영한다. 여기에 전역 KV를 FP4로 캐싱해, HBM에 항상 상주하는 전역 KV 캐시를 토큰당 890바이트, 즉 DeepSeek-V4-Flash의 약 1/4로 줄였다. 디코더에서는 Hierarchical Sparse Indexer가 첫 Full 모드 레이어에서 후보 풀을 만들어 이후 Reindex 레이어의 탐색 범위를 제한한다. 예를 들어 8개 위치짜리 블록 2,048개를 고르면 16,384개 후보 위치가 되고, 이후 인덱서가 질의당 채점하는 위치 수는 문맥 길이와 무관하게 상수가 된다. 다만 첫 Full 모드 레이어는 여전히 전체 인과 가시 범위를 훑는다.

어떻게 쓰나

배포 단계 최적화로 SWA Bounded Replay가 있다. DeepSeek-V4는 SWA KV를 영속화하는 비용과 정확한 재구성 비용 사이에서 하이브리드 전략을 썼고, 정확한 재구성에는 최근 L × n_win 토큰을 리플레이해야 했다. V4.1-Flash는 최근 n_win 토큰만 리플레이해 SWA KV 상태를 근사 재구성하며, 실험상 성능 저하가 무시할 수준이라고 저자들은 밝힌다. 이로써 SWA KV를 SSD에 영속화하지 않아도 되고, 영속 KV 캐시 풋프린트가 DeepSeek-V4-Flash의 약 1/8로 줄어든다. 그 밖에 원래 m HC 설계를 Single-Pass m HC로 바꾸고 Mega-m HC 배포 커널로 활성화 메모리 트래픽을 기존 4커널 구현 대비 절반으로 줄였으며, Engram 조건부 메모리 모듈과 DSpark 추측 디코딩(반자기회귀 드래프트 생성 + 신뢰도 기반 검증 스케줄링)을 넣었다. 그 결과 CSA2 Reuse 모드 레이어는 프리필에서 커널 15개, 디코드에서 11개만 실행하고, 문맥 길이를 4K에서 1M으로 256배 늘려도 단일 토큰 디코드 FLOPs는 1/4만 증가한다.

전제와 한계

사전학습은 45T 토큰 규모의 멀티모달 코퍼스에서 진행했고, 희소 어텐션을 64K 시퀀스 길이에서 처음부터 학습하며 dense 어텐션 워밍업 단계를 두지 않았다. 비전 쪽은 임의 해상도를 위해 절대 위치 임베딩 대신 2D-RoPE를 쓰고, 패치 임베딩의 합성곱을 선형 투영으로 바꾸며 RMSNorm과 SwiGLU를 채택한 DeepSeek-ViT를 새로 학습했다. 3×3 픽셀 언셔플로 시각 토큰 수를 9분의 1로 줄여 약 1344×1344 해상도까지 지원한다. MoE 라우팅에서는 텍스트와 이미지 토큰에 별도의 전문가 보정 편향을 유지하는 모달리티별 무손실 부하 균형을 쓴다. 베이스 모델인 DeepSeek-V4.1-Flash-Base는 전체 파라미터 1/3, 활성 파라미터 1/4만 쓰고도 DeepSeek-V4-Pro-Base와 비슷한 세계 지식·추론·코딩 성능을 내고 홀드아웃 평가에서 5~10% 개선을 보였다. 후속 학습은 SFT, RL, 온폴리시 증류라는 표준 파이프라인을 그대로 쓰고 알고리즘 변경 없이 데이터 파이프라인만 확장했다.

평가 수치는 명확하다. Codeforces 레이팅 3471로 DeepSeek-V4-Flash(3289)와 DeepSeek-V4-Pro(3348)를 모두 앞섰고, MathArena Apex Pass@1 65.6%로 Kimi-K3(65.6%)와 동률, DeepSeek-V4-Pro(65.3%)를 근소하게 넘었다. GPQA Diamond는 90.9%로 V4-Flash의 89.9%에서 올랐다. 에이전트 과제에서 상승폭이 더 크다. DeepSWE v1.1은 74.2%로 V4-Flash의 54.4%에서 크게 뛰어 Opus-5(74.0%)와 GPT-5.6 Sol(73.0%)을 넘었고, Terminal-Bench 2.1은 90.6%로 Opus-5(89.1%)와 GLM-5.3(88.2%)를 앞섰다. Automation-Bench 54.8%, Agents' Last Exam 31.8%도 오픈소스·폐쇄소스 최상위 시스템을 상회하는 점수로 제시된다. 추론 노력(reasoning effort) 설정도 공개했는데, 25에서 100으로 올리면 추론 집약 벤치마크 8종 평균 Pass@1이 67.1%에서 76.3%로, DeepSWE v1.1이 66.0%에서 74.2%로, Terminal-Bench 2.1이 82.4%에서 90.6%로 오르는 대신 출력 토큰이 약 2.5배 늘어난다. 60~80 구간에서 최대 설정 정확도의 대부분을 절반 이하 토큰 예산으로 회복하고, 100으로 가는 마지막 단계는 에이전트 궤적을 1.6~1.8배 늘리면서 개선은 미미하다고 논문은 적는다. 공개 API는 low, high, max를 각각 50, 75, 100에 대응시킨다. 스캐폴드 강건성도 확인했는데 Claude Code, Codex, OpenCode, Pi, mini-SWE, DeepSeek Harness(Minimal/Standard/PTC) 등 6개 계열 8개 구성에서 체크포인트와 디코딩 설정, 과제 집합을 고정하고 하네스만 바꿔 평가했다. 멀티에이전트 실험에서는 ProgramBench의 골든 172개 과제에서 Almost@1이 1시간 13.59%에서 8시간 30.04%까지 오르고(단일 에이전트는 12.79%에서 20.39%), FrontierSWE v2 Mean@5는 1시간 13.50%에서 20시간 32.90%까지 오른다(단일 에이전트는 10.50%에서 28.20%).

개발자 입장에서 이 논문의 실무적 의미는 장문맥 서빙의 병목을 연산이 아니라 캐시 상주 비용으로 재정의한다는 데 있다. 100만 토큰 문맥을 다루면서 HBM 상주 전역 KV를 토큰당 890바이트로 묶고, SSD·호스트 메모리에 남기는 영속 캐시를 1/8로 줄였다는 것은 같은 GPU·SSD 예산으로 더 많은 동시 세션과 더 긴 프리픽스 재사용을 노릴 수 있다는 뜻이다. 다만 이 이득은 공짜가 아니다. 프리필에서 8B만 활성화하는 대신 디코더 KV를 인코더 마지막 레이어에서 투영하는 구조를 받아들여야 하고, SWA Bounded Replay는 정확 재구성 대신 근사 재구성을 택해 프리필 재계산을 조금 지불한다. 자체 서빙 스택을 운영한다면 캐시 재개(cache resumption) 경계에서의 상태 재구성 정확도, CSA2의 Top-K 선택이 실제 워크로드에서 놓치는 항목이 없는지, 그리고 reasoning effort 프리셋이 자기 지연 예산과 맞는지를 먼저 측정하는 편이 좋다.

저자들이 명시한 한계는 다음과 같다. CSA2의 선택 오류와 SWA Bounded Replay의 근사 상태 재구성이 아직 검증되지 않은 경계 조건에서 성능 저하를 일으킬 수 있으며, 내부 평가에서 체계적 성능 하락은 관찰되지 않았지만 유한한 테스트 스위트가 모든 극단 입력과 배포 조건을 덮을 수는 없다고 밝힌다. 앞으로 장문맥 희소 검색과 캐시 재개 경계의 SWA 상태 재구성을 중점으로 스트레스 테스트를 확장하겠다고 한다. 또한 벤치마크 포화를 지적하며, 점수 차이가 좁다고 해서 폐쇄소스 최전선 시스템의 복잡하고 난도 높은 추론·엣지 케이스 능력까지 동등하다는 뜻은 아니라고 선을 긋는다. 과학 지향 에이전트 과제(Terminal-Bench 4.0 등)에서는 거대 모델과의 격차가 남아 있고, 멀티모달에서도 최상위 폐쇄소스 시스템과는 뚜렷한 전체 성능 격차가 있다고 인정한다. 멀티에이전트 결과에는 예비 실험이라는 단서도 붙는다.

관련 논문