vllm_omni.model_executor.models.audex.audex_thinker ¶
Audex thinker: the Nemotron dense decoder-only LM that autoregressively emits <speechcodec_N> tokens for TTS.
The thinker is a plain token-in/token-out vLLM model. Speech-codec token extraction happens in the stage input processors (vllm_omni/model_executor/stage_input_processors/audex.py), which read the sampled token stream directly, so no omni-specific output plumbing is needed here.
NemotronDenseAttention ¶
Bases: Module
attn instance-attribute ¶
attn = Attention(
self.num_heads,
self.head_dim,
self.scaling,
num_kv_heads=self.num_kv_heads,
cache_config=cache_config,
quant_config=quant_config,
prefix=f"{prefix}.attn",
)
o_proj instance-attribute ¶
o_proj = RowParallelLinear(
input_size=self.total_num_heads * self.head_dim,
output_size=hidden_size,
bias=bias,
quant_config=quant_config,
prefix=f"{prefix}.o_proj",
)
qkv_proj instance-attribute ¶
qkv_proj = QKVParallelLinear(
hidden_size=hidden_size,
head_size=self.head_dim,
total_num_heads=self.total_num_heads,
total_num_kv_heads=self.total_num_kv_heads,
bias=bias,
quant_config=quant_config,
prefix=f"{prefix}.qkv_proj",
)
rotary_emb instance-attribute ¶
rotary_emb = get_rope(
self.head_dim,
max_position=max_position_embeddings,
rope_parameters=config.rope_parameters,
)
NemotronDenseDecoderLayer ¶
Bases: Module
input_layernorm instance-attribute ¶
input_layernorm = NemotronDenseRMSNorm(
config.hidden_size, eps=config.norm_eps
)
mlp instance-attribute ¶
mlp = NemotronDenseMLP(
hidden_size=self.hidden_size,
intermediate_size=config.intermediate_size,
hidden_act=config.hidden_act,
quant_config=quant_config,
bias=getattr(config, "mlp_bias", False),
prefix=f"{prefix}.mlp",
)
post_attention_layernorm instance-attribute ¶
post_attention_layernorm = NemotronDenseRMSNorm(
config.hidden_size, eps=config.norm_eps
)
self_attn instance-attribute ¶
self_attn = NemotronDenseAttention(
config=config,
hidden_size=self.hidden_size,
num_heads=config.num_attention_heads,
num_kv_heads=getattr(
config,
"num_key_value_heads",
config.num_attention_heads,
),
max_position_embeddings=max_position_embeddings,
quant_config=quant_config,
bias=attention_bias,
cache_config=cache_config,
prefix=f"{prefix}.self_attn",
)
NemotronDenseForCausalLM ¶
Bases: Module, SupportsLoRA, SupportsPP
embedding_modules class-attribute instance-attribute ¶
lm_head instance-attribute ¶
lm_head = ParallelLMHead(
config.vocab_size,
config.hidden_size,
quant_config=quant_config,
prefix=maybe_prefix(prefix, "lm_head"),
)
logits_processor instance-attribute ¶
make_empty_intermediate_tensors instance-attribute ¶
model instance-attribute ¶
model = NemotronDenseModel(
vllm_config=vllm_config,
prefix=maybe_prefix(prefix, "model"),
)
packed_modules_mapping class-attribute instance-attribute ¶
compute_logits ¶
compute_logits(
hidden_states: Tensor, sampling_metadata: Any = None
) -> Tensor | None
NemotronDenseMLP ¶
Bases: Module
down_proj instance-attribute ¶
down_proj = RowParallelLinear(
input_size=intermediate_size,
output_size=hidden_size,
bias=bias,
quant_config=quant_config,
prefix=f"{prefix}.down_proj",
)
up_proj instance-attribute ¶
up_proj = ColumnParallelLinear(
input_size=hidden_size,
output_size=intermediate_size,
bias=bias,
quant_config=quant_config,
prefix=f"{prefix}.up_proj",
)
NemotronDenseModel ¶
Bases: Module
embed_tokens instance-attribute ¶
make_empty_intermediate_tensors instance-attribute ¶
make_empty_intermediate_tensors = (
make_empty_intermediate_tensors_factory(
["hidden_states"], config.hidden_size
)
)
forward ¶
forward(
input_ids: Tensor | None,
positions: Tensor,
intermediate_tensors: IntermediateTensors | None,
inputs_embeds: Tensor | None = None,
) -> Tensor | IntermediateTensors