Instructions to use AlexWortega/tinyvla with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use AlexWortega/tinyvla with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
ablation.md: add the causal staleness grid (semantic vs geometric) and the zeroed-latent control
Browse files- ablation.md +74 -10
ablation.md
CHANGED
|
@@ -8,7 +8,7 @@ All closed-loop numbers below are **paired**: every configuration runs the same
|
|
| 8 |
|
| 9 |
Hardware: 4x Tesla V100-SXM2-32GB (sm_70), fp32, driver 535 / CUDA 12.2,
|
| 10 |
torch 2.6.0+cu124, transformers 5.5.4, lerobot 0.6.1. Suite: `libero_spatial`.
|
| 11 |
-
Generated 2026-08-
|
| 12 |
|
| 13 |
**The headline dual-rate comparison in the model card is not reproduced.** With the
|
| 14 |
clock fixed and 500 paired episodes per configuration, no refresh rate differs
|
|
@@ -127,7 +127,7 @@ Amortized with measured per-call cost and the rates each run actually ran at.
|
|
| 127 |
Two things fall out of this table.
|
| 128 |
|
| 129 |
**Caching the semantic latent saves at most ~39% of compute, not 97%,** because the
|
| 130 |
-
floor is set by the fast path (section
|
| 131 |
|
| 132 |
**Plain action chunking beats the dual-rate decomposition on both axes.** Executing
|
| 133 |
10 actions per replan is 9.6x cheaper than the best dual-rate
|
|
@@ -136,15 +136,79 @@ real time on this hardware. Since the open-loop baseline exists precisely to
|
|
| 136 |
separate "the gain comes from dual-rate" from "the gain comes from chunking", on
|
| 137 |
this benchmark the answer is chunking.
|
| 138 |
|
| 139 |
-
**
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
|
| 145 |
---
|
| 146 |
|
| 147 |
-
## 5.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
|
| 149 |
Measured on an idle machine, batch 1, fp32, 30 iterations (5 on CPU). No edge
|
| 150 |
device is attached, so CPU stands in as the constrained-device proxy; no
|
|
@@ -173,7 +237,7 @@ headroom is in the visual encoder, not in the language stack.
|
|
| 173 |
|
| 174 |
---
|
| 175 |
|
| 176 |
-
##
|
| 177 |
|
| 178 |
A drift gate that refreshes when the pooled cam0 spatial tokens have moved away
|
| 179 |
from those at the last refresh (plus a proprio term and age bounds). The signal
|
|
@@ -190,7 +254,7 @@ rather than at a matched frequency:
|
|
| 190 |
|
| 191 |
---
|
| 192 |
|
| 193 |
-
##
|
| 194 |
|
| 195 |
Running or pending, and deliberately not summarized here until finished:
|
| 196 |
the fresh/stale semantic x fresh/stale spatial grid, the compute-matched gate
|
|
|
|
| 8 |
|
| 9 |
Hardware: 4x Tesla V100-SXM2-32GB (sm_70), fp32, driver 535 / CUDA 12.2,
|
| 10 |
torch 2.6.0+cu124, transformers 5.5.4, lerobot 0.6.1. Suite: `libero_spatial`.
|
| 11 |
+
Generated 2026-08-21.
|
| 12 |
|
| 13 |
**The headline dual-rate comparison in the model card is not reproduced.** With the
|
| 14 |
clock fixed and 500 paired episodes per configuration, no refresh rate differs
|
|
|
|
| 127 |
Two things fall out of this table.
|
| 128 |
|
| 129 |
**Caching the semantic latent saves at most ~39% of compute, not 97%,** because the
|
| 130 |
+
floor is set by the fast path (section 6).
|
| 131 |
|
| 132 |
**Plain action chunking beats the dual-rate decomposition on both axes.** Executing
|
| 133 |
10 actions per replan is 9.6x cheaper than the best dual-rate
|
|
|
|
| 136 |
separate "the gain comes from dual-rate" from "the gain comes from chunking", on
|
| 137 |
this benchmark the answer is chunking.
|
| 138 |
|
| 139 |
+
**Neither the semantic rate (20 -> 0.5 Hz) nor the replan rate (20 -> 2 Hz)
|
| 140 |
+
changes success.** On its own that is ambiguous: it could mean semantics tolerate
|
| 141 |
+
staleness, or it could mean nothing in this scene changes fast enough to matter.
|
| 142 |
+
Section 5 separates the two, and the answer is the first one - the suite is not
|
| 143 |
+
quasi-static at all, it is specifically insensitive to *semantic* staleness.
|
| 144 |
|
| 145 |
---
|
| 146 |
|
| 147 |
+
## 5. The asymmetry: staleness on each path, separately
|
| 148 |
+
|
| 149 |
+
Constant-age probes rather than a periodic cache, so the age on the x-axis is the
|
| 150 |
+
age, not the mean of a sawtooth. 150 paired episodes per cell, compared against the
|
| 151 |
+
same episodes of the full-rate run. Proprioception is fresh throughout.
|
| 152 |
+
|
| 153 |
+
**Staling the semantic latent while geometry stays fresh:**
|
| 154 |
+
|
| 155 |
+
| latent age | Success | 95% CI | delta | paired 95% CI | flips | McNemar p |
|
| 156 |
+
|---|---|---|---|---|---|---|
|
| 157 |
+
| 0.25 s | 128/150 = 85.3% | 78.8β90.1 | +1.3 | -4.0β¦+6.7 | +9/-7 | 0.8036 |
|
| 158 |
+
| 0.5 s | 129/150 = 86.0% | 79.5β90.7 | +2.0 | -3.3β¦+7.3 | +10/-7 | 0.6291 |
|
| 159 |
+
| 1 s | 128/150 = 85.3% | 78.8β90.1 | +1.3 | -4.0β¦+6.7 | +9/-7 | 0.8036 |
|
| 160 |
+
| 2 s | 126/150 = 84.0% | 77.3β89.0 | +0.0 | -5.3β¦+5.3 | +8/-8 | 1.0000 |
|
| 161 |
+
| 4 s | 125/150 = 83.3% | 76.6β88.4 | -0.7 | -6.0β¦+4.7 | +8/-9 | 1.0000 |
|
| 162 |
+
|
| 163 |
+
**Staling the geometry while the semantic latent stays fresh:**
|
| 164 |
+
|
| 165 |
+
| frame age | Success | 95% CI | delta | paired 95% CI | flips | McNemar p |
|
| 166 |
+
|---|---|---|---|---|---|---|
|
| 167 |
+
| 0.25 s | 35/150 = 23.3% | 17.3β30.7 | -60.7 | -68.7β¦-52.0 | +2/-93 | 0.0000*** |
|
| 168 |
+
| 0.5 s | 8/150 = 5.3% | 2.7β10.2 | -78.7 | -85.3β¦-72.0 | +0/-118 | 0.0000*** |
|
| 169 |
+
| 1 s | 4/150 = 2.7% | 1.0β6.7 | -81.3 | -87.3β¦-74.7 | +1/-123 | 0.0000*** |
|
| 170 |
+
| 2 s | 2/150 = 1.3% | 0.4β4.7 | -82.7 | -88.7β¦-76.0 | +0/-124 | 0.0000*** |
|
| 171 |
+
| 4 s | 0/150 = 0.0% | 0.0β2.5 | -84.0 | -89.3β¦-78.0 | +0/-126 | 0.0000*** |
|
| 172 |
+
|
| 173 |
+
**Both stale together:**
|
| 174 |
+
|
| 175 |
+
| both aged | Success | 95% CI | delta | paired 95% CI | flips | McNemar p |
|
| 176 |
+
|---|---|---|---|---|---|---|
|
| 177 |
+
| 0.5 s | 6/150 = 4.0% | 1.8β8.5 | -80.0 | -86.7β¦-72.7 | +2/-122 | 0.0000*** |
|
| 178 |
+
| 2 s | 1/150 = 0.7% | 0.1β3.7 | -83.3 | -89.3β¦-77.3 | +0/-125 | 0.0000*** |
|
| 179 |
+
|
| 180 |
+
**Controls - is the semantic path used at all?**
|
| 181 |
+
|
| 182 |
+
| control | Success | 95% CI | delta | paired 95% CI | flips | McNemar p |
|
| 183 |
+
|---|---|---|---|---|---|---|
|
| 184 |
+
| latent zeroed | 16/150 = 10.7% | 6.7β16.6 | -73.3 | -80.7β¦-66.0 | +1/-111 | 0.0000*** |
|
| 185 |
+
|
| 186 |
+
### Reading
|
| 187 |
+
|
| 188 |
+
At four seconds of staleness the geometric path costs **84.0 points**
|
| 189 |
+
while the semantic path costs **0.7**, which is not distinguishable from
|
| 190 |
+
zero - no semantic cell reaches significance at any age out to 4 s, and their
|
| 191 |
+
paired intervals all straddle 0. (A ratio of the two is not quoted: the denominator
|
| 192 |
+
is consistent with zero, so it would be arbitrarily large and meaningless.) Every
|
| 193 |
+
geometric cell is significant at p < 0.0001, and a quarter of a second - five frames
|
| 194 |
+
at 20 Hz - already costs 60.7 points. The both-stale
|
| 195 |
+
column tracks the geometry column, so geometric staleness accounts for the damage
|
| 196 |
+
and semantic staleness adds nothing on top.
|
| 197 |
+
|
| 198 |
+
The control rules out the obvious alternative explanation. Zeroing the latent
|
| 199 |
+
costs 73.3 points, so the policy is not ignoring the semantic path - it needs
|
| 200 |
+
it, it just does not need it recent. That is the claim this architecture rests on,
|
| 201 |
+
and here it is separated from "the benchmark is static" and from "the latent is
|
| 202 |
+
decorative".
|
| 203 |
+
|
| 204 |
+
Caveat worth keeping in view: these cells stale the pixels while proprioception
|
| 205 |
+
stays fresh, so the policy receives an observation whose parts disagree in time.
|
| 206 |
+
Whether the collapse is caused by old pixels or by that disagreement is a separate
|
| 207 |
+
question, currently being measured with matched pixel and proprio lag.
|
| 208 |
+
|
| 209 |
+
---
|
| 210 |
+
|
| 211 |
+
## 6. System profile
|
| 212 |
|
| 213 |
Measured on an idle machine, batch 1, fp32, 30 iterations (5 on CPU). No edge
|
| 214 |
device is attached, so CPU stands in as the constrained-device proxy; no
|
|
|
|
| 237 |
|
| 238 |
---
|
| 239 |
|
| 240 |
+
## 7. Adaptive refresh β threshold calibration
|
| 241 |
|
| 242 |
A drift gate that refreshes when the pooled cam0 spatial tokens have moved away
|
| 243 |
from those at the last refresh (plus a proprio term and age bounds). The signal
|
|
|
|
| 254 |
|
| 255 |
---
|
| 256 |
|
| 257 |
+
## 8. Not yet included
|
| 258 |
|
| 259 |
Running or pending, and deliberately not summarized here until finished:
|
| 260 |
the fresh/stale semantic x fresh/stale spatial grid, the compute-matched gate
|