vllm_omni.diffusion.models.cosmos3.transformer_cosmos3_edge ¶
Cosmos3 Edge transformer variant with a Nemotron dense UND backbone.
COSMOS3_EDGE_BACKBONE_TYPE module-attribute ¶
Cosmos3EdgeCausalAttention ¶
Bases: Module
Edge UND causal attention.
Reasoner self-attention uses raw UND Q/K with RoPE because qk_norm_for_text=false. The GEN-facing UND key cache is a separate normalized-then-RoPE'd view of the raw K tensor when GEN QK norm is enabled; no-GEN-QK-norm checkpoints reuse the raw RoPE'd UND K.
attn instance-attribute ¶
attn = FrameworkAttention(
num_heads=self.num_heads,
head_size=self.head_dim,
causal=True,
softmax_scale=1.0 / self.head_dim**0.5,
num_kv_heads=self.num_kv_heads,
skip_sequence_parallel=True,
)
k_norm_und_for_gen instance-attribute ¶
k_norm_und_for_gen = (
RMSNorm(self.head_dim, eps=rms_norm_eps)
if use_und_k_norm_for_gen
else None
)
to_k instance-attribute ¶
to_k = ColumnParallelLinear(
hidden_size,
self.num_kv_heads * self.head_dim,
bias=False,
gather_output=False,
return_bias=False,
quant_config=quant_config,
prefix=f"{prefix}.to_k",
)
to_out instance-attribute ¶
to_out = RowParallelLinear(
self.num_heads * self.head_dim,
hidden_size,
bias=False,
input_is_parallel=True,
return_bias=False,
quant_config=quant_config,
prefix=f"{prefix}.to_out",
)
to_q instance-attribute ¶
to_q = ColumnParallelLinear(
hidden_size,
self.num_heads * self.head_dim,
bias=False,
gather_output=False,
return_bias=False,
quant_config=quant_config,
prefix=f"{prefix}.to_q",
)
to_v instance-attribute ¶
to_v = ColumnParallelLinear(
hidden_size,
self.num_kv_heads * self.head_dim,
bias=False,
gather_output=False,
return_bias=False,
quant_config=quant_config,
prefix=f"{prefix}.to_v",
)
Cosmos3EdgeLanguageModel ¶
Bases: Module
Nemotron dense UND tower that returns GEN-facing K plus raw V per layer.
layers instance-attribute ¶
layers = nn.ModuleList(
[
Cosmos3EdgeUndDecoderLayer(
hidden_size=hidden_size,
intermediate_size=intermediate_size,
num_attention_heads=num_attention_heads,
num_key_value_heads=num_key_value_heads,
head_dim=head_dim,
rms_norm_eps=rms_norm_eps,
use_und_k_norm_for_gen=use_und_k_norm_for_gen,
quant_config=quant_config,
prefix=f"{prefix}.layers.{i}",
)
for i in range(num_hidden_layers)
]
)
rotary_emb instance-attribute ¶
rotary_emb = Qwen3VLTextRotaryEmbedding(
head_dim=head_dim,
rope_theta=rope_theta,
mrope_section=mrope_section,
)
Cosmos3EdgeUndDecoderLayer ¶
Bases: Module
Edge UND decoder layer: causal self-attention + ReLU2 MLP.
mlp instance-attribute ¶
mlp = Cosmos3Relu2MLP(
hidden_size=hidden_size,
intermediate_size=intermediate_size,
quant_config=quant_config,
prefix=f"{prefix}.mlp",
)
post_attention_layernorm instance-attribute ¶
post_attention_layernorm = RMSNorm(
hidden_size, eps=rms_norm_eps
)
self_attn instance-attribute ¶
self_attn = Cosmos3EdgeCausalAttention(
hidden_size=hidden_size,
num_attention_heads=num_attention_heads,
num_key_value_heads=num_key_value_heads,
head_dim=head_dim,
rms_norm_eps=rms_norm_eps,
use_und_k_norm_for_gen=use_und_k_norm_for_gen,
quant_config=quant_config,
prefix=f"{prefix}.self_attn",
)
Cosmos3EdgeVFMTransformer ¶
Bases: Cosmos3VFMTransformer
Cosmos3 Edge variant with Nemotron dense UND and shared GEN diffusion.
Cosmos3Relu2MLP ¶
Bases: Module
Nemotron dense MLP: down_proj(relu(up_proj(x)) ** 2).
down_proj instance-attribute ¶
down_proj = RowParallelLinear(
intermediate_size,
hidden_size,
bias=False,
input_is_parallel=True,
return_bias=False,
quant_config=quant_config,
prefix=f"{prefix}.down_proj",
)
up_proj instance-attribute ¶
up_proj = ColumnParallelLinear(
hidden_size,
intermediate_size,
bias=False,
gather_output=False,
return_bias=False,
quant_config=quant_config,
prefix=f"{prefix}.up_proj",
)