PyTorch¶
Torch frontend for ZKDV.
ZKDV ¶
ZKDV(path: Any, config: ZKDVConfig | None = None, *, max_in_flight: int = 2, replay_snapshot_interval: int = 12)
Bases: Driver
Generate a verification tape around ordinary Torch training steps.
Source code in zkdv/driver/torch.py
backward ¶
Lower backward in attestation and use eager autograd in training.
Source code in zkdv/driver/torch.py
forward ¶
Lower a prepared model call during attestation capture.
Source code in zkdv/driver/torch.py
prepare ¶
Prepare recognized stateful objects and leave all others unchanged.
register_functional_optimizer ¶
register_functional_optimizer(optimizer_type: type[Optimizer], contract: OptimizerContract) -> None
Register a proof-local custom functional optimizer contract.
Source code in zkdv/driver/torch.py
transaction ¶
transaction(*, batch: Any, overlap: Any = None) -> EagerTransaction
Begin an eager transaction before the model forward mutates state.
Source code in zkdv/driver/torch.py
artifact ¶
Hermetic Torch AOT artifact compilation and loading.
roundtrip ¶
Compile, serialize, and reload one exact AOT Inductor program.
Source code in zkdv/torch/artifact.py
capture ¶
Proof-aware execution context for lowering an attested Torch transition.
AttestationCapture ¶
Collect gradients and the optimizer transition during attested execution.
Source code in zkdv/torch/capture.py
checkpoint ¶
Bounded pinned-host snapshots for Torch checked replay.
eager ¶
One eager Torch training transaction submitted through the ZKDV pipeline.
EagerTransaction ¶
Keep a proof transaction open from eager forward through optimizer step.
Source code in zkdv/torch/eager.py
generated ¶
Import target used by packaged ZKDV Torch AOT guards.
lowering ¶
Lower proof-aware Python execution to a standalone Torch graph function.
lower ¶
Capture once and return a state-free callable for trusted Rust sealing.
Source code in zkdv/torch/lowering.py
model ¶
Prepared model state used by Torch functional replay.
PreparedModel
dataclass
¶
PreparedModel(public: Module, target: Module, parameter_names: tuple[str, ...], buffer_names: tuple[str, ...], distributed: bool, fsdp: bool, parameter_metadata: tuple[Any, ...], state_parameters: tuple[Tensor, ...], state_buffers: tuple[Tensor, ...])
Bind one eager module to a stable parameter and buffer layout.
optimizers ¶
Functional optimizer contracts used by the Torch frontend.
OptimizerBridge ¶
OptimizerBridge(optimizer: Optimizer, contract: OptimizerContract)
Own the canonical state layout for one prepared optimizer.
Source code in zkdv/torch/optimizers/bridge.py
bind ¶
Bind optimizer groups to a model's canonical parameter order.
Source code in zkdv/torch/optimizers/bridge.py
pack_state ¶
Return the live optimizer state without copying its tensors.
Source code in zkdv/torch/optimizers/bridge.py
transition ¶
transition(parameters: tuple[Tensor, ...], state: tuple[tuple[dict[str, Any], ...], ...], gradients: tuple[Tensor | None, ...]) -> tuple[tuple[Tensor, ...], tuple[tuple[dict[str, Any], ...], ...]]
Compute deltas and next optimizer state without changing the inputs.
Source code in zkdv/torch/optimizers/bridge.py
validate_configuration ¶
Reject optimizer semantics that changed after attestation.
Source code in zkdv/torch/optimizers/bridge.py
OptimizerContract ¶
Bases: ABC
Describe one optimizer's tensor state and functional group update.
initialize
abstractmethod
¶
update
abstractmethod
¶
update(parameters: list[Tensor], gradients: list[Tensor], states: list[dict[str, Any]], group: dict[str, Any]) -> None
Apply one functional parameter-group update in place.
validate ¶
Reject modes whose semantics cannot be represented by the bridge.
Source code in zkdv/torch/optimizers/base.py
OptimizerRegistry ¶
Resolve prepared optimizers without optimizer branching elsewhere.
Source code in zkdv/torch/optimizers/registry.py
adadelta ¶
Functional bridge contract for :class:torch.optim.Adadelta.
adafactor ¶
Functional bridge contract for :class:torch.optim.Adafactor.
adagrad ¶
Functional bridge contract for :class:torch.optim.Adagrad.
adam ¶
Functional bridge contract for :class:torch.optim.Adam.
adamax ¶
Functional bridge contract for :class:torch.optim.Adamax.
adamw ¶
Functional bridge contract for :class:torch.optim.AdamW.
asgd ¶
Functional bridge contract for :class:torch.optim.ASGD.
base ¶
Contract between an eager Torch optimizer and its functional update.
OptimizerContract ¶
Bases: ABC
Describe one optimizer's tensor state and functional group update.
initialize
abstractmethod
¶
update
abstractmethod
¶
update(parameters: list[Tensor], gradients: list[Tensor], states: list[dict[str, Any]], group: dict[str, Any]) -> None
Apply one functional parameter-group update in place.
validate ¶
Reject modes whose semantics cannot be represented by the bridge.
Source code in zkdv/torch/optimizers/base.py
bridge ¶
State-preserving bridge from eager optimizers to functional contracts.
OptimizerBridge ¶
OptimizerBridge(optimizer: Optimizer, contract: OptimizerContract)
Own the canonical state layout for one prepared optimizer.
Source code in zkdv/torch/optimizers/bridge.py
bind ¶
Bind optimizer groups to a model's canonical parameter order.
Source code in zkdv/torch/optimizers/bridge.py
pack_state ¶
Return the live optimizer state without copying its tensors.
Source code in zkdv/torch/optimizers/bridge.py
transition ¶
transition(parameters: tuple[Tensor, ...], state: tuple[tuple[dict[str, Any], ...], ...], gradients: tuple[Tensor | None, ...]) -> tuple[tuple[Tensor, ...], tuple[tuple[dict[str, Any], ...], ...]]
Compute deltas and next optimizer state without changing the inputs.
Source code in zkdv/torch/optimizers/bridge.py
validate_configuration ¶
Reject optimizer semantics that changed after attestation.
Source code in zkdv/torch/optimizers/bridge.py
buffers ¶
Contiguous storage for native optimizer state tensors.
pack_optimizer_state ¶
Rebind compatible state tensors to shared contiguous backing buffers.
Source code in zkdv/torch/optimizers/buffers.py
lbfgs ¶
Explicit rejection contract for closure-driven LBFGS updates.
muon ¶
Functional bridge contract for :class:torch.optim.Muon.
nadam ¶
Functional bridge contract for :class:torch.optim.NAdam.
radam ¶
Functional bridge contract for :class:torch.optim.RAdam.
registry ¶
Exact-type registry for Torch functional optimizer contracts.
OptimizerRegistry ¶
Resolve prepared optimizers without optimizer branching elsewhere.
Source code in zkdv/torch/optimizers/registry.py
rmsprop ¶
Functional bridge contract for :class:torch.optim.RMSprop.
rprop ¶
Functional bridge contract for :class:torch.optim.Rprop.
sgd ¶
Functional bridge contract for :class:torch.optim.SGD.
sparse_adam ¶
Functional bridge contract for :class:torch.optim.SparseAdam.
utils ¶
Flat tensor utilities shared by functional optimizer contracts.
pipeline ¶
Canonical Torch transaction pipeline above the native protocol boundary.
Pipeline ¶
Pipeline(core: Any, program: Any, queue: Any, params: Any, opt_state: Any, batch: Any, *, snapshot_interval: int = 12, deferred_mutation_barrier: bool = False)
Bases: Pipeline
Compile and submit the Torch fused update protocol.
Source code in zkdv/torch/pipeline.py
requires_update_deltas
property
¶
Whether a sampled replay can require production update deltas.