@eugr_nv I tried getting this to work with MTP but fail (NVFP4 version):
(Worker_TP0 pid=222) WARNING 05-29 12:38:15 [modelopt.py:1026] Detected ModelOpt NVFP4 checkpoint (quant_algo=NVFP4). Please note that the format is experimental and could change in future.
(Worker_TP0 pid=222) INFO 05-29 12:38:15 [kernel.py:267] Final IR op priority after setting platform defaults: IrOpPriorityConfig(rms_norm=['native'], fused_add_rms_norm=['native'])
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] WorkerProc failed to start.
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] Traceback (most recent call last):
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 837, in worker_main
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] worker = WorkerProc(*args, **kwargs)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] return func(*args, **kwargs)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 619, in __init__
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] self.worker.load_model()
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_worker.py", line 345, in load_model
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] self.model_runner.load_model(load_dummy_weights=load_dummy_weights)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] return func(*args, **kwargs)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_model_runner.py", line 5023, in load_model
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] self.drafter.load_model(self.model)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/spec_decode/llm_base_proposer.py", line 1192, in load_model
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] self.model = self._get_model()
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/spec_decode/llm_base_proposer.py", line 1177, in _get_model
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] model = get_model(
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/model_loader/__init__.py", line 138, in get_model
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] return loader.load_model(
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] return func(*args, **kwargs)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/model_loader/base_loader.py", line 55, in load_model
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] model = initialize_model(
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] return func(*args, **kwargs)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/model_loader/utils.py", line 61, in initialize_model
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] model = model_class(vllm_config=vllm_config, prefix=prefix)
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/step3p5_mtp.py", line 147, in __init__
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] self.model = Step3p5AMultiTokenPredictor(
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/step3p5_mtp.py", line 94, in __init__
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] str(idx): Step3p5AMultiTokenPredictorLayer(
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/step3p5_mtp.py", line 56, in __init__
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] self.mtp_block = Step3p5DecoderLayer(
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ^^^^^^^^^^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] File "/usr/local/lib/python3.12/dist-packages/vllm/model_executor/models/step3p5.py", line 436, in __init__
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] and config.layer_types[layer_idx]
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
(Worker_TP0 pid=222) ERROR 05-29 12:38:15 [multiproc_executor.py:870] IndexError: list index out of range
[rank0]:[W529 12:38:16.710134409 ProcessGroupNCCL.cpp:1575] Warning: WARNING: destroy_process_group() was not called before program exit, which can leak resources. For more info, please see https://pytorch.org/docs/stable/distributed.html#shutdown (function operator())
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] EngineCore failed to start.
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] Traceback (most recent call last):
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 1133, in run_engine_core
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] engine_core = EngineCoreProc(*args, engine_index=dp_rank, **kwargs)
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] return func(*args, **kwargs)
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] ^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 899, in __init__
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] super().__init__(
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 118, in __init__
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] self.model_executor = executor_class(vllm_config)
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] ^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 107, in __init__
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] super().__init__(vllm_config)
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] return func(*args, **kwargs)
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] ^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/abstract.py", line 109, in __init__
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] self._init_executor()
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 200, in _init_executor
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] self.workers = WorkerProc.wait_for_ready(unready_workers)
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 747, in wait_for_ready
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] raise e from None
(EngineCore pid=172) ERROR 05-29 12:38:20 [core.py:1159] Exception: WorkerProc initialization failed due to an exception in a background process. See stack trace for root cause.
(EngineCore pid=172) Process EngineCore:
(EngineCore pid=172) Traceback (most recent call last):
(EngineCore pid=172) File "/usr/lib/python3.12/multiprocessing/process.py", line 314, in _bootstrap
(EngineCore pid=172) self.run()
(EngineCore pid=172) File "/usr/lib/python3.12/multiprocessing/process.py", line 108, in run
(EngineCore pid=172) self._target(*self._args, **self._kwargs)
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 1163, in run_engine_core
(EngineCore pid=172) raise e
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 1133, in run_engine_core
(EngineCore pid=172) engine_core = EngineCoreProc(*args, engine_index=dp_rank, **kwargs)
(EngineCore pid=172) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(EngineCore pid=172) return func(*args, **kwargs)
(EngineCore pid=172) ^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 899, in __init__
(EngineCore pid=172) super().__init__(
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core.py", line 118, in __init__
(EngineCore pid=172) self.model_executor = executor_class(vllm_config)
(EngineCore pid=172) ^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 107, in __init__
(EngineCore pid=172) super().__init__(vllm_config)
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(EngineCore pid=172) return func(*args, **kwargs)
(EngineCore pid=172) ^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/abstract.py", line 109, in __init__
(EngineCore pid=172) self._init_executor()
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 200, in _init_executor
(EngineCore pid=172) self.workers = WorkerProc.wait_for_ready(unready_workers)
(EngineCore pid=172) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore pid=172) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/executor/multiproc_executor.py", line 747, in wait_for_ready
(EngineCore pid=172) raise e from None
(EngineCore pid=172) Exception: WorkerProc initialization failed due to an exception in a background process. See stack trace for root cause.
(APIServer pid=99) Traceback (most recent call last):
(APIServer pid=99) File "/usr/local/bin/vllm", line 10, in <module>
(APIServer pid=99) sys.exit(main())
(APIServer pid=99) ^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/cli/main.py", line 92, in main
(APIServer pid=99) args.dispatch_function(args)
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/cli/serve.py", line 122, in cmd
(APIServer pid=99) uvloop.run(run_server(args))
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/uvloop/__init__.py", line 96, in run
(APIServer pid=99) return __asyncio.run(
(APIServer pid=99) ^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
(APIServer pid=99) return runner.run(main)
(APIServer pid=99) ^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
(APIServer pid=99) return self._loop.run_until_complete(task)
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/uvloop/__init__.py", line 48, in wrapper
(APIServer pid=99) return await main
(APIServer pid=99) ^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 679, in run_server
(APIServer pid=99) await run_server_worker(listen_address, sock, args, **uvicorn_kwargs)
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 693, in run_server_worker
(APIServer pid=99) async with build_async_engine_client(
(APIServer pid=99) File "/usr/lib/python3.12/contextlib.py", line 210, in __aenter__
(APIServer pid=99) return await anext(self.gen)
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 100, in build_async_engine_client
(APIServer pid=99) async with build_async_engine_client_from_engine_args(
(APIServer pid=99) File "/usr/lib/python3.12/contextlib.py", line 210, in __aenter__
(APIServer pid=99) return await anext(self.gen)
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/entrypoints/openai/api_server.py", line 136, in build_async_engine_client_from_engine_args
(APIServer pid=99) async_llm = AsyncLLM.from_vllm_config(
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/async_llm.py", line 217, in from_vllm_config
(APIServer pid=99) return cls(
(APIServer pid=99) ^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/async_llm.py", line 146, in __init__
(APIServer pid=99) self.engine_core = EngineCoreClient.make_async_mp_client(
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(APIServer pid=99) return func(*args, **kwargs)
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core_client.py", line 130, in make_async_mp_client
(APIServer pid=99) return AsyncMPClient(*client_args)
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/tracing/otel.py", line 178, in sync_wrapper
(APIServer pid=99) return func(*args, **kwargs)
(APIServer pid=99) ^^^^^^^^^^^^^^^^^^^^^
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core_client.py", line 900, in __init__
(APIServer pid=99) super().__init__(
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/core_client.py", line 535, in __init__
(APIServer pid=99) with launch_core_engines(
(APIServer pid=99) File "/usr/lib/python3.12/contextlib.py", line 144, in __exit__
(APIServer pid=99) next(self.gen)
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/utils.py", line 1133, in launch_core_engines
(APIServer pid=99) wait_for_engine_startup(
(APIServer pid=99) File "/usr/local/lib/python3.12/dist-packages/vllm/v1/engine/utils.py", line 1192, in wait_for_engine_startup
(APIServer pid=99) raise RuntimeError(
(APIServer pid=99) RuntimeError: Engine core initialization failed. See root cause above. Failed core proc(s): {}
EDIT: It seems like the NVFP4 quant does not contain MTP weights..

