Skip to navigation

Run benchmarks

View as Markdown

Prepare benchmark data

  1. Request access to various gated HuggingFace datasets
BenchmarkGated dataset to request access to
GPQAIdavidrein/gpqa
  1. Set your HuggingFace token in your env.yaml. This is needed to authenticate to HuggingFace and authorize local download of the gated datasets above.
echo "hf_token: ?\n" >> env.yaml

You can create a HF token following these instructions https://huggingface.co/docs/hub/en/security-tokens

  1. Prepare benchmark data using ng_prepare_benchmark. In the command below, we prepare the aime24, aime25, and gpqa benchmark datasets.
config_paths="benchmarks/aime24/config.yaml,\
benchmarks/aime25/config.yaml,\
benchmarks/gpqa/config.yaml"
ng_prepare_benchmark "+config_paths=[$config_paths]"

Configure Weights & Biases benchmark result upload

echo "wandb_api_key: ?\n" >> env.yaml

Run benchmarks using an OpenAI model

  1. Configure the benchmark run. We set the W&B project and experiment name which is used to control where outputs are saved.
WANDB_PROJECT=bxyu-gym-dev
EXPERIMENT_NAME=benchmark-dev/gpt-5-nano-2025-08-07
config_paths="responses_api_models/openai_model/configs/openai_model.yaml,\
benchmarks/aime24/config.yaml,\
benchmarks/aime25/config.yaml,\
benchmarks/gpqa/config.yaml"
  1. For using openai_model, configure your OpenAI API key and other policy model information.
echo 'openai_api_key: ?
policy_base_url: https://api.openai.com/v1
policy_api_key: ${openai_api_key}' >> env.yaml
  1. Run the benchmarks using gpt-5-nano-2025-08-07
ng_e2e_collect_rollouts \
"+config_paths=[${config_paths}]" \
+wandb_project=$WANDB_PROJECT \
+wandb_name=$EXPERIMENT_NAME \
++output_jsonl_fpath=results/$EXPERIMENT_NAME.jsonl \
++resume_from_cache=true \
++split=benchmark \
++policy_model_name=gpt-5-nano-2025-08-07

You can resume stopped or crashed rollouts using:

++resume_from_cache=true