26-2 DeepSeek DualPath 논문 발표
작성자의 핵심 판단
작성자는 Agentic AI 추론에서 KV Cache가 커질수록 SSD 기반 외부 스토리지를 효율적으로 쓰는 문제가 중요해지며, DualPath가 NAND 수요와 직간접적으로 연결되는 논문이라고 평가했다.
근거 보기 1
- 원문 구간 1
DRAM에 KV Cache를 캐싱해두면 SSD보다 빠르게 읽을 수 있습니다. Mooncake 계열 접근이 이런 방향입니다. 하지만 온라인 서빙처럼 거대한 추론 환경에서는 모든 KV Cache를 DRAM에 올려두면 너무 비쌉니다. 오프라인 RL 환경에서도 그렇습니다. DualPath는 대신 SSD 기반 외부 스토리지를 직접 활용하고, PE와 DE의 SNIC를 모두 동원해 읽기 대역폭을 균형 있게 씁니다. 실험에서 DeepSeek 기준 DualPath는 노드당 80GB DRAM을 사용했고, Qwen 32B처럼 KV Cache가 더 큰 모델에서는 320GB를 사용했습니다. 반면 SGL(MC)는 노드당 약 1.5TB DRAM을 사용했습니다. 상대적으로 GB당 훨씬 저렴한 SSD를 다루면서 NIC와 스케줄러로 병목을 줄이는 것이 핵심입니다.
이 자료에서 다룬 사실
- 딥시크가 베이징대·칭화대 컴퓨터공학과와 함께 Agentic LLM 추론의 스토리지 대역폭 병목을 다룬 DualPath 논문을 2026년 2월 26일 발표했다고 소개했다.
- 논문은 PE와 DE의 스토리지 NIC를 함께 쓰고, DE가 읽은 KV Cache를 CNIC를 통해 PE로 보내는 경로를 제시한다.
근거 보기 3
- 원문 구간 1
연구 결과와 함의점 : 검증 ⓐⓑⓒ, InfiniBand, Agent와 함께 올 SSD 수요 GPU가 놀고 있다? 문제와 배경 이해하기 Agentic AI 시대에 앞서 해결할 것들 딥시크가 베이징대와 칭화대 컴퓨터 공학과와 함께 연구하여, 2026년 2월 26일 DualPath를 발표했습니다. 전체는 <DualPath: Breaking the Storage Bandwidth Bottleneck in Agentic LLM Inference>입니다. 올해 초부터 계속해서 MoE 모델을 가지고 Agentic AI 워크로드를 추론할 때 어떻게 하면 KV Cache 처리를 더 잘 할 수 있을 것인가에 대해서 연구하는 자료가 많습니다. 엔비디아 CES 2026에서 처음 공개된 Context Memory Storage(2026. 01. 06), DeepSeek의 Engram(2026. 01. 12), 엔비디아 KVTC(2026. 02. 06), DeepSeek의 DualPath(2026. 02. 26), 애플의 AFM 3에서 NAND를 활용한 MoE 추론구조(2026. 06.
- 원문 구간 2
원래 PD 분리를 하면 PE가 외부 스토리지에서 KV Cache를 읽습니다. 따라서 PE의 SNIC에는 KV Cache 읽기 트래픽이 몰립니다. 반면 DE의 SNIC는 상대적으로 놀고 있습니다. 그런데 DE도 역할만 Prefill/Decode로 나누느라 그랬을 뿐 같은 엔비디아 서버이고, DE도 Storage NIC를 가지고 있습니다. 시스템 전체로 보면 사용할 수 있는 Storage NIC 대역폭이 남아 있는데 기존 구조는 이를 충분히 쓰지 못하는 구조였습니다. DualPath의 핵심 아이디어 Decode Engine으로 차선 뚫기, 난관 → 이를 해결하기 위한 방법 Decode Engine쪽 SNIC → CNIC → Prefill Engine으로 넘기는 차선을 새로 뚫는다 그래서 DualPath는 아예 KV Cache를 DE가 먼저 스토리지에서 읽은 뒤에 CNIC로 PE로 넘깁니다. 구조를 보시면, 기존: PE의 KV Cache 읽기 경로 : 스토리지 → PE의 SNIC → PE = ⓐ DE의 KV Cache 읽기 경로 : 없음
- 원문 구간 3
DualPath: PE의 KV Cache 읽기 경로 : 기존의 ⓐ 경로 + DE를 통해 CNIC로 전달받는 ⓑ 경로 DE의 KV Cache 읽기 경로 : DE의 SNIC → PE랑 DE를 잇는 CNIC를 통해 → PE에 전달 = ⓑ 이렇게 DE를 통해 읽는 경로가 추가되면, PE 쪽에만 몰려 있던 스토리지 I/O 부담이 PE와 DE로 분산됩니다. 풀어야 할 문제가 생긴다 물론 여기에는 주의할 점이 있습니다. DE가 읽은 KV Cache를 PE로 넘기려면 Compute Network를 써야 합니다. 그런데 Compute Network는 모델 실행 통신에도 사용됩니다. KV Cache 전송이 All-to-All 같은 중요한 모델 통신을 방해하면 안 됩니다. 이걸 어떻게 푸느냐가 DualPath 논문의 핵심입니다. 그래서 DualPath는 KV Cache 트래픽을 낮은 우선순위로 두고 모델 실행 통신을 높은 우선순위로 보호하는 방식의 트래픽 관리를 사용합니다. 쉽게 말하면, GPU끼리 꼭 해야 하는 모델 실행 통신이 먼저 지나가고, 그리고 KV Cache 전송은 남는 대역폭을 활용하는 구조입니다.
그렇게 판단한 이유
- 기존 PD 분리에서는 PE의 SNIC만 포화되고 DE의 SNIC는 유휴 상태여서, 읽기 경로를 분산하면 GPU가 데이터를 기다리는 시간을 줄일 수 있다고 설명했다.
- 실험에서 DeepSeek 기준 노드당 80GB, Qwen 32B에서는 320GB DRAM을 쓴 반면 SGL(MC)는 노드당 약 1.5TB DRAM을 사용했다고 비교했다.
근거 보기 3
- 원문 구간 1
기존 PD 분리 구조에서는 이미 연산해뒀던 KV Cache를 외부 스토리지에서 가져오는 일은 오직 PE만 하기 때문입니다. 스토리지에서 KV Cache를 가져오는 부담이 PE쪽 스토리지 NIC에 집중되고, DE도 자체 스토리지 NIC를 갖고는 있지만 기존 구조에서는 이 경로가 충분히 활용되지 않았었습니다. 결과적으로는 PE쪽 스토리지 NIC는 포화, DE쪽 스토리지 NIC는 유휴상태가 됩니다. GPU는 계산할 준비가 되어 있지만 PE쪽으로 KV Cache가 충분히 빨리 들어오지 않으니 대기 상태인 시간이 길어집니다. DualPath가 해결하려는 건 PD 분리 구조 내에서 KV Cache를 읽어오는 경로를 DE쪽으로도 만들려는 것입니다. 3. Layer-wise Prefill : 컨텍스트가 길어질 때 GPU-HBM 부족을 해결하기 위한 방식 LLM은 여러 개의 Transformer Layer로 구성되어 있고, 여러 층을 순서대로 통과하면서 계산이 진행됩니다. 일반적으로 Prefill에서 긴 컨텍스트를 읽어들일 때는 activation과 KV Cache 전체를 GPU HBM에 올려야 합니다.
- 원문 구간 2
원래 PD 분리를 하면 PE가 외부 스토리지에서 KV Cache를 읽습니다. 따라서 PE의 SNIC에는 KV Cache 읽기 트래픽이 몰립니다. 반면 DE의 SNIC는 상대적으로 놀고 있습니다. 그런데 DE도 역할만 Prefill/Decode로 나누느라 그랬을 뿐 같은 엔비디아 서버이고, DE도 Storage NIC를 가지고 있습니다. 시스템 전체로 보면 사용할 수 있는 Storage NIC 대역폭이 남아 있는데 기존 구조는 이를 충분히 쓰지 못하는 구조였습니다. DualPath의 핵심 아이디어 Decode Engine으로 차선 뚫기, 난관 → 이를 해결하기 위한 방법 Decode Engine쪽 SNIC → CNIC → Prefill Engine으로 넘기는 차선을 새로 뚫는다 그래서 DualPath는 아예 KV Cache를 DE가 먼저 스토리지에서 읽은 뒤에 CNIC로 PE로 넘깁니다. 구조를 보시면, 기존: PE의 KV Cache 읽기 경로 : 스토리지 → PE의 SNIC → PE = ⓐ DE의 KV Cache 읽기 경로 : 없음
- 원문 구간 3
DRAM에 KV Cache를 캐싱해두면 SSD보다 빠르게 읽을 수 있습니다. Mooncake 계열 접근이 이런 방향입니다. 하지만 온라인 서빙처럼 거대한 추론 환경에서는 모든 KV Cache를 DRAM에 올려두면 너무 비쌉니다. 오프라인 RL 환경에서도 그렇습니다. DualPath는 대신 SSD 기반 외부 스토리지를 직접 활용하고, PE와 DE의 SNIC를 모두 동원해 읽기 대역폭을 균형 있게 씁니다. 실험에서 DeepSeek 기준 DualPath는 노드당 80GB DRAM을 사용했고, Qwen 32B처럼 KV Cache가 더 큰 모델에서는 320GB를 사용했습니다. 반면 SGL(MC)는 노드당 약 1.5TB DRAM을 사용했습니다. 상대적으로 GB당 훨씬 저렴한 SSD를 다루면서 NIC와 스케줄러로 병목을 줄이는 것이 핵심입니다.