recipe.toml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Qwen3.8-Flash-Next-FP8 (SGLang day-0) — 2× DGX Spark / GB10 (sm_121), TP=2.
  2. #
  3. # Qwen4-architecture preview: 125B-A6B MoE (512 experts, 10 routed + 1 shared),
  4. # Gated DeltaNet + Qwen Sparse Attention, 51B n-gram "engram" table, 4B
  5. # in-checkpoint MTP. FP8 fine-grained (block 128). Text + vision. Native 262K
  6. # ctx (YaRN to 1M). Model: https://huggingface.co/Qwen/Qwen3.8-Flash-Next-FP8
  7. #
  8. # Engine: SGLang day-0 — the ONLY engine with qwen4_exp today. vLLM support
  9. # is an open PR (#53896), merged into no GB10 fork image (aidendle94 / eugr /
  10. # local-inference-lab are all pre-release pins).
  11. #
  12. # Image: lmsysorg/sglang:qwen38flashnext — multi-arch incl. arm64 (digest
  13. # sha256:14ed58251…; re-verify at serve time). Day-0 = boots, not tuned.
  14. #
  15. # Memory: 172.8 GiB weights → 86.4 GiB/node. SGLang claims the 51B engram
  16. # table offloads to host RAM (async prefetch) — if active, the GPU budget
  17. # shrinks and a larger KV pool / longer ctx is possible.
  18. #
  19. # PREREQUISITES:
  20. # Weights cached on every node (dgx1/dgx2 ~/.cache/huggingface → NAS):
  21. # huggingface-cli download Qwen/Qwen3.8-Flash-Next-FP8
  22. #
  23. # REFERENCE:
  24. # https://forums.developer.nvidia.com/t/qwen3-8-flash-next/381228
  25. engine = "sglang"
  26. name = "Qwen3.8-Flash-Next FP8 (SGLang day-0)"
  27. docker_image = "lmsysorg/sglang:qwen38flashnext"
  28. model = "Qwen/Qwen3.8-Flash-Next-FP8"
  29. required_nodes = 2
  30. tensor_parallel_size = 2
  31. pipeline_parallel_size = 1
  32. distributed_backend = "mp"
  33. shm_size = "32gb"
  34. entrypoint = ["python3", "-m", "sglang.launch_server"]
  35. args = [
  36. # Memory — weights ~86.4 GiB of 119.6 GiB/node; the rest goes to KV +
  37. # activations. Undervalue to be safe on day-0; raise after measuring.
  38. "--mem-fraction-static", "0.80",
  39. "--max-running-requests", "10",
  40. # GDN (DeltaNet) hybrid state pool
  41. "--max-mamba-cache-size", "30",
  42. # Attention / KV
  43. "--attention-backend", "flashinfer",
  44. "--kv-cache-dtype", "fp8_e4m3",
  45. "--mamba-ssm-dtype", "bfloat16",
  46. "--mamba-full-memory-ratio", "4.21",
  47. "--mamba-radix-cache-strategy", "extra_buffer_lazy",
  48. # Chunked prefill
  49. "--chunked-prefill-size", "8192",
  50. # Compile + decode graphs
  51. "--enable-torch-compile", "--torch-compile-max-bs", "4",
  52. "--cuda-graph-max-bs-decode", "4",
  53. "--num-continuous-decode-steps", "2",
  54. # Tokenizer / reasoning / tool calling (Qwen3 family)
  55. "--reasoning-parser", "qwen3",
  56. "--tool-call-parser", "qwen3_coder",
  57. # Observability
  58. "--enable-metrics",
  59. "--enable-cache-report",
  60. ]
  61. [env]
  62. # Offline — weights must be cached on each node
  63. HF_HUB_OFFLINE = "1"
  64. # Architecture
  65. TORCH_CUDA_ARCH_LIST = "12.1a"
  66. CUTE_DSL_ARCH = "sm_121a"
  67. OMP_NUM_THREADS = "4"