DeepInfer: DeepSeek 추론 엔진의 공개 범위와 성능을 읽는 법
DeepInfer의 새 한국어 해설을 원문과 대조해, 공개된 오프라인 엔진과 비공개 운영 계층을 나누고 성능 수치의 조건을 설명합니다.
쉽게 말하면비유하자면 큰 식당이 주방의 조리 기계는 내놓았지만, 손님을 나눠 받는 방식과 미리 해 둔 준비물을 보관하는 창고는 내놓지 않은 것과 같다. 답을 만드는 속도 그래프도 정해 둔 가정으로 환산한 값이라, 실제 영업에서 잰 실적과는 다르다.
- 왜 봐야 하나
- 공개된 것은 한 모델과 두 하드웨어 계열에서 도는 오프라인 추론 엔진이다. 온라인 서비스 전체가 아니다. 쓰려는 팀은 같은 입력과 묶음 크기에서 기준 엔진과 견주고, 초안이 받아들여진 비율도 따로 재야 그래프의 가정이 자기 작업에 맞는지 알 수 있다.
DeepInfer는 DeepSeek-V4.1-Flash의 대규모 서비스에 쓰이는 추론 프레임워크다. 이번 공개 범위는 오프라인 추론이며, NVIDIA SM100과 Huawei Ascend 950을 지원한다. 온라인 서비스의 KV 캐시 저장소와 부하 분산기까지 모두 공개한 것은 아니다. 이 해설은 새 한국어 커뮤니티 글과 공식 README·배포 Q&A·그래프 코드를 함께 읽어, 병렬화와 추측 디코딩의 원리, 처리량 수치의 조건을 설명한다. 한국어 글의 게시일은 엔진의 최초 공개일과 구분해야 한다.
알아낸 것
- 공개된 엔진은 DeepSeek-V4.1-Flash의 오프라인 추론을 지원하며, 서비스의 캐시·분리 배포·부하 분산 전체가 공개된 것은 아닙니다.
- 초안 토큰의 검증 길이와 전문가 배치를 조절해 처리량을 높이지만, 동시 요청 수에 따라 이득과 손해가 달라집니다.
- 공개 디코딩 그래프는 고정된 초안 길이와 수락률 가정으로 환산한 값으로, 실제 서비스의 모든 요청에서 측정한 처리량과 다릅니다.
한계와 주의할 점
- 10월 21일에 게시된 새 종합 해설입니다. 저장소 초기 README 커밋은 10월 20일이며, 공개 전환 시각 자체는 별도로 확정하지 않았습니다.
- 지원 모델·하드웨어가 제한되고 온라인 API 서버 전체를 제공하는 패키지는 아닙니다.
- 운영 규모와 매출은 회사 자체 보고이고, 다른 엔진보다 빠르다는 동일 조건 비교를 확인한 것은 아닙니다.
용어 풀이
- MoE (Mixture-of-Experts)
- 여러 전문가 신경망 중 입력에 필요한 일부를 선택해 계산하는 모델 구조다. 큰 전체 파라미터 규모와 실제 토큰당 연산량은 같지 않다.
- KV 캐시 (Key-Value Cache)
- 트랜스포머 모델이 이전 토큰의 키와 값을 저장해 두는 메모리. 같은 입력을 다시 계산하지 않도록 하여 추론 속도를 높인다.
- EP (Expert Parallelism)
- MoE 모델의 전문가들을 여러 GPU에 나누어 배치하는 병렬화 기법. EP64는 64개의 GPU가 전문가를 나눠 가진다는 뜻이다.
- DP (Data Parallelism)
- 여러 요청이나 데이터를 병렬 복제본에 나눠 처리하는 방식이다. Q&A의 운영 구성에서는 어텐션의 DP와 MoE의 EP 크기를 맞춘다. 모든 지원 설정에서 두 크기가 같아야 한다는 뜻은 아니다.
- SWA (Sliding-Window Attention)
- 최근 일정 범위의 토큰만 보는 어텐션 방식. DeepSeek-V4.1-Flash는 전역 어텐션과 SWA를 함께 사용한다.
- DSpark
- DeepSeek의 추측 디코딩 방식이다. 이 글의 가변 길이 실험은 초안 5개에서 확인할 앞부분을 고르는 조건이고, 별도 처리량 그래프는 초안 3개를 고정한 조건이다.
- EPLB (Expert-Parallel Load Balancer)
- 자주 호출되는 전문가의 복제본을 여러 GPU에 배치해 특정 GPU에 일이 몰리는 현상을 줄이는 기법이다.
- 배치 불변 추론
- 배치 구성이 달라도 모델 결과를 똑같이 유지하는 기능. NVIDIA에서만 동작하며 DEEPINFER_BATCH_INVARIANT=1로 켠다.
더 깊이 읽기 읽는 데 약 6분
배경과 문제
큰 전문가 혼합(MoE) 모델을 많은 사용자에게 서빙하려면 계산 커널만 빨라서는 부족하다. GPU 간 통신, 요청 스케줄링, 이전 계산을 저장하는 KV 캐시가 함께 처리량을 좌우한다. DeepSeek은 FlashMLA·DeepEP·DeepGEMM 같은 부품을 공개해 왔고, DeepInfer는 이들을 추론 엔진으로 연결한 구조를 보여준다.
엔진에는 분산 추론, 초안 토큰을 먼저 만든 뒤 본 모델로 확인하는 추측 디코딩, 비동기 스케줄링 등이 들어 있다. 회사는 vLLM을 바탕으로 시작했고 SGLang·TensorRT-LLM에서도 아이디어를 얻었다고 설명한다. 공개된 엔진의 구성과 회사가 실제 운영하는 서비스 전체는 구분해야 한다.
기존 접근의 한계
README와 Q&A에는 동일한 하드웨어·요청 조건에서 DeepInfer를 vLLM 또는 SGLang과 비교한 성능표가 없다. 회사가 운영에 쓴다는 사실만으로 모든 환경에서 더 빠르다고 결론낼 수 없다. 공개 엔진은 V4.1-Flash 단일 모델과 명시된 두 하드웨어 계열을 대상으로 하며, 일반적인 API 서버 대체품으로 바로 간주할 수 없다.
커뮤니티 글은 대안 엔진의 모델 지원과 사용법도 비교하지만, 이 해설에서 각 대안의 최신 코드와 버전별 호환성을 별도로 확인한 것은 아니다. 비교의 출발점은 필요한 모델·하드웨어·온라인 기능이다. 공식 Q&A에 설명된 운영 설정도 미공개 서비스 구성 요소를 포함하므로 그대로 복사하면 같은 시스템이 완성되는 설정 모음은 아니다.
구현 방식을 단계별로
어텐션 부분은 데이터 병렬화(DP)와 컨텍스트 병렬화(CP), MoE 부분은 전문가 병렬화(EP)와 전문가 부하 분산(EPLB)을 지원한다. EP64는 전문가를 나누는 병렬 그룹의 크기를 뜻한다. 운영 Q&A에서는 입력을 읽는 프리필에 EP2~8/DP2~8, 다음 토큰을 만드는 디코드에 EP64~128/DP64~128을 쓴다고 설명한다. CP를 지원한다는 것과 현재 운영에서 TP·CP를 사용하지 않는다는 설명은 서로 다른 이야기다.
SWA 바운디드 리플레이는 캐시에 없는 슬라이딩 윈도우 어텐션 상태를 적은 계산으로 근사 복원한다. V4.1-Flash의 디코더 상태를 정확히 복원하려면 마지막 2,560토큰을 20개 디코더 층에 다시 통과시켜야 한다. 대신 최근 128토큰만 재계산하고 주의를 기울이는 범위도 그 안으로 자른다. 회사는 이 설계로 전체 프리필 계산이 거의 절반이 됐다고 설명한다. 정확 복원과 같은 값이라는 보장이나 서비스 응답 시간이 절반이라는 뜻은 아니다.
결과와 숫자의 의미
공식 프리필 그래프는 SM100 GPU 4개, EP4DP4, 문맥 131,072토큰, 디코더 바운디드 리플레이 140토큰 조건이다. DP 랭크당 배치가 4,096토큰이면 스텝당 약 68ms와 GPU당 초당 약 6만 토큰, 65,536토큰이면 약 730ms와 약 9만 토큰이다. 그래프에서 읽은 근삿값이며, 큰 배치가 전체 처리량을 높여도 한 스텝의 지연은 길어진다. 사용자의 답변 한 개가 완성되는 시간과도 다르다.
디코드 그래프는 EP64DP64와 EP8DP8을 비교한다. 랭크당 64요청에서 전자는 GPU당 약 15,700토큰/초와 사용자당 약 246토큰/초, 후자는 약 12,700과 198이다. 여기에는 초안 길이 3, 토큰별 수락률 75%라는 가정이 들어간다. plot_pareto.py는 측정된 초당 스텝 수에 1+3×0.75=3.25를 곱한다. 따라서 실제 요청에서 받아들여진 출력 토큰을 직접 센 성능이 아니라, 측정된 실행 속도를 가정 아래 환산한 값이다.
구체적인 예시
DSpark의 가변 길이 검증은 초안의 모든 토큰을 매번 확인하지 않는다. 신뢰도 헤드가 각 토큰의 수락 가능성을 예측하고, 하드웨어 처리량 곡선과 함께 검증할 앞부분 길이를 고른다. Q&A의 별도 EP64/DP64 실험은 초안 5개를 고정 검증하는 조건과 비교한다. 랭크당 동시 시퀀스가 16이면 추정 이득이 −1.5%, 60이면 +5.4%, 96이면 +11.0%였다. 작은 배치에서는 오히려 손해이며, 이 표를 앞의 초안 3개·수락률 75% 그래프와 섞으면 안 된다.
배치 불변 추론은 요청을 묶는 방식이 달라도 결과를 유지하려는 기능으로 NVIDIA에서만 제공된다. 결정적 샘플링에는 배치 불변 옵션, 가변 길이 검증 비활성화, 고정된 시퀀스 시드가 함께 필요하다. 구조화 출력은 정규식이나 JSON 스키마 같은 제약으로 허용 토큰을 제한한다. 이런 기능은 재현과 형식을 돕지만, 답의 사실성이나 모든 플랫폼에서 같은 출력을 보장하는 기능은 아니다.
한계와 오해하기 쉬운 점
공개 범위에는 온라인 KV 캐시 시스템, 비전 인코더·프리필·디코드를 나눈 배포를 연결하는 구성 요소, 데이터 병렬 복제본 사이의 부하 분산이 빠져 있다. 회사가 권장한 64프리필+64디코드 규모는 효율적인 배포 단위이지, 작은 실험조차 그보다 적은 GPU로 실행할 수 없다는 최소 요구사항은 아니다. 공개 FlashMLA의 일부 수작업 SASS 최적화도 빠져 있어 회사 내부 코드와 성능이 완전히 같지 않을 수 있다.
하루 155조 토큰과 GPU 시간당 38달러는 회사가 밝힌 운영 지표다. 38달러는 할인 시간대 가격을 적용한 매출이며 비용·이익·사용자 API 요금이 아니다. Q&A의 대규모 3FS 저장소와 캐시 수명 역시 운영 설계이며 공개 오프라인 엔진에 자동으로 포함되지 않는다. 이번 검토는 원문과 그래프의 대조이고, 해당 클러스터나 성능을 직접 재현한 검증은 아니다.
실제로 어떻게 활용할까
활용하려는 팀은 먼저 지원 하드웨어와 모델에서 오프라인 실행을 시험하고, 같은 입력·출력 길이와 배치에서 기준 엔진을 비교할 수 있다. 프리필 스텝 지연, 입력 처리량, 디코드 속도, 수락률을 따로 기록해야 그래프의 환산 가정이 실제 작업에도 맞는지 알 수 있다. 이는 공개된 측정 구조에서 도출한 활용 방향이며 새로 수행한 벤치마크 결과는 아니다.
예를 들어 긴 문서를 한 번에 읽히는 작업과 짧은 요청을 많이 처리하는 서비스는 유리한 배치·병렬화가 다를 수 있다. KV 재계산을 줄이는 근사 기법을 켰다면 속도뿐 아니라 자신의 평가 문제에서 출력도 확인해야 한다. DeepInfer의 가치는 특정 모델의 운영 설계를 구체적으로 살펴볼 수 있다는 데 있고, 온라인 서비스 구축이나 비용 절감이 자동으로 해결된다는 데 있지는 않다.
원문에서 확인한 근거 6곳
- DeepInfer는 DeepSeek-V4.1-Flash의 대규모 운영 서비스를 실제로 구동하는 추론 프레임워크이며, 이번 공개 범위는 오프라인 추론이다.This open-source release provides offline inference
- DeepSeek은 단일 클러스터가 하루 155조 토큰을 처리하며 할인 시간대 가격 기준 GPU 시간당 매출이 38달러라고 자체 보고했다.A single cluster currently serves
- 프리필 단계의 EP4DP4 구성에서 배치가 4,096 토큰이면 스텝당 약 68ms가 걸리고, GPU당 초당 약 6만 토큰을 처리한다.DeepInfer 프리필 벤치마크
- 디코드 그래프 코드는 고정 초안 길이와 수락률을 사용해 측정된 초당 스텝 수를 출력 토큰 속도로 환산한다.def decode_tau
- SWA 바운디드 리플레이는 최근 128개 토큰만 다시 계산하고, 어텐션 윈도우도 그 128개 토큰 안으로 잘라서 근사적인 SWA KV 캐시를 만든다.SWA bounded replay
- DSpark 가변 길이 검증은 랭크당 동시 시퀀스 수가 60일 때 고정 5개 검증 대비 처리량 이득이 5.4%로 추정된다.dynamic vs. fixed-5 gain
10월 23일(금) 정리 · AI가 쓰고 원문과 대조
AI 목록