A working version for DGX Spark
#9
by seddonm1 - opened
Here is a working version for a single user on DGX Spark. Note kv_cache_dtype: fp8 is essential for DFlash.
Using this base:
https://github.com/eugr/spark-vllm-docker
# Recipe: poolside/Laguna-S-2.1-NVFP4
# poolside Laguna-S-2.1 (117.6B total / 8.5B active MoE) in NVFP4 (W4A4) with DFlash
# draft speculation. Fits a single DGX Spark. Requires a recent vLLM (main) build
# with the poolside architecture + dflash speculative method.
recipe_version: "1"
name: Laguna-S-2.1
description: vLLM serving poolside/Laguna-S-2.1-NVFP4 with DFlash speculation
# HuggingFace model to download (optional, for --download-model)
model: poolside/Laguna-S-2.1-NVFP4
# ~80-90GB weights fit one Spark's 128GB unified memory (SWA layers keep the KV small)
solo_only: true
# Container image to use
container: vllm-node
# No mods required
mods: []
# Default settings (can be overridden via CLI)
defaults:
port: 8000
host: 0.0.0.0
tensor_parallel: 1
gpu_memory_utilization: 0.90
max_model_len: 262144
max_num_batched_tokens: 2048
max_num_seqs: 1
num_speculative_tokens: 3
kv_cache_dtype: fp8
# Environment variables
env:
TORCH_CUDA_ARCH_LIST: 12.1f
CUTE_DSL_ARCH: sm_121a
VLLM_USE_FLASHINFER_SAMPLER: "1"
MAX_JOBS: "4"
# The vLLM serve command template
command: |
vllm serve poolside/Laguna-S-2.1-NVFP4 \
--served-model-name poolside/Laguna-S-2.1 \
--host {host} \
--port {port} \
--max-model-len {max_model_len} \
--max-num-batched-tokens {max_num_batched_tokens} \
--max-num-seqs {max_num_seqs} \
--gpu-memory-utilization {gpu_memory_utilization} \
--tensor-parallel-size {tensor_parallel} \
--enable-chunked-prefill \
--enable-prefix-caching \
--enable-auto-tool-choice \
--tool-call-parser poolside_v1 \
--reasoning-parser poolside_v1 \
--kv-cache-dtype {kv_cache_dtype} \
--trust-remote-code \
--speculative-config '{{"method": "dflash", "model": "poolside/Laguna-S-2.1-DFlash-NVFP4", "num_speculative_tokens": {num_speculative_tokens}}}' \
--default-chat-template-kwargs '{{"enable_thinking": true}}' \
--override-generation-config '{{"temperature": 0.7, "top_p": 0.95}}'