Adaptive Action Chunking (AAC)¶
They said a robot policy can pick each motion chunk's length from how much 20 samples disagree. On recorded runs and on the robot's computer we checked the chosen lengths and the cost. It did not hold: lengths mostly stayed at the minimum, and one decision took 4,751 ms.
Papers tested · 19 of 22
Goal (the paper's): Choose each action chunk's length at inference from how much N sampled chunks disagree, so a VLA commits to long chunks where it is confident and short ones where it is not; shown on RoboCasa, LIBERO and three real tasks.
Its hypotheses:
- The entropy-chosen chunk length follows the task's phases: long in transport, short near the grasp. (Fig. 3–4) fail
- Adaptive chunks raise success over fixed chunks in simulation and on a real arm. (Tables 1–3; Table 5 (real world 67.0 → 82.0 %)) not tested here
- Sampling N chunks in a batch adds little cost: negligible below N = 10, about 20 ms at N = 20. (Table 4 (A800)) fail
Verdict: fail · Claim tested: Chunk length chosen from the entropy of N sampled chunks follows the task's phases (long in transport, short at the grasp), lowers the boundary jump, and costs little with batched sampling. · Bar: median h in transport ≥ grasp window + 2; jump with AAC + overwrite ≤ fixed + overwrite at d = 8; an N = 20 decision ≤ 298 ms on the Orin. · n:* 254 decisions on 20 recorded episodes; 10 timed decisions per N
Theirs vs ours: h follows the semantic phases (Fig. 3–4); real world 67.0 → 82.0 %; N = 20 costs 106 ms vs 83 ms on an A800 ("about 20 ms inference delay"; negligible below N = 10) vs h 2 in transport and 2 at the grasp (86 % of decisions at the floor); jump 0.973 vs 0.940; N = 20 decision 4,751 ms (sequential) on the Orin · Not proven: No arm run (the bowls task is at ceiling for SmolVLA); vla.cpp has no batched sampler, which would change the cost but not the entropy rule.
Paper: arXiv 2604.04161 · Code: no code link found
Claims:
- fail entropy-chosen chunk length above grasp-window chunk length on median chunk length h in transport — theirs long in transport, short at the grasp · ours 2 vs 2 (paper Fig. 3–4 (h follows the semantic phases))
- fail AAC with prefix overwrite at most fixed chunk with prefix overwrite on median boundary jump — theirs no boundary-jump measurement; real-world success 67.0 → 82.0 % (Table 5) · ours 0.973 vs 0.940 (paper §1 and Fig. 6 (qualitative; no boundary metric))
- fail N-sample decision at most pass mark on ms per decision on the Orin NX — theirs 106 ms (A800, batched) · ours 4,751 ms (paper Table 4 (N = 20: 106 ms vs 83 ms on an A800, "negligible"))
Compute: External GPU: no. Gate 0 on the Orin NX at 25 W (PyTorch, ~3 h); gate 1 on the Orin at MAXN_SUPER + jetson_clocks (vla.cpp). Cost: $0. · Reproduce: 2026-10-30-paper-vs-hardware-adaptive-chunking · First published: 2026-10-30 · Updated: 2026-10-30
Adaptive Action Chunking at Inference-time for VLA Models (AAC; Liang et al., CVPR 2026, arXiv 2604.04161) lets a flow-matching policy choose each chunk's length from how much N sampled chunks disagree. SmolVLA is a flow-matching policy, so the rule applies to my SO-101 as written.
What the paper claims, and how it measures it¶
Draw N = 20 chunks from the same observation; the step where their entropy jumps most sets the chunk length h. Where the policy is confident (transport) chunks get long, where it is not (approach and grasp) they get short. The paper shows h following the task's phases (Fig. 3–4), gains on RoboCasa, LIBERO and three real tasks (67.0 → 82.0 % on a Realman arm with a Mycobot gripper), and calls the cost negligible: N = 20 takes 106 ms against 83 ms for one chunk, batched on an A800.
What I ran¶
SmolVLA (the checkpoint behind every vla.cpp number here) on the 20 recorded episodes of the bowls task I use for chunk-boundary tests: 254 decisions, N = 20 samples each, floor ξ = 2. Three bars, frozen before any number:
- A1: median h in transport ≥ median h in the grasp window + 2 (the phase claim).
- A3: with the prefix overwrite I already run, AAC's boundary jump ≤ the fixed chunk's, at a delay of 8 steps.
- A4: on the Orin NX at full power, one N = 20 decision ≤ 298 ms (25 % over one 238 ms chunk).
Their number, my number¶
| Paper | This rig | |
|---|---|---|
| h* in transport vs at the grasp | long vs short | 2 vs 2 |
| jump, AAC + overwrite vs fixed + overwrite (d = 8) | — | 0.973 vs 0.940 |
| N = 20 decision | 106 ms (A800, batched) | 4,751 ms (Orin NX, sequential) |
All three bars fail. h* sits at the floor in 219 of 254 decisions: SmolVLA's samples spread fastest at the very first step, so the largest entropy increase is always at h = 1 and the rule returns the minimum. AAC's earlier switch alone does lower the naive jump (3.42 → 2.28), because the new chunk is sampled closer in time, but the prefix overwrite already brings the jump to about one normal step (0.94), and AAC adds nothing on top. On the Orin, vla.cpp has no batched sampler, so 20 samples are 20 chunk inferences: 4.75 s per decision.
What the gap means¶
The entropy rule needs a policy whose samples agree for a while and then diverge at hard moments. SmolVLA's samples diverge from the first step everywhere, so on this policy the rule degenerates to "near-minimal chunks". And the paper's "negligible" cost is a property of batched sampling on a data-centre GPU, not of the method.
Verdict: fail on this rig.
What would change it: a policy whose sample spread grows late in the chunk, and a batched sampler on the edge device.
Compute. External GPU: no. Gate 0 on the Orin NX at 25 W (PyTorch, ~3 h); gate 1 on the Orin at MAXN_SUPER + jetson_clocks (vla.cpp, ~5 min). Cost: $0.
Reproduce this: 2026-10-30-paper-vs-hardware-adaptive-chunking
Papers tested, 19 of 22. ← Papers tested 18: SURVEYOR · Papers tested 20: PACT-VLA →