I build a vLLM image using eugr/spark-vllm-docker and I want to serve the NVFP4/DeepSeek-R1-0528-Qwen3-8B-FP4 on a single DGX Spark GB10.
I launched the container using the following command:
docker run -it \
--runtime=nvidia \
-e DISPLAY \
-e QT_GRAPHICSSYSTEM=native \
-e QT_X11_NO_MITSHM=1 \
-e VLLM_USE_FLASHINFER_MOE_FP4=1 \
-e GPU_MEMORY_UTIL=0.90 \
-e PORT=8888 \
-p 127.0.0.1:8888:8888 \
-v /dev/shm:/dev/shm \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket:ro \
-v $HOME/.cache/huggingface:/root/.cache/huggingface \
--rm \
--name vllm-node-deepseek-r1-0528-qwen3-8b-fp4 \
vllm-node:latest bash
and launch vllm with the following command:
export VLLM_USE_FLASHINFER_MOE_FP4=1
vllm serve nvfp4/deepseek-r1-0528-qwen3-8b-fp4 \
--tensor-parallel-size 1 \
--max-model-len 16384 \
--gpu-memory-utilization 0.7 \
--reasoning-parser deepseek_r1
However, I get the following error:
(EngineCore_DP0 pid=830) INFO 03-10 13:10:29 [core.py:103] Initializing a V1 LLM engine (v0.17.0rc1.dev168+gdc6b57846.d20260309) with config: model='nvfp4/deepseek-r1-0528-qwen3-8b-fp4', speculative_config=None, tokenizer='nvfp4/deepseek-r1-0528-qwen3-8b-fp4', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.bfloat16, max_seq_len=16384, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, decode_context_parallel_size=1, dcp_comm_backend=ag_rs, disable_custom_all_reduce=False, quantization=None, enforce_eager=False, enable_return_routed_experts=False, kv_cache_dtype=auto, device_config=cuda, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser='deepseek_r1', reasoning_parser_plugin='', enable_in_reasoning=False), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None, kv_cache_metrics=False, kv_cache_metrics_sample=0.01, cudagraph_metrics=False, enable_layerwise_nvtx_tracing=False, enable_mfu_metrics=False, enable_mm_processor_stats=False, enable_logging_iteration_details=False), seed=0, served_model_name=nvfp4/deepseek-r1-0528-qwen3-8b-fp4, enable_prefix_caching=True, enable_chunked_prefill=True, pooler_config=None, compilation_config={'mode': <CompilationMode.VLLM_COMPILE: 3>, 'debug_dump_path': None, 'cache_dir': '', 'compile_cache_save_format': 'binary', 'backend': 'inductor', 'custom_ops': ['none'], 'splitting_ops': ['vllm::unified_attention', 'vllm::unified_attention_with_output', 'vllm::unified_mla_attention', 'vllm::unified_mla_attention_with_output', 'vllm::mamba_mixer2', 'vllm::mamba_mixer', 'vllm::short_conv', 'vllm::linear_attention', 'vllm::plamo2_mamba_mixer', 'vllm::gdn_attention_core', 'vllm::olmo_hybrid_gdn_full_forward', 'vllm::kda_attention', 'vllm::sparse_attn_indexer', 'vllm::rocm_aiter_sparse_attn_indexer', 'vllm::unified_kv_cache_update', 'vllm::unified_mla_kv_cache_update'], 'compile_mm_encoder': False, 'compile_sizes': [], 'compile_ranges_split_points': [2048], 'inductor_compile_config': {'enable_auto_functionalized_v2': False, 'combo_kernels': True, 'benchmark_combo_kernel': True}, 'inductor_passes': {}, 'cudagraph_mode': <CUDAGraphMode.FULL_AND_PIECEWISE: (2, 1)>, 'cudagraph_num_of_warmups': 1, 'cudagraph_capture_sizes': [1, 2, 4, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, 200, 208, 216, 224, 232, 240, 248, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512], 'cudagraph_copy_inputs': False, 'cudagraph_specialize_lora': True, 'use_inductor_graph_partition': False, 'pass_config': {'fuse_norm_quant': False, 'fuse_act_quant': False, 'fuse_attn_quant': False, 'enable_sp': False, 'fuse_gemm_comms': False, 'fuse_allreduce_rms': False}, 'max_cudagraph_capture_size': 512, 'dynamic_shapes_config': {'type': <DynamicShapesType.BACKED: 'backed'>, 'evaluate_guards': False, 'assume_32_bit_indexing': False}, 'local_cache_dir': None, 'fast_moe_cold_start': True, 'static_all_moe_layers': []}
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/qwen2.py", line 517, in load_weights
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] weight_loader(param, loaded_weight)
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/layers/linear.py", line 1496, in weight_loader_v2
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] param.load_row_parallel_weight(loaded_weight=loaded_weight)
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/parameter.py", line 222, in load_row_parallel_weight
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] loaded_weight = loaded_weight.narrow(
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] ^^^^^^^^^^^^^^^^^^^^^
(EngineCore_DP0 pid=830) ERROR 03-10 13:10:42 [core.py:1111] RuntimeError: start (0) + length (12288) exceeds dimension size (6144).
Q01: What can I do to resolve this error?