state_sparsity#
Decay-aware sparsity policies for persisted recurrent state.
Classes
Caller-supplied measurements for one candidate recovery window. |
|
Configuration for GDN decay-aware state checkpoint sparsity. |
|
Serializable whole-head policy for one GDN layer. |
|
Standalone JSON-safe DASC deployment policy. |
|
Quality and lifecycle measurements for one calibration slice. |
Functions
Return per-head horizons, optionally canonicalized to a checkpoint storage dtype. |
|
Calibrate and attach a DASC policy without changing model execution. |
|
Compute one static retention horizon per GDN head in CPU float64. |
|
Export a JSON-safe DASC policy after validating model structure and decay parameters. |
- class DASCCalibrationMeasurement#
Bases:
ModeloptBaseConfigCaller-supplied measurements for one candidate recovery window.
- checkpoint_savings: float#
- model_config = {'extra': 'forbid', 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- quality: list[DASCQualityMeasurement]#
- retained_heads: int#
- total_heads: int#
- classmethod validate_unique_slices(quality)#
Require one result per named calibration slice.
- Parameters:
quality (list[DASCQualityMeasurement])
- Return type:
list[DASCQualityMeasurement]
- variant: Literal['dasc_nr', 'dasc_wr']#
- wmax: int#
- class DASCConfig#
Bases:
ModeloptBaseConfigConfiguration for GDN decay-aware state checkpoint sparsity.
- calibration_data_id: str#
- decay_parameter_storage_dtype: Literal['float16', 'bfloat16', 'float32']#
- epsilon: float#
- granularity: Literal['gdn_head']#
- min_checkpoint_savings: float#
- min_perplexity_retention: float#
- min_top1_agreement: float#
- model_config = {'extra': 'forbid', 'protected_namespaces': (), 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_config_id: str#
- model_id: str#
- model_revision: str#
- preserve_convolution_state: Literal[True]#
- static_gate_input: float#
- classmethod validate_epsilon(epsilon)#
Require a finite decay threshold strictly between zero and one.
- Parameters:
epsilon (float)
- Return type:
float
- classmethod validate_perplexity_gate(value)#
Require a finite positive retention gate.
- Parameters:
value (float)
- Return type:
float
- classmethod validate_provenance(value)#
Require explicit immutable provenance instead of inferred defaults.
- Parameters:
value (str)
- Return type:
str
- classmethod validate_savings_gate(value)#
Require a finite physical checkpoint-savings gate in [0, 1).
- Parameters:
value (float)
- Return type:
float
- classmethod validate_static_gate_input(value)#
Require a finite representative gate input.
- Parameters:
value (float)
- Return type:
float
- classmethod validate_top1_gate(value)#
Require a finite agreement gate in [0, 1].
- Parameters:
value (float)
- Return type:
float
- classmethod validate_wmax_candidates(candidates)#
Require unique positive integer windows without power-of-two restrictions.
- Parameters:
candidates (object)
- Return type:
object
- variant: Literal['dasc_nr', 'dasc_wr']#
- wmax_candidates: list[int]#
- class DASCLayerPolicy#
Bases:
ModeloptBaseConfigSerializable whole-head policy for one GDN layer.
- model_config = {'extra': 'forbid', 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- num_heads: int#
- omitted_heads: list[int]#
- retained_heads: list[int]#
- static_horizons: list[float]#
- validate_partition()#
Validate that retained and omitted indices partition every GDN head.
- Return type:
- class DASCPolicy#
Bases:
ModeloptBaseConfigStandalone JSON-safe DASC deployment policy.
- active_runtime_state: Literal['dense']#
- calibration_data_id: str#
- decay_parameter_storage_dtype: Literal['float16', 'bfloat16', 'float32']#
- decay_parameters_sha256: str#
- epsilon: float#
- format_version: Literal[1]#
- granularity: Literal['gdn_head']#
- layers: dict[str, DASCLayerPolicy]#
- measurements: list[DASCCalibrationMeasurement]#
- model_config = {'extra': 'forbid', 'protected_namespaces': (), 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_config_id: str#
- model_id: str#
- model_revision: str#
- model_structure_sha256: str#
- preserve_convolution_state: Literal[True]#
- quality_gates: dict[str, float]#
- recovery: Literal['zero', 'suffix_replay']#
- selected_wmax: int#
- static_gate_input: float#
- validate_policy()#
Reject inconsistent variant, candidate, measurement, or mask metadata.
- Return type:
- variant: Literal['dasc_nr', 'dasc_wr']#
- wmax_candidates: list[int]#
- class DASCQualityMeasurement#
Bases:
ModeloptBaseConfigQuality and lifecycle measurements for one calibration slice.
- convolution_state_exact: bool#
- finite_continuation_logits: bool#
- model_config = {'extra': 'forbid', 'validate_assignment': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- omitted_state_matches_recovery: bool#
- perplexity_retention: float#
- retained_state_exact: bool#
- slice_id: str#
- top1_agreement: float#
- analyze_gdn_decay(model, *, epsilon=0.001, static_gate_input=-0.3, decay_parameter_storage_dtype=None)#
Return per-head horizons, optionally canonicalized to a checkpoint storage dtype.
- Parameters:
model (Module)
epsilon (float)
static_gate_input (float)
decay_parameter_storage_dtype (Literal['float16', 'bfloat16', 'float32'] | None)
- Return type:
dict[str, list[float]]
- calibrate(model, config, measurements)#
Calibrate and attach a DASC policy without changing model execution.
measurementsmust contain exactly one entry for every configuredWmaxcandidate. The largest candidate passing every quality, lifecycle, and storage gate is selected. Recalibrating replaces the existing DASC mode-state entry in place.Example:
import modelopt.torch.sparsity.state_sparsity as mtss model = mtss.calibrate(model, config, measurements) deployment_policy = mtss.export_policy(model)
- Parameters:
model (Module) – Model containing GatedDeltaNet modules with one-dimensional
A_loganddt_biastensors.config (dict[str, Any] | DASCConfig) – Checkpoint provenance, candidate windows, and quality gates.
measurements (Iterable[DASCCalibrationMeasurement | dict]) – Quality and checkpoint-storage results produced by the caller’s paired dense-versus-DASC calibration workflow.
- Returns:
The input model with a serializable DASC policy attached through ModelOpt state.
- Return type:
Module
- compute_gdn_decay_horizons(a_log, dt_bias, *, epsilon=0.001, static_gate_input=-0.3)#
Compute one static retention horizon per GDN head in CPU float64.
- Parameters:
a_log (Tensor)
dt_bias (Tensor)
epsilon (float)
static_gate_input (float)
- Return type:
Tensor
- export_policy(model)#
Export a JSON-safe DASC policy after validating model structure and decay parameters.
This policy does not implement checkpoint packing or recovery. A serving backend must preserve convolution state, store retained complete GDN heads, recover omitted heads according to the declared variant, and materialize the ordinary dense runtime state before continuation.
- Parameters:
model (Module)
- Return type:
dict[str, Any]