> This page is for version Nightly (default).
> For other versions, use one of these documentation indexes:
> - Nightly (default): https://docs.nvidia.com/nemo/automodel/nightly/llms.txt
> - Latest: https://docs.nvidia.com/nemo/automodel/latest/llms.txt
> - 0.5.0 · 26.06: https://docs.nvidia.com/nemo/automodel/v0.5/llms.txt
> - 0.4.0 · 26.04: https://docs.nvidia.com/nemo/automodel/v0.4/llms.txt

> 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_v41.fsdp

FSDP policy for V4.1's shared V4 vision tower.

## Module Contents

### Classes

| Name                                                                                                               | Description                                                    |
| ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------- |
| [`DeepseekV41ModelParallelizer`](#nemo_automodel-components-models-deepseek_v41-fsdp-DeepseekV41ModelParallelizer) | Keep DeepSeek-V4.1 vision parameters in dtype-safe FSDP units. |

### Functions

| Name                                                                                                       | Description                                                            |
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| [`fully_shard_deepseek_v41`](#nemo_automodel-components-models-deepseek_v41-fsdp-fully_shard_deepseek_v41) | Reuse V4's vision norm policy while preserving ordinary language FSDP. |

### Data

[`PARALLELIZER`](#nemo_automodel-components-models-deepseek_v41-fsdp-PARALLELIZER)

### API

```python
class nemo_automodel.components.models.deepseek_v41.fsdp.DeepseekV41ModelParallelizer()
```

**Bases:** `ModelParallelizer`

Keep DeepSeek-V4.1 vision parameters in dtype-safe FSDP units.

```python
nemo_automodel.components.models.deepseek_v41.fsdp.DeepseekV41ModelParallelizer._fully_shard_module(
    module,
    kwargs = {}
)
```

```python
nemo_automodel.components.models.deepseek_v41.fsdp.fully_shard_deepseek_v41(
    module: torch.nn.Module,
    mesh: torch.distributed.device_mesh.DeviceMesh,
    mp_policy: torch.distributed.fsdp.MixedPrecisionPolicy,
    offload_policy: torch.distributed.fsdp.OffloadPolicy | None = None,
    reshard_after_forward: bool | int | None = None,
    ignored_params: set[torch.nn.Parameter] | None = None
) -> torch.nn.Module
```

Reuse V4's vision norm policy while preserving ordinary language FSDP.

**Parameters:**

**`module`** `nn.Module`

Module to shard in place; vision towers/blocks retain FP32 norms.

---

**`mesh`** `DeviceMesh`

Runtime FSDP device mesh.

---

**`mp_policy`** `MixedPrecisionPolicy`

Mixed-precision policy for the module's non-norm parameters.

---

**`offload_policy`** `OffloadPolicy | None` — default: None

Parameter/gradient offload policy.

---

**`reshard_after_forward`** `bool | int | None` — default: None

PyTorch FSDP resharding setting.

---

**`ignored_params`** `set[nn.Parameter] | None` — default: None

Parameter tensors of arbitrary shapes already managed
outside this FSDP unit, retaining their existing DTensor placements.

---

**Returns:** `nn.Module`

The input module with FSDP applied.

```python
nemo_automodel.components.models.deepseek_v41.fsdp.PARALLELIZER = DeepseekV41ModelParallelizer()
```