Model techniques map
ModelsNVIDIA-Nemotron-3-Ultra-550B-A55B

NVIDIA · usage rank #5 · released 2026-06-04

NVIDIA-Nemotron-3-Ultra-550B-A55B

What NVIDIA-Nemotron-3-Ultra-550B-A55B’s own documents say it is built from — every method with the sentence that describes it.

Curator’s note550B total / 55B active LatentMoE hybrid Mamba-2 + attention, 1M context, OpenMDW-1.1 (weights + training data + recipes). Best-documented model in this set: a real technical report plus an arXiv mirror.

Rank by open-weight tokens on OpenRouter, week of 2026-09-21.

Against the consensus recipe

Its documents state 10 of the 15 methods the field agrees on.

The recipe from the overview: the methods the most labs adopt, per stage. A missing one is something the documents do not say, not something the model lacks.

  1. Data curation

  2. Training objective

  3. Model architecture

  4. Optimization

  5. Post-training

  6. Inference & serving

Checked in its code

Its code shows 7 of the 19 architecture features checked — 3 of them are not stated in its documents.

Documents say what a lab chose to describe; the modeling code says what the checkpoint runs. Each feature below was put to a code verifier, and only the config values and source lines it cited that were found in the files are shown, linked to the line.

Read from Hugging Face Transformers (modeling_nemotron_h.py, configuration_nemotron_h.py) and config.json at revision 77df655d5e, by anthropic/claude-sonnet-5 on 2026-09-25.

FeatureCodeIts documentsEvidence
Grouped-query attention code only in its codenot stated

Full-attention layers use 64 query heads with only 2 key/value heads, repeated via repeat_kv (grouped-query attention).

num_attention_heads = 64num_key_value_heads = 2
self.num_key_value_groups = config.num_attention_heads // config.num_key_value_heads
modeling_nemotron_h.py · L847
self.k_proj = nn.Linear(config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False)
        self.v_proj = nn.Linear(config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False)
modeling_nemotron_h.py · L852–853
Multi-head latent attention not in its codenot stated

The attention module is a standard multi-head/GQA attention with separate q/k/v projections; there is no low-rank KV latent projection or decoupled RoPE key mechanism.

self.q_proj = nn.Linear(config.hidden_size, config.num_attention_heads * self.head_dim, bias=False)
        self.k_proj = nn.Linear(config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False)
        self.v_proj = nn.Linear(config.hidden_size, config.num_key_value_heads * self.head_dim, bias=False)
modeling_nemotron_h.py · L851–853
Sliding-window attention not in its codenot stated

sliding_window is null in the config and the attention code has no window-masking mechanism applied.

sliding_window = null
Interleaved sliding-window and global attention not in its codenot stated

layers_block_type only distinguishes mamba/moe/attention layers with full causal masks; there is no sliding-window layer type interleaved with global attention.

sliding_window = null
Indexer-selected sparse attention (DeepSeek Sparse Attention) not in its codenot stated

No indexer-based top-k token selection mechanism exists in the code, and no index_topk/index_n_heads config keys are present.

Linear-attention or state-space layers alongside full attention code only in its codenot stated

layers_block_type interleaves mamba (linear_attention) layers with full_attention and moe layers, dispatched via MIXER_TYPES.

layers_block_type = ["mamba", "moe", "mamba", "moe", "mamba", "moe", "mamba", "attention", "moe",…
MIXER_TYPES = {
    "linear_attention": NemotronHMamba2Mixer,
    "full_attention": NemotronHAttention,
    "moe": NemotronHMoE,
    "mlp": NemotronHMLP,
}
modeling_nemotron_h.py · L893–898
Gated DeltaNet layers not in its codenot stated

The recurrent layers implement the Mamba-2 selective SSM (chunked scan with segment sums), not a gated delta-rule mixer like Gated DeltaNet or Kimi Delta Attention.

class NemotronHMamba2Mixer(nn.Module):
modeling_nemotron_h.py · L366
Mamba-2 layers in its code core

Linear-attention layers are implemented as NemotronHMamba2Mixer, a Mamba-2 SSD block with per-head scalar decay (A_log/D), chunked scan, and mamba_num_heads=256, ssm_state_size=128.

mamba_num_heads = 256ssm_state_size = 128
class NemotronHMamba2Mixer(nn.Module):
    """
    Compute ∆, A, B, C, and D the state space parameters and compute the `contextualized_states`.
modeling_nemotron_h.py · L366–368
self.A_log = nn.Parameter(torch.empty(self.num_heads))
modeling_nemotron_h.py · L417
Learnable attention sink not in its codenot stated

No learned per-head sink logit is added to the attention softmax denominator anywhere in the attention code.

Gated attention output not in its codenot stated

The attention module's output goes directly to o_proj with no sigmoid gating multiplication; gating is only used in the Mamba mixer's RMSNormGated, not in softmax attention output.

attn_output = attn_output.reshape(*input_shape, -1).contiguous()
        attn_output = self.o_proj(attn_output)
        return attn_output, attn_weights
modeling_nemotron_h.py · L888–890
QK normalization not in its codenot stated

NemotronHAttention computes q/k/v projections and applies no normalization to query or key states before the dot product.

query_states = self.q_proj(hidden_states).view(hidden_shape).transpose(1, 2)
        key_states = self.k_proj(hidden_states).view(hidden_shape).transpose(1, 2)
        value_states = self.v_proj(hidden_states).view(hidden_shape).transpose(1, 2)
modeling_nemotron_h.py · L866–868
Partial RoPE code unclearnot stated

partial_rotary_factor is set to 1.0 (full rotary) but the attention forward code shown does not actually call apply_rotary_pos_emb or reference rotary embeddings at all, making the RoPE application path itself unclear from the given files.

partial_rotary_factor = 1.0
YaRN RoPE scaling not in its codenot stated

No rope_scaling key is present in config.json, and no YaRN-specific scaling code path is invoked.

Layers without positional encoding (NoPE) code unclearnot stated

The attention layer's forward pass does not show any RoPE application (no apply_rotary_pos_emb call visible in NemotronHAttention.forward), so it is unclear from the given code whether some full-attention layers omit position encoding while others include it.

query_states = self.q_proj(hidden_states).view(hidden_shape).transpose(1, 2)
        key_states = self.k_proj(hidden_states).view(hidden_shape).transpose(1, 2)
        value_states = self.v_proj(hidden_states).view(hidden_shape).transpose(1, 2)
modeling_nemotron_h.py · L866–868
Mixture of experts in its code core

MoE layers route tokens to a subset of 512 routed experts via a top-k router selecting 22 experts per token.

n_routed_experts = 512num_experts_per_tok = 22
self.top_k = config.num_experts_per_tok
        self.num_experts = config.num_local_experts
modeling_nemotron_h.py · L730–731
Shared expert in its code used

Each MoE block includes a shared expert MLP (NemotronHMLP with moe_shared_expert_intermediate_size=10240, n_shared_experts=1) applied to every token in addition to routed experts.

n_shared_experts = 1moe_shared_expert_intermediate_size = 10240
self.shared_experts = NemotronHMLP(config=config, intermediate_size=config.moe_shared_expert_intermediate_size)
modeling_nemotron_h.py · L701
hidden_states = hidden_states + self.shared_experts(residuals)
modeling_nemotron_h.py · L723
Auxiliary-loss-free load balancing (selection bias) code only in its codenot stated

The router adds e_score_correction_bias to the sigmoid scores solely to determine top-k expert selection (via topk_group/group masking), while the unbiased scores are gathered for the actual output weights.

scores = router_logits.sigmoid()
        scores_for_choice = scores + self.e_score_correction_bias
modeling_nemotron_h.py · L743–744
topk_indices = torch.topk(scores_for_choice, k=self.top_k, dim=-1, sorted=False)[1]
        topk_weights = scores.gather(1, topk_indices)
modeling_nemotron_h.py · L759–760
Multi-token prediction layers in its code core

The config declares num_nextn_predict_layers=1 with mtp_layers_block_type set, and the modeling code has weight-skip handling for MTP module keys.

num_nextn_predict_layers = 1mtp_layers_block_type = ["attention", "moe"]
_keys_to_ignore_on_load_unexpected = [r"mtp.*"]
modeling_nemotron_h.py · L981
SwiGLU feed-forward not in its codenot stated

MLP and expert feed-forwards use a single up_proj/down_proj pair with a relu2 activation (act(up(x)) then down_proj), not a SiLU-gated gate/up product.

mlp_hidden_act = "relu2"
self.up_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=config.mlp_bias)
        self.down_proj = nn.Linear(self.intermediate_size, self.hidden_size, bias=config.mlp_bias)
        self.act_fn = ACT2FN[config.mlp_hidden_act]
modeling_nemotron_h.py · L613–615

model architecture 19

token mixer 7

softmax attention 1

sparse attention 1

fixed-pattern sparse attention 1

linear attention & state space 3

Mamba 3

Mamba-2 core
Mamba core

hybrid layer stacking 2

channel mixer 8

mixture of experts 8

expert load balancing 2

MaxVio evaluated

shared experts 1

fine-grained experts 1

latent mixture of experts 2

prediction head 4

training objective 7

language modelling objective 1

multi-token prediction objective 3

distillation objective 2

auxiliary loss 1

optimization 29

learning-rate schedule 3

training precision 9

quantization-aware training 2

training stability 1

training parallelism 5

training runtime 9

data curation 21

filed at the root 1

data sourcing 7

data filtering 5

deduplication 2

synthetic data 3

data mixture & curriculum 2

sequence packing 1

post-training 30

supervised fine-tuning 4

reinforcement learning algorithm 9

reward modelling 3

preference optimization 1

policy distillation 6

rollout & RL infrastructure 3

agentic post-training 2

mid-training & continual pretraining 2

inference & serving 49

decoding strategy 5

reasoning control 7

KV cache management 4

inference quantization 20

serving parallelism 4

inference scheduling 3

inference kernel 2

context management 2

agentic scaffolding 2

software implementation 26

filed at the root 2

inference engine 4

training framework 4

kernel & quantization library 6

agent product 4

Droid used
Stirrup used

infrastructure service 6

evaluation 15

benchmark 8

evaluation harness 3

judge 2

human & real-world evaluation 2

unfiled 12

Further reading

Picked by hand, not extracted: where to read more, not evidence for anything on this page.

Sources

The curated document list for this model. "not fetched" means the URL is recorded but its text was not read in the current run.