RateTargetScenario
Robotics scenarios · Implementation: mlsysim/engine/scenario_definitions/robotics/proposers.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
evaluation held against a target_rate: one fresh evaluation per period, not pipelined.
Notes
Equation: period = 1 / target rate; slack = period - evaluation time; token budget scales the prefill remainder.
Assumptions: One fresh evaluation must complete per period without pipelining; prefill time scales linearly for the token-budget approximation.
Excludes: Overlap across evaluations, nonlinear prefill scaling, and clamping a negative token budget to zero.
References
Derivation: period = 1 / target rate; slack = period - evaluation time; token budget scales the prefill remainder. The individual properties state units and intermediate accounting; this class introduces no fitted coefficient.
Examples
The named scenario supplies illustrative inputs; the output is calculated.
>>> from mlsysim import Scenarios
>>> case = Scenarios.IntentModelFiveHertz
>>> round(float(case.period.to('ms').magnitude), 3)
200.0Attributes
| Name | Description |
|---|---|
| evaluation | |
| fits | Whether modeled total evaluation time fits one non-pipelined period; a Boolean |
| period | Required interval between fresh evaluations in milliseconds, inverse of target |
| prefill_budget | Milliseconds available to prefill after reserving the modeled decode duration. |
| slack | Period minus modeled evaluation time in milliseconds; negative values indicate |
| slack_fraction | Remaining period as a dimensionless share, which may be negative. |
| target_rate | |
| token_fraction | Admissible input fraction under a linear-prefill approximation; it is not clamped |
| tokens_within | Input-token budget under the linear-prefill approximation; returned as a |
evaluation
Type: VlaEvaluationScenario.
Declared default: required.
target_rate
Type: Quantity.
Declared default: required.
period
engine.scenario_types.RateTargetScenario.period
Required interval between fresh evaluations in milliseconds, inverse of target rate.
Equation: return (1 / target_rate).to('ms').
fits
engine.scenario_types.RateTargetScenario.fits
Whether modeled total evaluation time fits one non-pipelined period; a Boolean feasibility check.
Equation: return evaluation.result.t_total <= period.
slack
engine.scenario_types.RateTargetScenario.slack
Period minus modeled evaluation time in milliseconds; negative values indicate overrun.
Equation: return (period - evaluation.result.t_total).to('ms').
slack_fraction
engine.scenario_types.RateTargetScenario.slack_fraction
Remaining period as a dimensionless share, which may be negative.
Equation: return (slack / period).to('').magnitude.
prefill_budget
engine.scenario_types.RateTargetScenario.prefill_budget
Milliseconds available to prefill after reserving the modeled decode duration.
Equation: return (period - evaluation.result.t_decode).to('ms').
token_fraction
engine.scenario_types.RateTargetScenario.token_fraction
Admissible input fraction under a linear-prefill approximation; it is not clamped to zero or one.
Equation: return (prefill_budget / evaluation.result.t_prefill).to('').magnitude.
tokens_within
engine.scenario_types.RateTargetScenario.tokens_within
Input-token budget under the linear-prefill approximation; returned as a fractional count.
Equation: return token_fraction * evaluation.result.prefill_tokens.