recipe.toml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # NVIDIA Nemotron-3.5-Super-VL-120B-A12B NVFP4 — single DGX Spark, VL
  2. # (text+image+video), 1M context, LiLiCorr speculative decoding.
  3. # Source: NVIDIA forum thread 385969 (the spark-vllm-docker recipe, post #3) +
  4. # model card https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-NVFP4
  5. # (DGX Spark section). NVFP4 75.1 GB → one Spark. tool-eval-bench 90/100.
  6. #
  7. # Needs vLLM >= v0.32 (nemotron_v3 reasoning parser + qwen3_coder tool parser +
  8. # the mamba flags are built in). Image: eugr/spark-vllm-b12x (vLLM nightly main,
  9. # sm_121) — the card's `vllm-node` equivalent. LiLiCorr drafter (method dflash,
  10. # 7 tokens) is a SECOND HF repo → resolved from the HF cache via the repo-ref
  11. # below ({{lilicorr}}), like the kindling dflash mount. Image digest-pinned
  12. # (arm64, built 2026-10-15); the card's `vllm-node`/`:latest` drift, we pin.
  13. engine = "vllm"
  14. name = "Nemotron-3.5-Super-VL-120B-A12B NVFP4 (1x Spark, LiLiCorr dflash)"
  15. docker_image = "eugr/spark-vllm-b12x@sha256:03a956544e9f9b4b7ba91690469fbe7848bdbef29a7d2e0f5788368467bb3595"
  16. entrypoint = ["vllm", "serve"]
  17. model = "nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-NVFP4"
  18. parent_model = "nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B"
  19. port = 30000
  20. solo = true
  21. required_nodes = 1
  22. tensor_parallel_size = 1
  23. args = [
  24. "--served-model-name", "nemotron-3.5-super-vl",
  25. "--max-model-len", "1048576",
  26. "--max-num-seqs", "1",
  27. "--max-num-batched-tokens", "8192",
  28. "--gpu-memory-utilization", "0.75",
  29. "--trust-remote-code",
  30. "--mamba-backend", "flashinfer",
  31. "--mamba-ssm-cache-dtype", "float16",
  32. "--enable-mamba-cache-stochastic-rounding",
  33. "--mamba-cache-philox-rounds", "5",
  34. "--enable-mamba-shared-prefix-checkpoint",
  35. "--block-size", "64",
  36. "--prefix-match-unit", "64",
  37. "--video-pruning-rate", "0.5",
  38. "--media-io-kwargs", '{"video":{"fps":2,"num_frames":256}}',
  39. "--enable-auto-tool-choice",
  40. "--tool-call-parser", "qwen3_coder",
  41. "--reasoning-parser", "nemotron_v3",
  42. "--speculative-config", """
  43. '{"method":"dflash","model":"{{lilicorr}}","num_speculative_tokens":7}'""",
  44. ]
  45. # LiLiCorr drafter: resolved per node from the HF cache (repo-ref, no bind-mount).
  46. [[extra_mounts]]
  47. repo = "nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-NVFP4-LiLiCorr"
  48. container = "lilicorr"
  49. [env]
  50. VLLM_ENGINE_READY_TIMEOUT_S = "3600"