recipe.toml 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # GLM-5.3-Flash NVFP4 — RedHatAI quant (vLLM) — 2× DGX Spark, TP=2.
  2. #
  3. # RedHatAI/LLM-Compressor quant: MoE experts W4A4 NVFP4 (group-16, local
  4. # per-group FP8 scales, compressed-tensors nvfp4-pack-quantized). Vision /
  5. # embeddings / lm_head kept original precision. Quantizes via regex targets,
  6. # so no name-prefix matching bugs.
  7. # Model: https://huggingface.co/RedHatAI/GLM-5.3-Flash-NVFP4
  8. # (~177 GB → ~88 GB/node on 2 Sparks; GMU 0.85 = ~101 GiB budget)
  9. #
  10. # ⚠ NO MTP DRAFTER IN THIS CHECKPOINT — the index has 146,745 tensors and
  11. # zero layer-45/MTP weights. `--speculative-config mtp` WILL fail to load.
  12. # This recipe is baseline decode only (~15 tok/s class on this arch —
  13. # spec decode buys 1.3–2×; use glm53-flash-nvfp4[-lab] when MTP matters).
  14. #
  15. # Image: shared glm53-flash-nvfp4:local overlay (day-0 vLLM image + the
  16. # NoPE-MLA / sm120 sparse-MLA mod). The mod is arch-level, quant-independent.
  17. #
  18. # GB10 gotchas handled (see glm53-flash-nvfp4 header for detail):
  19. # --moe-backend marlin → if vLLM rejects marlin for W4A4 at startup (marlin
  20. # is mainly W4A16), remove the flag — but then verify output is not
  21. # token-loop garbage (the silent FLASHINFER_CUTLASS corruption) before
  22. # trusting it; `--moe-backend triton` is the other candidate.
  23. #
  24. # Vendor note: RedHatAI's own README suggests --no-enable-flashinfer-autotune
  25. # for a fast boot — deliberately NOT set here: the GB10 sparse-MLA kernels
  26. # rely on the autotune result (first boot is slow by design, tune persists to
  27. # ~/.cache/vllm). Add it if you want to skip re-tuning after the first run.
  28. #
  29. # PREREQUISITES: weights cached on both nodes:
  30. # huggingface-cli download RedHatAI/GLM-5.3-Flash-NVFP4
  31. #
  32. # REFERENCE:
  33. # https://huggingface.co/RedHatAI/GLM-5.3-Flash-NVFP4 (vendor vLLM cmd)
  34. # https://github.com/kingjones30/GLM-5.3-Flash-2x-DGX-Spark (mod)
  35. engine = "vllm"
  36. name = "GLM-5.3-Flash NVFP4-redhat (vLLM, 2x Spark, no MTP)"
  37. docker_image = "glm53-flash-nvfp4:local"
  38. docker_image_dir = "glm53-flash-nvfp4"
  39. model = "RedHatAI/GLM-5.3-Flash-NVFP4"
  40. required_nodes = 2
  41. tensor_parallel_size = 2
  42. pipeline_parallel_size = 1
  43. distributed_backend = "mp"
  44. shm_size = "32gb"
  45. args = [
  46. # Stable served name — quant-agnostic (shared across glm53 quants)
  47. "--served-model-name", "glm53",
  48. "--trust-remote-code",
  49. "--distributed-executor-backend", "mp",
  50. "--gpu-memory-utilization", "0.85",
  51. "--max-model-len", "262144",
  52. "--max-num-seqs", "1",
  53. "--kv-cache-dtype", "fp8_ds_mla",
  54. "--language-model-only",
  55. "--moe-backend", "marlin",
  56. # NO --speculative-config: checkpoint ships no MTP weights (verified index)
  57. "--tool-call-parser", "glm47",
  58. "--enable-auto-tool-choice",
  59. "--reasoning-parser", "glm45",
  60. ]
  61. [env]
  62. HF_HUB_OFFLINE = "1"
  63. VLLM_MLA_NOPE_PAD_ROPE = "1"
  64. VLLM_ENGINE_READY_TIMEOUT_S = "3600"
  65. TORCH_CUDA_ARCH_LIST = "12.1a"
  66. CUTE_DSL_ARCH = "sm_121a"
  67. OMP_NUM_THREADS = "4"