AlexWortega commited on
Commit
faa4ba7
Β·
verified Β·
1 Parent(s): 4f43314

ablation.md: add the causal staleness grid (semantic vs geometric) and the zeroed-latent control

Browse files
Files changed (1) hide show
  1. 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-20.
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 5).
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
- **Standard LIBERO-Spatial cannot show the temporal asymmetry.** Neither the
140
- semantic rate (20 -> 0.5 Hz) nor the replan rate (20 -> 2 Hz) changes success. The
141
- suite is quasi-static, so a flat result here does not distinguish "semantics
142
- tolerate staleness" from "nothing in this scene changes". Demonstrating the
143
- asymmetry requires a benchmark where the world moves after the latent is computed.
144
 
145
  ---
146
 
147
- ## 5. System profile
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
- ## 6. Adaptive refresh β€” threshold calibration
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
- ## 7. Not yet included
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