recipe.toml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. engine = "vllm"
  2. name = "DeepSeek V4 Flash (vLLM)"
  3. docker_image = "aidendle94/sparkrun-vllm-ds4-gb10:production-ready"
  4. model = "deepseek-ai/DeepSeek-V4-Flash"
  5. port = 8000
  6. required_nodes = 2
  7. tensor_parallel_size = 2
  8. pipeline_parallel_size = 1
  9. distributed_backend = "mp"
  10. # DeepSeek V4 with 1M context needs much more shared memory than the
  11. # default 10g. KV cache + activations for 1M tokens fills up fast.
  12. shm_size = "64gb"
  13. args = [
  14. "--kv-cache-dtype", "fp8",
  15. "--block-size", "256",
  16. "--max-model-len", "1000000",
  17. "--max-num-seqs", "6",
  18. "--max-num-batched-tokens", "8192",
  19. "--gpu-memory-utilization", "0.82",
  20. "--enable-prefix-caching",
  21. "--speculative-config", "{\"method\":\"mtp\",\"num_speculative_tokens\":2}",
  22. "--tokenizer-mode", "deepseek_v4",
  23. "--tool-call-parser", "deepseek_v4",
  24. "--enable-auto-tool-choice",
  25. "--reasoning-parser", "deepseek_v4",
  26. "--reasoning-config", "{\"reasoning_parser\":\"deepseek_v4\",\"reasoning_start_str\":\"\",\"reasoning_end_str\":\"\"}",
  27. "--default-chat-template-kwargs.thinking", "true",
  28. "--default-chat-template-kwargs.reasoning_effort", "high",
  29. "--enable-flashinfer-autotune",
  30. "--host", "0.0.0.0",
  31. "--port", "8000",
  32. "--trust-remote-code",
  33. "--served-model-name", "deepseek-v4-flash",
  34. ]
  35. [env]
  36. # HuggingFace / cache config
  37. HF_HUB_OFFLINE = "0"
  38. VLLM_CACHE_ROOT = "/cache/huggingface/vllm-cache"
  39. # vLLM features for DeepSeek V4 on Blackwell (GB10 / sm_120)
  40. VLLM_ALLOW_LONG_MAX_MODEL_LEN = "1"
  41. VLLM_USE_B12X_MOE = "1"
  42. VLLM_SPARSE_INDEXER_MAX_LOGITS_MB = "256"
  43. # Compile-time arch hints for PyTorch and FlashInfer on GB10
  44. TORCH_CUDA_ARCH_LIST = "12.1a"
  45. FLASHINFER_CUDA_ARCH_LIST = "12.1a"