Skip to main content

ParameterBandwidthGrowthScenario

Optimization scenarios · Implementation: mlsysim/engine/scenario_definitions/optimization.py.

Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.

Dense-model parameter growth against per-device memory-bandwidth growth.

Each series is indexed to its baseline entry; the growth is the largest index. sparse_models are reported but kept out of the growth figure, because their total parameter count does not set per-token traffic.

Notes

Equation: The calculation members below define bandwidth_index, dense_index, sparse_index, bandwidth_growth, parameter_growth.

Assumptions: The supplied baseline is comparable to every member; dense total parameters proxy a weight read.

Excludes: Sparse active-parameter traffic and changes in numerical precision.

References

Derivation: Dense-model parameter growth against per-device memory-bandwidth growth. Each member records the corresponding algebra or named physics function.

Examples

Evaluate the named configuration and display a modeled result.

>>> from mlsysim import Scenarios
>>> case = Scenarios.DenseParametersVsBandwidthSince2014
>>> value = case.parameter_growth
>>> print(f"{value:.3g}")
3.9e+03

Attributes

Name Description
accelerators
bandwidth_growth Largest dimensionless bandwidth index in the selected accelerator series.
bandwidth_index Each accelerator’s bandwidth divided by the baseline bandwidth, dimensionless.
baseline_accelerator
baseline_model
dense_index Each dense model’s parameter count divided by the baseline count, dimensionless.
dense_models
parameter_growth Largest dense-model parameter index; sparse models are excluded.
sparse_index Total sparse-model parameters relative to baseline; not active parameters per token.
sparse_models

accelerators

Type: List[HardwareNode].

Declared default: required.

dense_models

Type: List[Workload].

Declared default: required.

sparse_models

Type: List[Workload].

Declared default: [].

baseline_accelerator

Type: HardwareNode.

Declared default: required.

baseline_model

Type: Workload.

Declared default: required.

bandwidth_index

engine.scenario_types.ParameterBandwidthGrowthScenario.bandwidth_index

Each accelerator’s bandwidth divided by the baseline bandwidth, dimensionless.

Equation: [(h.memory.bandwidth / b0).to('').magnitude for h in accelerators].

dense_index

engine.scenario_types.ParameterBandwidthGrowthScenario.dense_index

Each dense model’s parameter count divided by the baseline count, dimensionless.

Equation: [(m.parameters / p0).to('').magnitude for m in dense_models].

sparse_index

engine.scenario_types.ParameterBandwidthGrowthScenario.sparse_index

Total sparse-model parameters relative to baseline; not active parameters per token.

Equation: [(m.parameters / p0).to('').magnitude for m in sparse_models].

bandwidth_growth

engine.scenario_types.ParameterBandwidthGrowthScenario.bandwidth_growth

Largest dimensionless bandwidth index in the selected accelerator series.

Equation: max(bandwidth_index).

parameter_growth

engine.scenario_types.ParameterBandwidthGrowthScenario.parameter_growth

Largest dense-model parameter index; sparse models are excluded.

Equation: max(dense_index).

Back to top