align / code /configs /eval.toml
viai957's picture
Add files using upload-large-folder tool
d909bd8 verified
Raw History Blame Contribute Delete
1.71 kB
# Section-10 evaluation config.
#
# Eval-set paths are PARAMETERIZED: they point at the predecessor's verified
# JSONs until section-03 regenerates them with hash receipts, at which point
# only these paths change and every gate re-runs unmodified. When a `.sha256`
# sidecar exists beside a set, `load_eval_set` CHECKS it.
[eval]
# Decode params. Greedy (temperature 0) for pass@1; the golden regression
# matches the predecessor's config so its numbers stay comparable.
max_new_tokens = 768
temperature = 0.0
top_p = 1.0
n_samples = 1 # majority@8 is run ONCE, by section-13's final pass
batch_size = 16
seed = 17
# 0 = evaluate everything. Any positive value stamps the report 'smoke' so a
# capped run can never be quoted as a headline number.
limit = 0
# The ONE pre-registered primary contrast (paired MDE ~2-3.5pp on
# GSM8K-full). Every other comparison is labeled exploratory.
primary_contrast = "armB_vs_sft_gsm8k"
[eval.sets]
math500 = "/apps/development/rlhf/mistral-prm-ppo/artifacts/data/eval/math500.json"
gsm8k = "/apps/development/rlhf/mistral-prm-ppo/artifacts/data/eval/gsm8k_test.json"
[eval.verifier]
# Inner per-comparison timeout handed to math_verify.
timeout_seconds = 5
# MUST be >= 4x the inner timeout: verify() fans out over
# product(gold_variants, pred_variants), so one call runs up to four
# independently timeout-wrapped comparisons. Asserted in VerifierConfig.
outer_timeout_seconds = 25.0
workers = 8
[eval.golden]
# Known numbers under the OLD stack. Reproducing them validates the NEW
# eval stack before section-11 trains anything (~1 GPU-hour).
checkpoint = "/apps/development/rlhf/mistral-prm-ppo/runs/sft-mistral7b/checkpoint-200"
math500 = 0.09
gsm8k = 0.258