> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/automodel/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/automodel/_mcp/server.

# nemo_automodel.components.models.deepseek_v32.model

DeepSeek V3.2 Model.

Contains DeepseekV32Block, DeepseekV32Model, and DeepseekV32ForCausalLM.
These classes subclass from DeepSeek V3, with the main difference being
the use of DeepseekV32MLA (with Indexer) instead of the standard MLA.

## Module Contents

### Classes

| Name                                                                                                    | Description                                 |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| [`DeepseekV32Block`](#nemo_automodel-components-models-deepseek_v32-model-DeepseekV32Block)             | Transformer block for DeepSeek V3.2.        |
| [`DeepseekV32ForCausalLM`](#nemo_automodel-components-models-deepseek_v32-model-DeepseekV32ForCausalLM) | DeepSeek V3.2 for Causal Language Modeling. |
| [`DeepseekV32Model`](#nemo_automodel-components-models-deepseek_v32-model-DeepseekV32Model)             | DeepSeek V3.2 Model.                        |

### Data

[`ModelClass`](#nemo_automodel-components-models-deepseek_v32-model-ModelClass)

### API

```python
class nemo_automodel.components.models.deepseek_v32.model.DeepseekV32Block(
    layer_idx: int,
    config: nemo_automodel.components.models.deepseek_v32.config.DeepseekV32Config,
    moe_config: nemo_automodel.components.moe.config.MoEConfig,
    backend: nemo_automodel.components.models.common.BackendConfig
)
```

**Bases:** [Block](/nemo-automodel/nemo_automodel/components/models/deepseek_v3/model#nemo_automodel-components-models-deepseek_v3-model-Block)

Transformer block for DeepSeek V3.2.

Subclasses V3 Block, using DeepseekV32MLA (with Indexer) instead of the standard MLA.

```python
class nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM(
    config: nemo_automodel.components.models.deepseek_v32.config.DeepseekV32Config,
    moe_config: nemo_automodel.components.moe.config.MoEConfig | None = None,
    backend: nemo_automodel.components.models.common.BackendConfig | None = None,
    kwargs = {}
)
```

**Bases:** [DeepseekV3ForCausalLM](/nemo-automodel/nemo_automodel/components/models/deepseek_v3/model#nemo_automodel-components-models-deepseek_v3-model-DeepseekV3ForCausalLM)

DeepSeek V3.2 for Causal Language Modeling.

Subclasses V3 ForCausalLM, using DeepseekV32Model and DeepSeekV32StateDictAdapter.

```python
nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM.forward(
    input_ids: torch.Tensor,
    position_ids: torch.Tensor | None = None,
    attention_mask: torch.Tensor | None = None,
    padding_mask: torch.Tensor | None = None,
    logits_to_keep: typing.Union[int, torch.Tensor] = 0,
    output_hidden_states: typing.Optional[bool] = None,
    attn_kwargs: typing.Any = {}
) -> transformers.modeling_outputs.CausalLMOutputWithPast
```

Forward pass returning :class:`CausalLMOutputWithPast`.

Supports both BSHD (`input_ids` shape `[B, S]` -> hidden states
`[B, S, H]`) and THD (`qkv_format == "thd"`; hidden states `[T, H]`
after the batch dim is squeezed, with logits unsqueezed back to
`[1, T, V]` on exit).

**Parameters:**

Input token IDs.

Optional position indices.

Optional attention mask.

Optional padding mask.

If `0` (default) project all positions; if `&gt; 0`
(or a tensor of indices) only the last `logits_to_keep` positions
are projected through `lm_head` (memory-efficient generation /
fused-CE training).

When truthy, the returned output carries the
final (pre-`lm_head`) hidden states spanning the full sequence.

Additional attention kwargs forwarded to the base model.

**Returns:** `CausalLMOutputWithPast`

class:`~transformers.modeling_outputs.CausalLMOutputWithPast` with

```python
nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM.from_config(
    config: nemo_automodel.components.models.deepseek_v32.config.DeepseekV32Config,
    moe_config: nemo_automodel.components.moe.config.MoEConfig | None = None,
    backend: nemo_automodel.components.models.common.BackendConfig | None = None,
    kwargs = {}
)
```

classmethod

```python
nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM.from_pretrained(
    pretrained_model_name_or_path: str,
    model_args = (),
    kwargs = {}
)
```

classmethod

```python
nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM.get_input_embeddings()
```

```python
nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM.get_output_embeddings()
```

```python
nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM.set_input_embeddings(
    value
)
```

```python
nemo_automodel.components.models.deepseek_v32.model.DeepseekV32ForCausalLM.set_output_embeddings(
    new_embeddings
)
```

```python
class nemo_automodel.components.models.deepseek_v32.model.DeepseekV32Model(
    config: nemo_automodel.components.models.deepseek_v32.config.DeepseekV32Config,
    backend: nemo_automodel.components.models.common.BackendConfig,
    moe_config: nemo_automodel.components.moe.config.MoEConfig | None = None,
    moe_overrides: dict | None = None
)
```

**Bases:** [DeepseekV3Model](/nemo-automodel/nemo_automodel/components/models/deepseek_v3/model#nemo_automodel-components-models-deepseek_v3-model-DeepseekV3Model)

DeepSeek V3.2 Model.

Subclasses V3 Model, using DeepseekV32Block instead of Block.

```python
nemo_automodel.components.models.deepseek_v32.model.ModelClass = DeepseekV32ForCausalLM
```