|
|
@@ -0,0 +1,74 @@
|
|
|
+# DeepSeek-V4.1-Flash-1017 on a STOCK-era vLLM (eugr nightly, vLLM main), 4x TP4.
|
|
|
+#
|
|
|
+# Purpose: answer "how far has stock vLLM come on OUR model?" — the production
|
|
|
+# lane is SGLang from a 2026-09-29 base, our vLLM lanes are a 0.26.1rc0 fork,
|
|
|
+# and upstream vLLM is 0.32.0 (see specs/tech-architecture/stock-stack-gaps-1017.md).
|
|
|
+# This lane is the vLLM side of that A/B: same checkpoint, same four Sparks,
|
|
|
+# same cluster as `dsv41-flash-1017-4x-sglang`.
|
|
|
+#
|
|
|
+# Image: `eugr/spark-vllm-b12x:nightly-20261015` — vLLM main `8244d1c44`, a
|
|
|
+# GB10/arm64 build (already on all four nodes). Verified by inspection:
|
|
|
+# registers DeepseekV41/GlmMoeDsa/Glm53DSpark, compressed-tensors 0.17.0 with
|
|
|
+# the mxfp4/mxfp8 schemes, and ships the mxfp4 linear/MoE kernel families.
|
|
|
+# It carries no sm121.checksum label, so `serve` warns STALE — expected for a
|
|
|
+# prebuilt pull, not a build we own.
|
|
|
+#
|
|
|
+# Deliberately minimal first boot: no speculation, no B12X* backend pins, no
|
|
|
+# engram override beyond `disk` — every one of those is a lab-fork-specific flag
|
|
|
+# whose presence in this image we have not verified, and each is a 25-minute
|
|
|
+# reload if wrong. Measure the baseline, then add DSpark k=5.
|
|
|
+#
|
|
|
+# Checkpoint geometry (config.json): DeepseekV41ForCausalLM, 40 layers,
|
|
|
+# hidden 5120, MTP heads in-checkpoint (num_nextn_predict_layers=3), 1M native
|
|
|
+# window, fp8 block [32,32]; 48 shards, 476 GB on the NAS including the Engram
|
|
|
+# tables.
|
|
|
+
|
|
|
+engine = "vllm"
|
|
|
+name = "DeepSeek-V4.1-Flash-1017 on vLLM main (eugr nightly 20261015), 4x"
|
|
|
+docker_image = "eugr/spark-vllm-b12x:nightly-20261015" # prebuilt (no docker_image_dir)
|
|
|
+model = "deepseek-ai/DeepSeek-V4.1-Flash-1017"
|
|
|
+parent_model = "deepseek-ai/DeepSeek-V4.1-Flash"
|
|
|
+required_nodes = 4
|
|
|
+tensor_parallel_size = 4
|
|
|
+pipeline_parallel_size = 1
|
|
|
+distributed_backend = "mp"
|
|
|
+shm_size = "32gb"
|
|
|
+cluster = "dgx58-switch"
|
|
|
+entrypoint = ["vllm", "serve"]
|
|
|
+
|
|
|
+args = [
|
|
|
+ "--served-model-name", "dsv41",
|
|
|
+ "--trust-remote-code",
|
|
|
+ "--distributed-executor-backend", "mp",
|
|
|
+ "--gpu-memory-utilization", "0.88",
|
|
|
+ # 131072 first: the production lane runs 524288 behind SGLang's engram
|
|
|
+ # staging, but a vLLM boot that OOMs teaches us nothing. Raise after the
|
|
|
+ # baseline numbers exist.
|
|
|
+ "--max-model-len", "131072",
|
|
|
+ "--max-num-seqs", "4",
|
|
|
+ "--max-num-batched-tokens", "4096",
|
|
|
+ "--enable-chunked-prefill",
|
|
|
+ "--enable-prefix-caching",
|
|
|
+ "--kv-cache-dtype", "fp8",
|
|
|
+ "--block-size", "256",
|
|
|
+ # Engram: the 1017's learned n-gram tables live in the checkpoint; disk
|
|
|
+ # mode streams rows instead of pinning them (the lab fork's flag).
|
|
|
+ "--engram-config", """
|
|
|
+'{"cpu_offload":false,"table_memory":"disk"}'""",
|
|
|
+ # 2026-10-23 13:58: the image's InstantTensor lacks
|
|
|
+ # `_determine_buffer_size` (index-aware loading), so the fast loader is out
|
|
|
+ # and the default safetensors path is used — slower load, same result.
|
|
|
+ # "--load-format", "instanttensor",
|
|
|
+ "--generation-config", "vllm",
|
|
|
+ "--reasoning-parser", "deepseek_v41",
|
|
|
+ "--tool-call-parser", "deepseek_v41",
|
|
|
+ "--enable-auto-tool-choice",
|
|
|
+ # No --speculative-config on the first boot: MTP heads are in the
|
|
|
+ # checkpoint, add {"method":"dspark","num_speculative_tokens":5} after a
|
|
|
+ # clean baseline.
|
|
|
+]
|
|
|
+
|
|
|
+[env]
|
|
|
+HF_HUB_OFFLINE = "1"
|
|
|
+VLLM_ENGINE_READY_TIMEOUT_S = "5400"
|
|
|
+MAX_JOBS = "2"
|