bridge.training.dpo_train#

DPO training entry point: run-config guardrails, artifact validation, loop hand-off.

Module Contents#

Functions#

dpo_train

Run DPO training over a scored preference dataset.

validate_dpo_run_config

Fail fast if the run has no usable reference artifact for each split it trains or evaluates on.

_validate_artifact

_warn_on_expert_layout_mismatch

Warn, never fail, when the trainer’s expert layout (EP, ETP) differs from the scoring run’s.

expected_scoring_metadata

The scoring fingerprint this run’s config implies for split, compared against the artifact’s.

Data#

API#

bridge.training.dpo_train.logger#

‘getLogger(…)’

bridge.training.dpo_train.dpo_train(
config: megatron.bridge.training.config.ConfigContainer,
forward_step_func: megatron.bridge.training.forward_step_func_types.ForwardStepCallable,
callbacks: list[megatron.bridge.training.callbacks.Callback] | megatron.bridge.training.callbacks.CallbackManager | None = None,
) → None#

Run DPO training over a scored preference dataset.

bridge.training.dpo_train.validate_dpo_run_config(
config: megatron.bridge.training.config.ConfigContainer,
) → None#

Fail fast if the run has no usable reference artifact for each split it trains or evaluates on.

The loss contract itself (per-token loss, no collective averaging, CP=1, no MTP, even row counts) is enforced by ConfigContainer.validate for any DPO dataset.

bridge.training.dpo_train._validate_artifact(
config: megatron.bridge.training.config.ConfigContainer,
artifact_dir: str,
split: Literal[train, validation],
) → None#
bridge.training.dpo_train._warn_on_expert_layout_mismatch(
config: megatron.bridge.training.config.ConfigContainer,
artifact_dir: str,
metadata: dict[str, Any],
) → None#

Warn, never fail, when the trainer’s expert layout (EP, ETP) differs from the scoring run’s.

bridge.training.dpo_train.expected_scoring_metadata(
config: megatron.bridge.training.config.ConfigContainer,
split: Literal[train, validation] = 'train',
) → megatron.bridge.data.datasets.preference.ScoringFingerprint#

The scoring fingerprint this run’s config implies for split, compared against the artifact’s.