본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 05. 14. 02:50

DeepSeek-V4-Flash W4A16+FP8 with MTP self-speculation: 85 tok/s @ 524k on 2×

요약

DeepSeek-V4-Flash 모델을 2개의 RTX PRO 6000 Max-Q 환경에서 구동했을 때, 524k 컨텍스트 길이에서 85.52 tok/s의 높은 처리 속도를 달성했습니다. 이 과정에서 MTP 헤드 로딩 문제와 vLLM의 CustomAllreduce 사용 시 발생하는 데드락 문제를 해결하기 위해 `--disable-custom-all-reduce` 플래그를 반드시 적용해야 합니다. 또한, 최적의 성능을 위해서는 특정 NCCL 튜닝과 패치된 vLLM 포크 사용이 필수적입니다.

핵심 포인트

  • DeepSeek-V4-Flash는 524k 컨텍스트 길이에서 높은 처리 속도(85.52 tok/s)를 보여줍니다.
  • Max-Q 워크스테이션 환경에서는 CustomAllreduce로 인한 데드락을 방지하기 위해 `--disable-custom-all-reduce` 플래그 사용이 필수적입니다.
  • 최적의 성능과 안정성을 위해서는 패치된 vLLM 포크와 특정 NCCL 튜닝(NCCL_PROTO=LL 등)이 요구됩니다.
  • 모델 로드 시 MTP 헤드 관련 문제 해결 및 `--speculative-config` 설정에 주의해야 합니다.

요약 (TL;DR): DeepSeek-V4-Flash는 2개의 RTX PRO 6000 Max-Q에서 524k 컨텍스트 길이(ctx)에서 85.52 tok/s128k 단일 스트림에서 약 111 tok/s로 구동됩니다.

pasta-paul의 DeepSeek-V4-Flash-W4A16-FP8 양자화(quant)는 훌륭하지만, MTP 헤드가 로드 시점에 조용히 제거되는 문제(HF transformers has it in _keys_to_ignore_on_load_unexpected)가 있습니다. 따라서 `--speculative-config '{

만약 Max-Q 워크스테이션 카드를 사용한다면: 반드시 --disable-custom-all-reduce 플래그를 전달해야 합니다.

vLLM의 CustomAllreduce는 CUDA P2P(NCCL_P2P_DISABLE와 무관)를 사용하며, PCIe 전용 Max-Q 토폴로지에서는 post-graph eager warmup 단계에서 데드락에 빠집니다.

이 플래그가 없으면 엔진은 gpu_worker.py:619에서 무한한 shm_broadcast.py:681 No available shared memory broadcast block 경고와 함께 멈춥니다. Server 변형 버전에는 NVLink가 있어 이 문제가 발생하지 않습니다.

Max-Q에서 디코딩 TPS 비용을 0으로 유지하면서 TTFT를 약 155ms에서 약 91ms로 낮추는 NCCL 튜닝:

NCCL_PROTO=LL NCCL_ALGO=Ring NCCL_MIN_NCHANNELS=8 
NCCL_NTHREADS=512

실행 방법

패치된 vLLM 포크가 필요합니다. 기본(Vanilla) 버전으로는 DSV4-Flash 양자화 모델을 로드할 수 없습니다. 기본 작업 공간은 https://github.com/pasta-paul/dsv4-flash-w4a16-fp8입니다.

여기에 MTP 패치를 적용합니다.

vllm serve LordNeel/DeepSeek-V4-Flash-Acti-MTP-W4A16-FP8 \
  --tensor-parallel-size 2 --kv-cache-dtype fp8 --block-size 256 \
  --max-model-len 524288 --max-num-seqs 2 \
  --gpu-memory-utilization 0.93 \
  --tokenizer-mode deepseek_v4 \
  --tool-call-parser deepseek_v4 --enable-auto-tool-choice \
  --reasoning-parser deepseek_v4 \
  --trust-remote-code \
  --disable-custom-all-reduce \
  --speculative-config '{
  • TP=2만 가능합니다. TP=1에서는 단일 RTX6000 pro에서 OOM(Out-of-Memory)이 발생하며, TP≥4는 상위 W4A16 MoE 스케일-샤딩 버그(vllm-project/vllm#41511)를 유발합니다.
  • num_speculative_tokens1로 제한됩니다. DSV4 flash는 정확히 하나의 MTP 헤드(num_nextn_predict_layers=1)만 탑재하고 있어, 이보다 높은 값은 더 많은 초안(drafts)을 생성하지 않습니다.
  • 추론 파서 주의사항. --reasoning-parser deepseek_v4를 사용하면 출력 내용이 contentreasoning_content로 분리됩니다. content만 읽는 클라이언트는

AI 자동 생성 콘텐츠

본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0