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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions