Skip to content

Make pass@k affordable enough to actually report #3

Description

@natedemoss

pass_at_k implements the unbiased estimator and the runner reports pass@5 and
pass@10 when enough samples exist, but samples_per_problem: 1 in every shipped
config, so only pass@1 is ever produced.

The blocker is cost, not correctness. Generation dominates eval wall-clock, and
samples_per_problem: 5 multiplies it by five — on a T4 that turns a ~1.2h eval
into ~6h, which does not fit alongside training in one Kaggle session.

Options worth measuring:

  • Batch the num_return_sequences > 1 generation instead of looping — currently
    infer.make_generator already passes num_return_sequences, so this may
    mostly work already and just needs verifying under memory pressure
  • Run eval as its own kernel session, separate from training
  • vLLM for eval only, if it can be made to load a 4-bit adapter

pass@1 with greedy decoding is a defensible headline number, but pass@k is where
sampling-based approaches show their value, and right now the project cannot
measure that at all.

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

    evalEvaluation harness and metrics

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions