nemo_automodel.components.models.qwen3

View as Markdown

Dense Qwen3 model support.

Submodules

Package Contents

Classes

NameDescription
Qwen3ForCausalLMDense Qwen3 causal LM with packed THD context parallelism.

API

class nemo_automodel.components.models.qwen3.model.Qwen3ForCausalLM(
config: transformers.Qwen3Config,
)

Bases: HFCheckpointingMixin, Qwen3PreTrainedModel, GenerationMixin

Dense Qwen3 causal LM with packed THD context parallelism.

_keep_in_fp32_modules
= ['rotary_emb']
_pp_plan
= {'lm_head': (['hidden_states'], ['logits'])}
_tied_weights_keys
= {'lm_head.weight': 'model.embed_tokens.weight'}
_tp_plan
= {'lm_head': 'colwise_rep'}
_uses_hf_attention
bool

BSHD and NEAT use HF dispatch; TE handles only pre-packed THD.

backend
= backend or BackendConfig()
lm_head
model
= Qwen3Model(config=config, backend=(self.backend))
tie_word_embeddings_support
TieSupport = TieSupport.BOTH
vocab_size
= config.vocab_size
nemo_automodel.components.models.qwen3.model.Qwen3ForCausalLM.forward(
input_ids: torch.LongTensor | None = None,
attention_mask: torch.Tensor | None = None,
position_ids: torch.LongTensor | None = None,
past_key_values: transformers.cache_utils.Cache | None = None,
inputs_embeds: torch.FloatTensor | None = None,
labels: torch.LongTensor | None = None,
use_cache: bool | None = None,
output_attentions: bool | None = None,
output_hidden_states: bool | None = None,
return_dict: bool | None = None,
cache_position: torch.LongTensor | None = None,
logits_to_keep: int | torch.Tensor = 0,
kwargs: transformers.processing_utils.Unpack[transformers.utils.TransformersKwargs] = {}
) -> transformers.modeling_outputs.CausalLMOutputWithPast

Run causal LM projection for BSHD or packed THD inputs.

Parameters:

input_ids
torch.LongTensor | NoneDefaults to None

Token IDs [B, S] or packed local IDs [T].

attention_mask
torch.Tensor | NoneDefaults to None

Optional padded mask. THD uses cu_seqlens.

position_ids
torch.LongTensor | NoneDefaults to None

Position IDs [B, S] or packed local IDs [T].

past_key_values
Cache | NoneDefaults to None

Optional BSHD KV cache; unsupported for THD.

inputs_embeds
torch.FloatTensor | NoneDefaults to None

Optional hidden inputs [B, S, H] or [T, H].

labels
torch.LongTensor | NoneDefaults to None

Optional labels [B, S] or packed [T].

use_cache
bool | NoneDefaults to None

Whether to update the BSHD KV cache.

output_attentions
bool | NoneDefaults to None

Whether to request attention outputs.

output_hidden_states
bool | NoneDefaults to None

Whether to return per-layer hidden states.

return_dict
bool | NoneDefaults to None

Whether to return CausalLMOutputWithPast.

cache_position
torch.LongTensor | NoneDefaults to None

Optional BSHD cache positions [S].

logits_to_keep
int | torch.TensorDefaults to 0

Positions to project from hidden size H to vocabulary size V.

**kwargs
Unpack[TransformersKwargs]Defaults to {}

THD metadata. cu_seqlens is [N + 1] and CP adds cp_size and cp_rank.

Returns: CausalLMOutputWithPast

Causal LM output with BSHD logits [B, S, V]. Packed local

nemo_automodel.components.models.qwen3.model.Qwen3ForCausalLM.get_input_embeddings() -> torch.nn.Module
nemo_automodel.components.models.qwen3.model.Qwen3ForCausalLM.get_output_embeddings() -> torch.nn.Module
nemo_automodel.components.models.qwen3.model.Qwen3ForCausalLM.set_input_embeddings(
value: torch.nn.Module
) -> None
nemo_automodel.components.models.qwen3.model.Qwen3ForCausalLM.set_output_embeddings(
new_embeddings: torch.nn.Module
) -> None
nemo_automodel.components.models.qwen3.model.Qwen3ForCausalLM.tie_weights(
_args: object = (),
_kwargs: object = {}
) -> None