Skip to content

How is the baseline evaluation score aggregated across runs? (single-seed vs multi-seed / best-of-N) #108

Description

@lingyoumax

Hi, thanks for the great work. I'm trying to reproduce your reported baseline numbers with the qwen backend and want to confirm the exact eval protocol before I blame my setup.

Reading through engine/trainer.py, I see that the baseline is a single call:

engine/trainer.py:1001-1002

baseline_dir = os.path.join(out_root, "selection_eval_baseline")
baseline_results = adapter.rollout(sel_env, skill_init, baseline_dir)

And for livemathematicianbench, configs/livemathematicianbench/default.yaml sets max_turns: 1, so each item gets a single LLM call. qwen_backend.py also defaults to temperature=0.7, so per-run stochasticity is non-trivial.

A few questions:

  1. Are the baseline numbers you report from a single seed / single run, or aggregated across N runs?
  2. If aggregated, is it mean, median, or best-of-N?
  3. Is there any code path (that I might have missed) where a skill is rolled out multiple times and the max/mean is taken?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions