Reproduction report № 3
Octo on SimplerEnv: reproducing the numbers nobody brags about
Why reproduce a 27% score? Because reproduction infrastructure that only confirms flattering numbers is marketing. SimplerEnv exists to measure something uncomfortable — how policies trained on real robot data behave in a visually-matched simulator — and its published numbers for Octo on the WidowX bridge suite are low, scattered, and strange: the bigger model scores worse. If pera's evaluation stack is honest, it should reproduce exactly that: the low scores, the per-task scatter, and the scaling inversion. It does, on all three counts.
Octo-base, same triple: published 16.0 / same-machine 14.6 / pera 15.6. Per-task Fisher vs the same-machine anchor: all p ≥ 0.49 (small), all p ≥ 0.61 (base).
A triple anchor with a fourth leg: real robots
SimplerEnv's authors report both simulated and real-robot results for these exact four tasks, which lets this row do something rare — situate a simulation score against physical ground truth:
| anchor | octo-small | octo-base |
|---|---|---|
| authors' real WidowX robot (these 4 tasks) | 25.6% | — |
| authors' published sim (3-rng avg) | 29.5% | 16.0% |
| authors' harness, our machine, rng0 | 25.0% | 14.6% |
| pera | 27.1% | 15.6% |
Two readings. First: 27% is not a broken harness — it's what this model does on these tasks on a physical robot too (25.6%). The suite is simply hard for this generation of policies; RT-1-X scores zero on three of the four tasks in both sim and reality. Second: a leaderboard where Octo's 27% sits beside LIBERO's 98s is telling the truth about benchmark difficulty being non-comparable across suites — which is why pera never aggregates across protocols.
The scaling inversion survives reproduction
Octo-base has 3.4× the parameters of Octo-small and scores roughly half as well here (15.6% vs 27.1% through pera). That inversion is in the authors' own tables (16.0 vs 29.5), in their harness on our machine (14.6 vs 25.0), and now in a third independent path. Whatever its cause — the authors' checkpoints, training recipes, or a real capability difference on out-of-distribution visuals — it is a stable property of the released artifacts, not an evaluation accident. Counterintuitive results that replicate three ways are the ones worth trusting.
What "failure" looks like at 27%
All 70 of octo-small's failures are labeled from video. The profile is dominated by grasp closure (43/70): the arm reliably reaches the right object, then nudges, tips, and pinches without ever securing it. The eggplant task inverts the pattern — the sink's walls funnel the approach so grasps succeed, and failures shift downstream to drops during transport (6 of its 9). A small tail never engages the object at all. This is a third distinct signature next to OFT's empty-handed places and GR00T's goal hesitancy — evidence that failure taxonomy, not just success rate, differentiates architectures.
A note on comparison semantics. The authors' harness enumerates fixed object positions per episode index; pera derives per-episode seeds. The comparison is therefore statistical (per-task Fisher tests), not episode-exact — unlike our OFT parity result, where replicating the authors' seeding produced per-task-identical counts. Both modes have a place: episode-exact for proving the pipeline, statistical for routine anchoring.
Evidence
- octo-small bundle
3e2ae6a54ef8488e(26/96, all 70 failures tagged) · octo-base bundle617f3f5bb2214bc0(15/96) - same-machine ground truth: SimplerEnv authors'
main_inference.py, unmodified, rng0, both model sizes - published anchors: the authors' SIMPLER_PERF (sim) and REAL_PERF (physical robot) tables for the widowx bridge suite
- all bundles verify offline:
pera verify <bundle>