From 9efeeb9aa014d1349afc59c48523eab629417435 Mon Sep 17 00:00:00 2001 From: Roi Koren Date: Mon, 26 Oct 2026 15:38:52 +0200 Subject: [PATCH 1/3] [Model] NemotronH Omni: read vision_hidden_size, fall back to vit_hidden_size Co-Authored-By: Claude Opus 5.5 Signed-off-by: Roi Koren --- vllm/model_executor/models/nano_nemotron_vl.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vllm/model_executor/models/nano_nemotron_vl.py b/vllm/model_executor/models/nano_nemotron_vl.py index b77206295d5c..212772dafc16 100644 --- a/vllm/model_executor/models/nano_nemotron_vl.py +++ b/vllm/model_executor/models/nano_nemotron_vl.py @@ -997,7 +997,9 @@ def __init__(self, *, vllm_config: VllmConfig, prefix: str = ""): ) # Construct the vision projection. - vit_hidden_size = config.vit_hidden_size + vit_hidden_size = getattr(config, "vision_hidden_size", None) + if vit_hidden_size is None: + vit_hidden_size = config.vit_hidden_size vision_projection_hidden_size = config.projector_hidden_size llm_hidden_size = config.text_config.hidden_size From 9d839d9a0f7e10b654855a12f8c1e86300f17907 Mon Sep 17 00:00:00 2001 From: Roi Koren Date: Thu, 29 Oct 2026 13:19:15 +0200 Subject: [PATCH 2/3] [CI] Test NemotronH Omni native config with Nemotron 3.5 Super VL Co-Authored-By: Claude Opus 5.5 Signed-off-by: Roi Koren --- tests/models/registry.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/models/registry.py b/tests/models/registry.py index f54128cf539f..8bac5a23c4e6 100644 --- a/tests/models/registry.py +++ b/tests/models/registry.py @@ -1254,9 +1254,14 @@ def check_available_online( "NemotronH_Super_Omni_Reasoning_V3": _HfExamplesInfo( "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16", is_available_online=False ), - # TODO: Change repo id once pertinent archs are public. "NemotronH_Omni_Reasoning_V3": _HfExamplesInfo( - "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16", is_available_online=False + "nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-BF16", + min_transformers_version="5.18.0", + max_model_len=4096, + use_original_num_layers=True, + hf_overrides={ + "text_config": {"layers_block_type": ["linear_attention", "full_attention"]} + }, ), "OpenCUAForConditionalGeneration": _HfExamplesInfo( "xlangai/OpenCUA-7B", From e56b29a69299dc7f2a7bd2b2958361a21974571d Mon Sep 17 00:00:00 2001 From: Roi Koren Date: Thu, 29 Oct 2026 13:27:59 +0200 Subject: [PATCH 3/3] [Doc] Add Nemotron 3.5 Super VL to supported models Co-Authored-By: Claude Opus 5.5 Signed-off-by: Roi Koren --- docs/models/supported_models.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/models/supported_models.md b/docs/models/supported_models.md index 8520a3347fda..c5c4d713ee8c 100644 --- a/docs/models/supported_models.md +++ b/docs/models/supported_models.md @@ -611,6 +611,7 @@ These models primarily accept the [`LLM.generate`](./generative_models.md#llmgen | `MuseGlimmerForCausalLM`, `MuseGlimmerForConditionalGeneration` | Muse Glimmer | T + I+ + V+ | `meta-models/Muse-Glimmer-30B` | ✅︎ | ✅︎ | | `MuseSparkForConditionalGeneration` | Muse Spark Open | T + I+ + V+ + A+ | `meta-models/Muse-Spark-Open-816B-A42B-NVFP4`, etc. | ✅︎ | ✅︎ | | `NemotronH_Nano_Omni_Reasoning_V3`, `NemotronH_Nano_VL_V2` | Nemotron Nano 3 Omni, Nemotron Nano V2 VL | T + IE+ + V+ + A* | `nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16` | ✅︎ | | +| `NemotronH_Omni_Reasoning_V3` | Nemotron 3.5 Super VL | T + IE+ + V+ | `nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-BF16`, `nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-NVFP4`, etc. | ✅︎ | | | `RadioMBartPrefixForCausalLM` | Nemotron Parse 3.5 | T + I | `nvidia/Nemotron-3.5-Parse` | | | | `NVLM_D_Model` | NVLM-D 1.0 | T + I+ | `nvidia/NVLM-D-72B`, etc. | | ✅︎ | | `OpenCUAForConditionalGeneration` | OpenCUA-7B | T + IE+ | `xlangai/OpenCUA-7B` | ✅︎ | ✅︎ | @@ -723,10 +724,13 @@ Some models are supported only via the [Transformers modeling backend](#transfor its [DFlash](../features/speculative_decoding/README.md) path. !!! note - Both Nemotron Nano architecture names map to the same vLLM implementation. + Both Nemotron Nano architecture names and `NemotronH_Omni_Reasoning_V3` map to + the same vLLM implementation. Audio inputs are only supported by the Omni variants; `NemotronH_Nano_VL_V2` checkpoints such as `nvidia/NVIDIA-Nemotron-Nano-12B-v2-VL-BF16` accept text, - image and video only. + image and video only, as do the Nemotron 3.5 Super VL checkpoints. + `NemotronH_Omni_Reasoning_V3` checkpoints load without `--trust-remote-code` + on `transformers>=5.18.0`; older versions still require the flag. !!! note The official `openbmb/MiniCPM-V-2` doesn't work yet, so we need to use a fork (`HwwwH/MiniCPM-V-2`) for now.