fix(eval): enforce official LIBERO and LIBERO-Plus protocols - #116
Open
primorLee wants to merge 1 commit into
Open
fix(eval): enforce official LIBERO and LIBERO-Plus protocols#116primorLee wants to merge 1 commit into
primorLee wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The existing client launcher always uses
--task-range 0 10 --test-num 50. That is the original LIBERO protocol (10 tasks x 50 trials), but under LIBERO-Plus those indices are perturbation variants rather than the ten original tasks. The command therefore repeats only the first ten Plus variants 50 times each and can make a 500-rollout subset look like a full LIBERO-Plus score.This also explains why a valid original-LIBERO checkpoint reproduction and the reported Plus result can diverge without establishing a checkpoint regression: they were not evaluating the same protocol.
What changed
--protocol original|plusrun(...)arguments2402/2518/2591/2519)task_classification.json:languageinstruction from the environment instead of metadata-bearing variant filenamesscore.valueremainsnull--checkpoint-id NAME@REVISIONfor Plus, since the inference server is a separate processlaunch_client_plus.sh; both launchers forward extra CLI argumentsValidation
24 passedprotocol/lifecycle tests4976dc30028e805ff8094b55501d532c48fec182I did not run a real MuJoCo/checkpoint rollout in this change, so this PR makes no model-success-rate claim. It fixes the evaluation contract needed before rerunning the checkpoint.
References:
Fixes #115