Skip to content

Would you take a PR adding an optional control arm to the benchmark eval script? #152

Description

@sattyamjjain

Ask first, code second.

LIBERO's eval script reports success rate per task suite. That is the right primary number. The gap I keep hitting is downstream: a growing number of papers report a LIBERO success rate under some perturbation and compare it to the clean number from a different run, different seeds, sometimes a different commit. The difference they publish is then partly the perturbation and partly run-to-run spread, and there is no way for a reader to separate the two.

What would close it, inside your existing structure and without changing default behaviour:

  1. A --control-arm flag, off by default. When set, the script replays the same seed list with the perturbation hook disabled.
  2. Two extra keys in the results JSON: success_rate_control and n_episodes.
  3. A Wilson interval on both rates, so the reader can see whether n supported the comparison.

Measured reason to bother: on 4 open policies and 16 perturbation families, the control arm fires at a family-dependent rate, and subtracting it removes the apparent effect in 13 of 16 families at n=50. If that holds on LIBERO tasks specifically, a lot of published gaps are inside the noise.

I would write this, keep it to the eval path, and add tests. But it is your benchmark and a flag in the official script is a convention, not a patch, so I am asking before writing rather than after.

Also happy to be told this belongs in each user's own wrapper. That is a clear answer.

Ours, for context and so you can check the claim rather than take it: https://github.com/provael/provael - simulation-only, no hardware results.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions