mixle.utils.parallel.training_contracts moduleΒΆ
Contracts shared by distributed gradient-training backends.
The encoded-data backends reduce sufficient statistics. Frontier neural
training has a different lifecycle: materialize a process mesh, transform a
module, bind optimizer state to logical parameters, execute steps, and save a
reshardable training state. Keeping that lifecycle separate prevents a Ray or
Megatron integration from pretending to be an EncodedDataHandle.
- class BackendCapabilities(name, axes, precisions=frozenset({'bf16', 'fp32'}), distributed_optimizer=False, reshardable_checkpoint=False, elastic_restart=False, requirements=(), incompatible_axis_sets=())[source]
Bases:
objectWhat a backend actually executes, rather than merely accepting as flags.
- class CollectiveKind(*values)[source]
Bases:
StrEnumCollective or point-to-point operation required by an update.
- class DistributedTrainingBackend(*args, **kwargs)[source]
Bases:
ProtocolStructural extension point implemented by Torch, Megatron, or other engines.
- class DistributedTrainingSession(*args, **kwargs)[source]
Bases:
ProtocolA materialized model, optimizer, mesh, and resumable step clock.
- class DistributedUpdate(node_id, payload, collective, mesh_axes, state_layout, exact, notes=(), contract_exact=False, determinism_observed=None, maximum_absolute_error=None, maximum_relative_error=None, numerics_evidence_id=None, numerics_sample_count=0)[source]
Bases:
objectExecutable communication declaration with explicit numerical evidence.
- Parameters:
node_id (str)
payload (PayloadKind)
collective (CollectiveKind)
mesh_axes (tuple[ParallelAxis, ...])
state_layout (StateLayout)
exact (bool)
contract_exact (bool)
determinism_observed (bool | None)
maximum_absolute_error (float | None)
maximum_relative_error (float | None)
numerics_evidence_id (str | None)
numerics_sample_count (int)
- class ParallelAxis(*values)[source]
Bases:
StrEnumNamed dimensions understood by Mixle and external training engines.
- class ParallelPlan(dp_replicate=1, dp_shard=1, tp=1, pp=1, cp=1, ep=1, etp=1, microbatches=1, gradient_accumulation_steps=1)[source]
Bases:
objectAn explicit N-D process mesh and batch schedule.
Every process belongs to exactly one coordinate in the product below. Keeping replicate and shard data-parallel dimensions separate permits HSDP without conflating it with tensor or context parallelism.
- Parameters:
- property world_size: int
Number of physical ranks.
EP and ETP are overlapping process groups cut from the data/model domains, not extra orthogonal DeviceMesh dimensions.
- class ParameterLayout(logical_id, global_shape, placements=(), shared_group=None, optimizer_state=StateLayout.REPLICATED)[source]
Bases:
objectStable logical identity and global layout for one parameter.
- class StepReceipt(step, loss, local_examples, local_tokens, microbatches, accumulation_steps, data_parallel_size, optimizer, precision, collective_bytes=0, skipped=False, extra=<factory>, global_examples_observed=None, global_tokens_observed=None)[source]
Bases:
objectUnambiguous accounting for one committed optimizer update.
- Parameters:
- get_training_backend(name)[source]
Resolve a registered backend, calling a zero-argument lazy factory once.