Skip to main content

VlaTokenBudgetScenario

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.

Tokens a VLA backbone reads from views square camera frames, and their memory per token.

Notes

Equation: visual tokens = views * floor(frame pixels / patch pixels)^2; KV bytes per token = 2 * layers * hidden width * element bytes.

Assumptions: Views are square, one token represents each complete patch, and keys and values use full hidden width.

Excludes: Image encoder intermediates, grouped-query or compressed caches, padding patches, and runtime workspace.

References

Derivation: visual tokens = views * floor(frame pixels / patch pixels)^2; KV bytes per token = 2 * layers * hidden width * element bytes. 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.ThreeViewVlaTokens
>>> round(float(case.patches_per_view), 3)
256.0

Attributes

Name Description
context_tokens
element_bytes
embedding_memory Embedding-state memory in MB for the stated context and model hidden width.
frame_px
kv_per_token Full-width key and value storage per token in bytes across every layer.
model
patch_px
patches_per_side Complete patches along one image side, using integer division.
patches_per_view Patch-token count per square view, discarding pixels outside complete patches.
prompt_tokens
single_view_tokens One view’s patch tokens plus prompt tokens; state tokens are not included in this
state_tokens
total_tokens Combined visual, prompt, and state token count before context rounding.
views
visual_tokens Visual-token count across all views, one token per complete square patch.

model

Type: Any.

Declared default: required.

views

Type: int.

Declared default: required.

frame_px

Type: int.

Declared default: required.

patch_px

Type: int.

Declared default: required.

prompt_tokens

Type: int.

Declared default: required.

state_tokens

Type: int.

Declared default: required.

context_tokens

Type: int.

Declared default: required.

element_bytes

Type: Quantity.

Declared default: required.

patches_per_view

engine.scenario_types.VlaTokenBudgetScenario.patches_per_view

Patch-token count per square view, discarding pixels outside complete patches.

Equation: return (frame_px // patch_px) ** 2.

patches_per_side

engine.scenario_types.VlaTokenBudgetScenario.patches_per_side

Complete patches along one image side, using integer division.

Equation: return frame_px // patch_px.

visual_tokens

engine.scenario_types.VlaTokenBudgetScenario.visual_tokens

Visual-token count across all views, one token per complete square patch.

Equation: return views * patches_per_view.

total_tokens

engine.scenario_types.VlaTokenBudgetScenario.total_tokens

Combined visual, prompt, and state token count before context rounding.

Equation: return visual_tokens + prompt_tokens + state_tokens.

single_view_tokens

engine.scenario_types.VlaTokenBudgetScenario.single_view_tokens

One view’s patch tokens plus prompt tokens; state tokens are not included in this subtotal.

Equation: return patches_per_view + prompt_tokens.

embedding_memory

engine.scenario_types.VlaTokenBudgetScenario.embedding_memory

Embedding-state memory in MB for the stated context and model hidden width.

Equation: return (context_tokens * model.hidden_dim * element_bytes).to('MB').

kv_per_token

engine.scenario_types.VlaTokenBudgetScenario.kv_per_token

Full-width key and value storage per token in bytes across every layer.

Equation: return (2 * model.layers * model.hidden_dim * element_bytes).to('byte').

Back to top