DeepInfer Field Notes 독립 / 팬 제작
한계 / 2026.10

DeepInfer의 한계: KV cache, PD, 그리고 실행 가능한 범위

출시 헤드라인은 DeepSeek가 추론 엔진을 오픈소스로 공개했다고 말합니다. DeepInfer README에서 실제로 중요한 문장은, 완전한 V4.1-Flash 추론 서비스에는 이번 릴리스에 없는 세 가지가 더 필요하다는 것입니다. 그것이 무엇이고, 왜 중요하며, 만들려면 무엇이 드는지 정리했습니다.

배포 분석/읽는 시간 12분/README + Q&A

DeepInfer는 오프라인 추론 엔진이며 호스팅 API나 모델이 아닙니다. 이번 릴리스에는 완전한 온라인 서비스에 필요한 KV cache 시스템, 프리필/디코드 분리, 데이터 병렬 로드 밸런싱이 포함되지 않았습니다. DeepSeek-V4.1-Flash를 서빙하며, 이 빈틈은 README가 직접 밝힌 목록입니다.

빠진 세 가지

1. KV cache 시스템

모든 요청은 KV cache를 만듭니다. 모델이 프롬프트에 대해 이미 계산해 둔 키와 값입니다. 같은 프리픽스가 다시 등장하면 — 긴 시스템 프롬프트, 여러 턴의 에이전트 이력, 공유 문서 — 캐시를 재사용해 다시 계산하는 일을 피할 수 있습니다. 규모가 커질수록 프리픽스 캐시 적중률은 비용과 첫 토큰 지연 시간을 좌우하는 가장 큰 레버 중 하나입니다.

실제 KV cache 시스템은 GPU 메모리에 있는 딕셔너리가 아닙니다. 다음이 필요합니다.

  • 축출과 TTL을 갖춘 스토리지 계층(HBM, 호스트 메모리, SSD),
  • 로컬뿐 아니라 머신을 넘어 프리픽스를 찾는 방법,
  • 연산과 겹쳐 실행되는 전송 경로,
  • 장애 허용. 컴퓨트 노드가 스토리지 노드보다 자주 고장 나기 때문입니다.
  • 로드 밸런서와 충돌하지 않는 라우팅 정책.

DeepSeek의 프로덕션 설계를 보면 규모를 가늠할 수 있습니다. 약 100 PiB SSD를 갖춘 전용 3FS 클러스터, 10+2 이레이저 코딩, 에이전트 트래픽 3일·챗봇 트래픽 7일 TTL, GPU당 약 14.4 TB의 논리 KV, 8개 GPU당 약 400 Gbps 인터커넥트입니다. 어느 것도 릴리스에는 없습니다.

2. VE / 프리필 / 디코드 분리

릴리스는 “필요한 엔진 기능 대부분이 이미 구현되어 있다”고 말하지만, 완전한 분리 방식은 포함되어 있지 않습니다. 프로덕션에서는 비전 인코더, 프리필 풀, 디코드 풀이 각각 다른 머신에서 다른 확장 정책으로 돌아갑니다. 어려운 부분은 인계입니다. 풀 사이로 KV cache를 옮기고, 요청을 알맞은 프리필 엔진으로 보내고, 디코드 점유율을 균형 있게 유지해야 합니다.

이것이 없어도 오프라인 배치는 돌릴 수 있습니다. 다만 DeepSeek의 온라인 서비스 형태를 재현할 수는 없습니다.

3. 데이터 병렬 복제본 간 로드 밸런싱

DeepSeek는 프리필, 디코드, 비전 인코더, 전문가 병렬화에 각각 별도의 밸런서를 씁니다. 프리필 밸런서는 요청을 컨텍스트 길이로 나누고 남은 연산 할당량을 기준으로 라우팅합니다. 디코드 밸런서는 요청 수와 전체 KV 길이를 함께 고려합니다. 전문가 밸런서는 붐비는 전문가를 GPU 사이에서 옮깁니다. Q&A에 따르면 그 결과는 완벽하게 균형 잡힌 오프라인 벤치마크의 약 80% 수준에 도달합니다.

마지막 숫자는 현실 점검에 유용합니다. DeepSeek의 프로덕션 시스템조차 오프라인 벤치마크 처리량의 약 80%에만 도달합니다. 단순한 라운드 로빈 라우터가 더 잘하기는 어렵습니다.

실질적인 결과

DeepInfer를 내려받아 examples/offline_inference.py를 실행하면, DeepSeek의 커널과 스케줄링을 갖춘 배치 엔진을 돌리는 것입니다. DeepSeek의 서비스를 돌리는 것은 아닙니다. 차이는 위의 세 가지, 그리고 어떤 서비스에나 필요한 API 계층, 인증, 할당량, 과금, 관측성입니다.

경계가 그어진 이유

2025년 4월, DeepSeek는 추론 엔진 전체를 오픈소스로 공개하지 않는 이유를 설명했습니다. 코드가 오래된 vLLM을 크게 수정한 포크였고, 내부 클러스터 관리와 결합되어 있었으며, 팀에 대형 오픈소스 프로젝트를 유지할 여력이 없었습니다. 계획은 독립 라이브러리를 추출하고 최적화를 업스트림에 기여하는 것이었습니다.

DeepInfer는 방향을 뒤집은 것이 아니라 그다음 단계입니다. 연산과 스케줄링 경로 — 커널, 병렬화, 추측 디코딩, 캐시 복구, 구조화된 출력 — 를 열고, 내부 인프라와 가장 강하게 결합된 부분은 남겨 두었습니다. 스토리지 시스템, 머신 간 분리, 프로덕션 로드 밸런서입니다.

일관된 경계입니다. 동시에 “오픈소스 프로덕션 엔진”이라는 표현에는 단서가 필요하다는 뜻이기도 합니다. 엔진은 열려 있고, 그 주변의 서비스는 열려 있지 않습니다.

실제로 실행할 수 있는 사람

DeepInfer는 NVIDIA SM100 GPU와 Huawei Ascend 950 NPU를 지원하지만, DeepSeek가 공개한 성능 차트는 NVIDIA 하드웨어만 다룹니다. Ascend가 지원되지 않는 것은 아니고, 공개적으로 측정되지 않았을 뿐입니다.

당신은…사용할 수 있나?필요한 것
SM100 GPU를 보유한 클라우드 사업자나 연구소예, 오프라인 추론과 맞춤 서빙에 사용할 수 있습니다SM100 클러스터, Linux/CUDA 13/Python 3.12 빌드, 그리고 자체 KV cache와 로드 밸런싱 계층
Ascend 950 NPU를 운영하는 조직원칙적으로 가능CANN 9.2 빌드. 성능과 안정성은 직접 검증해야 합니다. DeepSeek는 Ascend 처리량 데이터를 공개하지 않았습니다
둘 중 하나에 접근할 수 있는 성능 엔지니어예, 참조 구현으로 쓸 수 있습니다커널과 스케줄러를 읽고, 소규모 오프라인 실험을 돌려 보세요
오늘 당장 OpenAI 호환 API가 필요한 팀그대로는 불가API 계층을 이미 제공하는 서빙 프레임워크를 쓰거나, DeepInfer 위에 직접 구축하세요
다른 모델을 서빙하는 팀아니요V4.1-Flash만 지원합니다
소비자용 GPU를 가진 개인아니요SM100 / Ascend 950이 명시된 대상입니다. 로컬 V4.1 실험은 별도 양자화 프로젝트를 사용합니다

직접 만들어야 하는 것

DeepInfer를 서비스로 만들고 싶다면 다음을 예산에 넣어야 합니다.

  • KV cache 서비스: 프리픽스 매칭, 계층형 스토리지, 머신 간 전송, TTL/축출, 장애 허용.
  • 프리필/디코드 라우팅: 분리된 풀, KV 인계, 용량 계획, 오토스케일링.
  • 로드 밸런싱: 프리필은 연산 할당량과 컨텍스트 길이 기준, 디코드는 요청 수와 KV 길이 기준, 전문가 재배치.
  • API 계층: Chat Completions / Responses / Messages, 스트리밍, 도구 호출, 구조화된 출력, 오류 처리.
  • 테넌시와 운영: 인증, 할당량, 과금, 속도 제한, 트레이싱, 메트릭, 로그, 카나리 배포.
  • 평가: 실제 워크로드에서 품질, 지연 시간, 비용에 대한 회귀 테스트.

DeepSeek의 deepseek-recipe는 API 계층 중 프로토콜/토큰화 부분을 돕습니다. 서버, 인증, 과금, KV cache를 제공하지는 않습니다.

대안, 우열 없이

V4.1-Flash를 서빙하는 것이 목표라면 DeepInfer만이 답은 아닙니다. 무엇을 이미 운영하고 있고 무엇을 통제해야 하는지에 따라 선택이 달라집니다.

옵션주는 것확인할 것
vLLM폭넓은 모델 지원과 OpenAI 호환 API를 갖춘 성숙한 서빙 스택. 블로그에 V4.1-Flash 최적화가 설명되어 있습니다공개된 최적화가 여러분의 하드웨어와 워크로드에 맞는지
SGLang자체 V4.1-Flash 커널 작업을 갖춘 고성능 런타임. 프로젝트는 4×GB300에서 DSpark를 쓰고 BS=1일 때 873.63 tokens/s를 보고합니다벤치마크 조건. DeepInfer와의 비교는 아닙니다
TensorRT-LLMNVIDIA의 서빙 스택. NVIDIA 하드웨어에서 강점이 있습니다모델 지원과 엔진 빌드 복잡도
LMDeployInternLM의 서빙 툴킷. DeepSeek V3/R1과 PD 분리가 문서화되어 있고, PyTorch 엔진을 통해 OpenAI API와 Ascend를 지원합니다V4.1-Flash 지원, 엔진 선택(TurboMind vs PyTorch), 하드웨어
TGIOpenAI 호환 Messages API를 갖춘 Hugging Face의 서빙 툴킷유지보수 모드입니다. 새로운 V4.1-Flash 지원을 가정하지 마세요
XinferenceOpenAI API, 함수 호출, 분산 워커, 여러 백엔드를 갖춘 멀티 모델 플랫폼어떤 백엔드가 V4.1-Flash를 서빙할 수 있는지, 그리고 그 아키텍처를 지원하는지
NVIDIA DynamovLLM/SGLang/TensorRT-LLM 위의 오케스트레이션. PD 서빙, KV 인식 라우팅, KVBM엔진이 아닙니다. V4.1 지원은 백엔드에 달려 있습니다
llama.cpp / Ollama양자화 모델을 위한 로컬·엣지 런타임. 데스크톱과 프로토타이핑에 유용합니다V4.1-Flash 데이터센터 엔진이 아닙니다. 모델 지원과 메모리는 다른 문제입니다
MLC-LLMNVIDIA, AMD, Apple, Intel, 모바일을 아우르는 컴파일러 기반 런타임V4.1을 지원하려면 호환되는 컴파일 모델이 필요합니다
DeepInferV4.1-Flash를 위한 DeepSeek의 프로덕션 기반 커널과 스케줄링빠진 서비스 계층, SM100/Ascend 950 하드웨어

우리는 이들을 순위로 매기지 않습니다. vLLM과 SGLang은 이미 API 계층과 폭넓은 채택을 갖고 있고, DeepInfer는 DeepSeek의 프로덕션 튜닝과 좁은 범위를 갖고 있습니다. 다음 주에 API가 필요한 팀이라면 KV cache 서비스부터 만들기 시작해서는 안 됩니다.

선택 가이드

  • DeepInfer를 쓰세요: SM100 또는 Ascend 950 하드웨어가 있고, DeepSeek의 서빙 최적화를 연구하거나 재현하고 싶고, 서비스 계층을 직접 구축할 준비가 되어 있다면.
  • vLLM/SGLang을 쓰세요: 지금 바로 서빙 API가 필요하거나, 폭넓은 모델 지원이 필요하거나, KV cache와 라우팅 스택을 직접 소유하고 싶지 않다면.
  • 기다리세요: Ascend 성능 데이터, 프로덕션 동등성, 또는 DeepSeek가 지원하는 온라인 서빙 경로가 필요하다면.
  • 쓰지 마세요: 소비자용 GPU를 쓰거나, 다른 모델이 필요하거나, 바로 쓸 수 있는 OpenAI 호환 엔드포인트를 기대한다면.
핵심 정리

DeepInfer는 경계를 솔직하게 밝힌 탄탄한 엔진 릴리스입니다. 가치는 코드와 프로덕션 노트에 있고, 위험은 엔진을 서비스로 착각하는 데 있습니다. 벤치마크 차트보다 README의 “미포함” 목록을 먼저 읽으세요.

다음: 프로덕션 격차 자세히 보기, 또는 짧은 답변.

↑