recipe.toml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. engine = "vllm"
  2. name = "MiMo-V2.5 Omni NVFP4 (vLLM Ray)"
  3. docker_image = "ghcr.io/timothystewart6/vllm-gb10:v0.23.0-gb10.1"
  4. model = "lukealonso/MiMo-V2.5-NVFP4"
  5. required_nodes = 2
  6. tensor_parallel_size = 2
  7. pipeline_parallel_size = 1
  8. distributed_backend = "ray"
  9. # 1M context · NVFP4 4-bit KV · MTP1 · ~30 tok/s
  10. # 2× DGX Spark (GB10 Blackwell), 128 GB shared each.
  11. # REQUIRES patched vLLM container with mods (nvfp4-kv-diffkv, fix-mimo-v2-vllm, etc.)
  12. # Stock vLLM will reject NVFP4 KV or OOM.
  13. entrypoint = ["vllm", "serve"]
  14. args = """
  15. --served-model-name MiMo-V2.5-NVFP4
  16. --trust-remote-code
  17. --dtype auto
  18. --load-format safetensors
  19. --hf-overrides {"architectures":["MiMoV2OmniForCausalLM"]}
  20. --limit-mm-per-prompt {"image":4,"video":1,"audio":1}
  21. --mm-encoder-tp-mode data
  22. --attention-backend triton_attn_diffkv
  23. --kv-cache-dtype nvfp4
  24. --gpu-memory-utilization 0.84
  25. --max-model-len 1000000
  26. --max-num-batched-tokens 4096
  27. --max-num-seqs 4
  28. --block-size 32
  29. --enable-prefix-caching
  30. --enable-chunked-prefill
  31. --enable-auto-tool-choice
  32. --tool-call-parser mimo
  33. --reasoning-parser mimo
  34. --speculative-config {"method":"mtp","num_speculative_tokens":1}
  35. --enforce-eager
  36. """
  37. # TP/PP/nnodes/node-rank/master-addr/distributed-executor-backend are
  38. # auto-generated by the launcher from the recipe's top-level fields.
  39. [env]
  40. # Memory / Ray stability
  41. PYTORCH_CUDA_ALLOC_CONF = "expandable_segments:True"
  42. RAY_memory_monitor_refresh_ms = "0"
  43. VLLM_USE_RAY_V2_EXECUTOR_BACKEND = "0"
  44. VLLM_USE_RAY_COMPILED_DAG_OVERLAP_COMM = "0"
  45. VLLM_ALLOW_LONG_MAX_MODEL_LEN = "1"
  46. # NVFP4 weights + KV + WMMA decode
  47. VLLM_NVFP4_GEMM_BACKEND = "flashinfer-cutlass"
  48. VLLM_USE_FLASHINFER_MOE_FP4 = "1"
  49. VLLM_FLASHINFER_MOE_BACKEND = "throughput"
  50. VLLM_NVFP4_INLINE = "1"
  51. VLLM_WMMA_DECODE = "1"
  52. VLLM_WMMA_INSPECT = "0"
  53. VLLM_WMMA_COMPARE = "0"
  54. VLLM_WMMA_AUTHCOMPARE = "0"