dataset
Dataset preparation utilities for Puzzletron.
Classes
Sequence and media boundaries retained across distributed partitions. |
|
The only model-input contract shared by Puzzletron stages. |
|
A bounded local snapshot of Puzzle-KD's two canonical splits. |
|
A bounded local image-conversation snapshot of Nemotron-VLM v2. |
Functions
Normalize an AutoModel VLM/text collator result into |
|
Hydra-friendly AutoModel VLM dataset factory for the offline subset. |
|
Load a materialized conversation subset without contacting Hugging Face. |
|
Compatibility wrapper for the original InterSyn loader. |
|
Download once, validate, and cache the pinned 8+8 InterSyn acceptance set. |
|
Materialize a bounded, row-proportional Nemotron image-conversation subset. |
|
Stream normalized conversations into an atomically published offline subset. |
|
Compatibility wrapper for the original InterSyn materializer. |
|
Materialize bounded Puzzle-KD train/validation splits for offline tokenization. |
|
Convert the five-column-group InterSyn multi-turn schema without reordering turns. |
|
Convert one real InterSyn single-turn row to AutoModel conversation form. |
|
Preserve a complete Nemotron conversation while attaching its matched image. |
- class DataLayout
Bases:
str,Enum- FIXED = 'fixed'
- PACKED_VARLEN = 'packed_varlen'
- PADDED_VARLEN = 'padded_varlen'
- __new__(value)
- class PackedSequenceMetadata
Bases:
objectSequence and media boundaries retained across distributed partitions.
- __init__(global_cu_seqlens=None, local_cu_seqlens=None, max_seqlen=None, seq_ids=None, sample_offsets=(), media_counts=None, media_offsets=None, cp_rank=0, cp_size=1)
- Parameters:
global_cu_seqlens (Tensor | None)
local_cu_seqlens (Tensor | None)
max_seqlen (int | None)
seq_ids (Tensor | None)
sample_offsets (tuple[tuple[int, int], ...])
media_counts (Tensor | None)
media_offsets (Tensor | None)
cp_rank (int)
cp_size (int)
- Return type:
None
- cp_rank: int = 0
- cp_size: int = 1
- global_cu_seqlens: Tensor | None = None
- local_cu_seqlens: Tensor | None = None
- max_seqlen: int | None = None
- media_counts: Tensor | None = None
- media_offsets: Tensor | None = None
- sample_offsets: tuple[tuple[int, int], ...] = ()
- seq_ids: Tensor | None = None
- class PackingSpec
Bases:
object- __init__(pack_size, packing_ratio=1.0, drop_long_samples=True)
- Parameters:
pack_size (int)
packing_ratio (float)
drop_long_samples (bool)
- Return type:
None
- drop_long_samples: bool = True
- pack_size: int
- packing_ratio: float = 1.0
- class PuzzletronBatch
Bases:
objectThe only model-input contract shared by Puzzletron stages.
The batch remains backend-neutral: descriptor/stage adapters decide which validated
model_kwargsare consumed by a particular model forward.- __init__(model_kwargs, labels=None, ce_mask=None, kd_mask=None, hidden_mask=None, sequence=<factory>, sample_ids=(), source_metadata=<factory>, modality=Modality.TEXT, layout=DataLayout.FIXED)
- Parameters:
model_kwargs (Mapping[str, Any])
labels (Tensor | None)
ce_mask (Tensor | None)
kd_mask (Tensor | None)
hidden_mask (Tensor | None)
sequence (PackedSequenceMetadata)
sample_ids (tuple[str, ...])
source_metadata (Mapping[str, Any])
modality (Modality)
layout (DataLayout)
- Return type:
None
- property batch_size: int
- ce_mask: Tensor | None = None
- cp_partition(token_indices, *, cp_rank, cp_size)
- Parameters:
token_indices (Tensor)
cp_rank (int)
cp_size (int)
- Return type:
- dp_slice(*, dp_rank, dp_size)
Return one disjoint contiguous DP shard without duplicating samples/media.
- Parameters:
dp_rank (int)
dp_size (int)
- Return type:
- fingerprint: str
- property input_ids: Tensor
- kd_mask: Tensor | None = None
- labels: Tensor | None = None
- layout: DataLayout = 'fixed'
- model_kwargs: Mapping[str, Any]
- pad_batch_to_multiple(multiple)
Append fully masked rows for a static PP schedule without copying media.
- Parameters:
multiple (int)
- Return type:
- pp_microbatches(n_microbatches)
- Parameters:
n_microbatches (int)
- Return type:
tuple[PuzzletronBatch, …]
- replace_model_kwargs(**updates)
- Parameters:
updates (Any)
- Return type:
- sample_ids: tuple[str, ...] = ()
- sequence: PackedSequenceMetadata
- property sequence_length: int
- source_metadata: Mapping[str, Any]
- to(*args, **kwargs)
- Return type:
- class PuzzletronDataSpec
Bases:
object- __init__(modality, layout, max_sample_length, packing=None)
- Parameters:
modality (Modality)
layout (DataLayout)
max_sample_length (int)
packing (PackingSpec | None)
- Return type:
None
- classmethod from_mapping(raw)
- Parameters:
raw (Mapping[str, Any])
- Return type:
- layout: DataLayout
- property legacy_varlen: bool
- max_sample_length: int
- packing: PackingSpec | None = None
- property sequence_length: int
- class TextAcquisitionSpec
Bases:
objectA bounded local snapshot of Puzzle-KD’s two canonical splits.
- __init__(*, output_dir, train_samples=8192, validation_samples=1024, seed=408, revision=None, source='nvidia/Puzzle-KD-Nemotron-Post-Training-Dataset-v2')
- Parameters:
output_dir (Path)
train_samples (int)
validation_samples (int)
seed (int)
revision (str | None)
source (str)
- Return type:
None
- identity(*, revision)
- Parameters:
revision (str)
- Return type:
dict[str, Any]
- output_dir: Path
- revision: str | None = None
- seed: int = 408
- source: str = 'nvidia/Puzzle-KD-Nemotron-Post-Training-Dataset-v2'
- train_samples: int = 8192
- validation_samples: int = 1024
- class VlmAcquisitionSpec
Bases:
objectA bounded local image-conversation snapshot of Nemotron-VLM v2.
- __init__(*, output_dir, subsets=('sparsetables', 'plotqa_cot', 'wiki_en'), subset_rows=(), num_samples=512, seed=42, max_shards_per_subset=1, revision=None, source='nvidia/Nemotron-VLM-Dataset-v2')
- Parameters:
output_dir (Path)
subsets (tuple[str, ...])
subset_rows (tuple[tuple[str, int], ...])
num_samples (int)
seed (int)
max_shards_per_subset (int)
revision (str | None)
source (str)
- Return type:
None
- identity(*, revision)
- Parameters:
revision (str)
- Return type:
dict[str, Any]
- max_shards_per_subset: int = 1
- num_samples: int = 512
- output_dir: Path
- revision: str | None = None
- seed: int = 42
- source: str = 'nvidia/Nemotron-VLM-Dataset-v2'
- subset_rows: tuple[tuple[str, int], ...] = ()
- subsets: tuple[str, ...] = ('sparsetables', 'plotqa_cot', 'wiki_en')
- batch_from_automodel(collated, *, sample_ids, source_metadata, layout)
Normalize an AutoModel VLM/text collator result into
PuzzletronBatch.- Parameters:
collated (Mapping[str, Any])
sample_ids (Sequence[str])
source_metadata (Mapping[str, Any])
layout (DataLayout | str)
- Return type:
- load_materialized_conversation_dataset(path_or_dataset, *, num_samples=None, seq_length=None, pretokenize=None, truncate=None, inject_fake_images=None, max_length=None, **unknown)
Hydra-friendly AutoModel VLM dataset factory for the offline subset.
AutoModel passes the complete
datasetconfig to its dataset target, including processor/collator controls that it consumes after construction. Accept those declared controls explicitly so config composition stays transparent, but reject misspelled or otherwise unknown fields.- Parameters:
path_or_dataset (str | Path)
num_samples (int | None)
seq_length (int | None)
pretokenize (bool | None)
truncate (bool | None)
inject_fake_images (bool | None)
max_length (int | None)
unknown (Any)
- load_materialized_conversation_subset(output_dir)
Load a materialized conversation subset without contacting Hugging Face.
- Parameters:
output_dir (str | Path)
- Return type:
list[dict[str, Any]]
- load_materialized_intersyn_subset(output_dir)
Compatibility wrapper for the original InterSyn loader.
- Parameters:
output_dir (str | Path)
- Return type:
list[dict[str, Any]]
- materialize_intersyn_subset(output_dir, *, rows_per_source=8, dataset_loader=None)
Download once, validate, and cache the pinned 8+8 InterSyn acceptance set.
- Parameters:
output_dir (str | Path)
rows_per_source (int)
- Return type:
dict[str, Any]
- materialize_nemotron_vlm_dataset(spec, *, sample_loader=None, revision_resolver=<function _resolve_revision>)
Materialize a bounded, row-proportional Nemotron image-conversation subset.
- Parameters:
spec (VlmAcquisitionSpec)
sample_loader (Callable[..., Iterable[Mapping[str, Any]]] | None)
revision_resolver (Callable[[str, str | None], str])
- Return type:
dict[str, Any]
- materialize_normalized_conversation_samples(samples, output_dir, *, acquisition=None, diagnostics=None, expected_count=None)
Stream normalized conversations into an atomically published offline subset.
- Parameters:
samples (Iterable[Mapping[str, Any]])
output_dir (str | Path)
acquisition (Mapping[str, Any] | None)
diagnostics (Mapping[str, Any] | None)
expected_count (int | None)
- Return type:
dict[str, Any]
- materialize_normalized_intersyn_samples(samples, output_dir)
Compatibility wrapper for the original InterSyn materializer.
- Parameters:
samples (Sequence[Mapping[str, Any]])
output_dir (str | Path)
- Return type:
dict[str, Any]
- materialize_puzzle_kd_dataset(spec, *, dataset_loader=None, revision_resolver=<function _resolve_revision>)
Materialize bounded Puzzle-KD train/validation splits for offline tokenization.
- Parameters:
spec (TextAcquisitionSpec)
dataset_loader (Callable[..., Iterable[Mapping[str, Any]]] | None)
revision_resolver (Callable[[str, str | None], str])
- Return type:
dict[str, Any]
- normalize_intersyn_multi(row)
Convert the five-column-group InterSyn multi-turn schema without reordering turns.
- Parameters:
row (Mapping[str, Any])
- Return type:
dict[str, Any]
- normalize_intersyn_single(row)
Convert one real InterSyn single-turn row to AutoModel conversation form.
- Parameters:
row (Mapping[str, Any])
- Return type:
dict[str, Any]
- normalize_nemotron_vlm_sample(row, *, subset, revision)
Preserve a complete Nemotron conversation while attaching its matched image.
- Parameters:
row (Mapping[str, Any])
subset (str)
revision (str)
- Return type:
dict[str, Any]