Skip to content

Clarification: SEA “ensemble labelling” difference in the paper and the code #76

@Shrey-Singhal

Description

@Shrey-Singhal

Hi OAT/SEA authors. I wanted a quick clarification about SEA mixed preference learning / model_rollout vs the paper.

From the SEA (Sample Efficient Alignment) paper, my understanding is:

After burn-in, you still select the duel pair using SEA’s selection rule (E&E or BAI), then you mix oracle-labeled vs ensemble-member pseudo-labeled preferences via mixture ratio, where the ERM label is produced by a randomly sampled ensemble member without querying the oracle for those samples.

In the released code, I’m a bit confused on these points:

  • Label source used for training when is_model_data=True:
    In the model_rollout path, I see oracle.compare(...) still being called and binary_feedback computed. For is_model_data=True samples, are the preference labels used for training taken from:

    • the pseudo-label (sampled RM/ensemble member), or
    • the oracle.compare result?
  • Pair selection for model-labeled samples:
    ModelBasedExplorer._random_select() samples an ensemble head and selects the pair with max |reward gap| under that head. This seems different from the Algorithm 2 in the SEA paper (which suggests the same SEA duel selection rule, with only the label source being mixed). Is this max-margin pair selection intended, and is it what was used for the reported SEA results?

  • Budget accounting
    In preference.py the oracle is called for every prompt (even is_model_data=True), but in dap.py the counter only adds not is_model_data (query_step += sum(not is_model_data)). Does the ‘oracle query budget’ in the plots count only labels actually used for training, or all oracle calls? I’m trying to understand whether model‑data comparisons are excluded from the budget by design.

Thanks!

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