bridge.data.datasets.preference#
Module Contents#
Classes#
Scoring-run inputs a training run must reproduce; written to and checked against |
Functions#
Validate offline-scorer output rows and key them by |
|
Write the ref-logprob rows as JSONL to |
|
Load and validate a ref-scorer artifact from |
|
Write |
|
Load the artifact’s |
|
Raise if the artifact was scored under different inputs than |
|
Per-pair padded row length (max of the two sides), one full pass over |
|
Deterministic longest-first batches under |
|
Collate pair records into an interleaved row batch (chosen@even, rejected@odd). |
|
Build a DPO loader from row-denominated sizes (one pair == two rows), halved here for the stock loader. |
Data#
API#
- bridge.data.datasets.preference.SCORING_METADATA_FILENAME#
‘scoring_metadata.json’
- bridge.data.datasets.preference.REF_LOGPROBS_FILENAME#
‘ref_logprobs.jsonl’
- bridge.data.datasets.preference.PAIR_TOKENIZATION_VERSION#
2
- class bridge.data.datasets.preference.ScoringFingerprint#
Scoring-run inputs a training run must reproduce; written to and checked against
scoring_metadata.json.- dataset: str#
None
- split: str | None#
None
- tokenizer: str#
None
- max_seq_length: int#
None
- prompt_key: str | None#
None
- tools_key: str | None#
None
- tensor_model_parallel_size: int#
None
- sequence_parallel: bool#
None
- chat_template_kwargs: dict[str, Any] | None#
None
- tokenization_version: int#
None
Bumped whenever the pair token streams change for the same inputs, so older artifacts fail the check.
- bridge.data.datasets.preference._open_path(path: str, mode: str)#
- bridge.data.datasets.preference.REF_LOGPROB_COLUMNS: tuple[str, ...]#
(‘ref_chosen_logprob_sum’, ‘ref_chosen_num_tokens’, ‘ref_rejected_logprob_sum’, ‘ref_rejected_num_to…
- bridge.data.datasets.preference.ref_logprobs_from_rows(
- rows: collections.abc.Iterable[collections.abc.Mapping[str, Any]],
- expected_num_pairs: int,
Validate offline-scorer output rows and key them by
pair_id.
- bridge.data.datasets.preference._artifact_path(artifact_dir: str, filename: str) str#
- bridge.data.datasets.preference.write_ref_logprobs(
- records: collections.abc.Sequence[collections.abc.Mapping[str, Any]],
- artifact_dir: str,
Write the ref-logprob rows as JSONL to
artifact_dir(local or msc://).
- bridge.data.datasets.preference.load_ref_logprobs(
- path: str,
- expected_num_pairs: int,
Load and validate a ref-scorer artifact from
path(local or msc://).
- bridge.data.datasets.preference.write_scoring_metadata(
- metadata: collections.abc.Mapping[str, Any],
- artifact_dir: str,
Write
scoring_metadata.jsontoartifact_dir(local or msc://).
- bridge.data.datasets.preference.read_scoring_metadata(artifact_dir: str) dict[str, Any]#
Load the artifact’s
scoring_metadata.json(local or msc://).
- bridge.data.datasets.preference.validate_scoring_metadata(
- artifact_dir: str,
- expected: bridge.data.datasets.preference.ScoringFingerprint,
Raise if the artifact was scored under different inputs than
expected; return its metadata.
- bridge.data.datasets.preference.pair_token_lengths(dataset: torch.utils.data.Dataset) list[int]#
Per-pair padded row length (max of the two sides), one full pass over
dataset.
- bridge.data.datasets.preference.pack_pairs_by_token_budget(
- lengths: collections.abc.Sequence[int],
- *,
- budget_tokens: int,
- max_pairs_per_batch: int = 64,
Deterministic longest-first batches under
budget_tokens; an over-budget pair gets a singleton.
- bridge.data.datasets.preference.preference_collate_fn(
- batch: list[collections.abc.Mapping[str, Any]],
- pad_token_id: int,
- pad_seq_length_to_mult: int = 1,
- require_ref_logprobs: bool = True,
Collate pair records into an interleaved row batch (chosen@even, rejected@odd).
- bridge.data.datasets.preference.build_preference_data_loader(
- dataset: torch.utils.data.Dataset,
- micro_batch_size: int,
- global_batch_size: int,
- data_parallel_rank: int,
- data_parallel_size: int,
- consumed_samples: int,
- num_workers: int = 0,
- pin_memory: bool = True,
- worker_init_fn: collections.abc.Callable[[int], None] | None = None,
- shuffle: bool = True,
- seed: int | None = None,
Build a DPO loader from row-denominated sizes (one pair == two rows), halved here for the stock loader.