> This page is for version 0.5.0 · 26.06.
> 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.datasets.llm.mock_iterable_dataset

## Module Contents

### Classes

| Name                                                                                                                   | Description                                                  |
| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [`MockIterableDataset`](#nemo_automodel-components-datasets-llm-mock_iterable_dataset-MockIterableDataset)             | Mock dataset that generates synthetic data for benchmarking. |
| [`MockIterableDatasetConfig`](#nemo_automodel-components-datasets-llm-mock_iterable_dataset-MockIterableDatasetConfig) | Construction-time configuration for `MockIterableDataset`.   |

### API

```python
class nemo_automodel.components.datasets.llm.mock_iterable_dataset.MockIterableDataset(
    vocab_size: int = 1024,
    seq_len: int = 1024,
    num_samples: int = 1000000,
    batch_size: int = 1,
    exclude_token_ids: tuple[int, ...] | list[int] | None = None
)
```

**Bases:** `IterableDataset`

Mock dataset that generates synthetic data for benchmarking.

This dataset generates random tokens similar to the benchmarking script,
creating input\_ids, labels, and position\_ids for each sample.

**`_allowed_ids`** `Tensor | None = None`

---

**`exclude_token_ids`**

---

```python
nemo_automodel.components.datasets.llm.mock_iterable_dataset.MockIterableDataset.__iter__()
```

Generate synthetic batches.

```python
nemo_automodel.components.datasets.llm.mock_iterable_dataset.MockIterableDataset.__len__()
```

Return the number of samples.

```python
nemo_automodel.components.datasets.llm.mock_iterable_dataset.MockIterableDataset._sample_tokens() -> torch.Tensor
```

Uniform random `[batch_size, seq_len]` ids over the vocabulary minus `exclude_token_ids`.

```python
class nemo_automodel.components.datasets.llm.mock_iterable_dataset.MockIterableDatasetConfig(
    vocab_size: int = 1024,
    seq_len: int = 1024,
    num_samples: int = 1000000,
    batch_size: int = 1,
    exclude_token_ids: tuple[int, ...] | list[int] | None = None
)
```

Dataclass

Construction-time configuration for `MockIterableDataset`.

**`batch_size`** `int = 1`

Batch size to yield (1 for unbatched samples).

---

**`exclude_token_ids`** `tuple[int, ...] | list[int] | None = None`

Token ids never emitted in `input_ids` (e.g. the model's `pad_token_id`).

---

**`num_samples`** `int = 1000000`

Total number of samples to generate (1M for an infinite-like dataset).

---

**`seq_len`** `int = 1024`

Sequence length for each sample.

---

**`vocab_size`** `int = 1024`

Size of the vocabulary for generating random tokens.

---

```python
nemo_automodel.components.datasets.llm.mock_iterable_dataset.MockIterableDatasetConfig.build() -> 'MockIterableDataset'
```

Build a `MockIterableDataset` from this `MockIterableDatasetConfig`.