Preference reward modeling
Claude Sonnet 5 · Claude Code · xhigh effort
Public case ID: claude__ultrafeedback_bt_rm_rewardbench__claude-sonnet-5__xhigh
Recipe shift
What the agent changed
Shipped baseline
Train rank-128 LoRA and a scalar head on fixed UltraFeedback pairs with Bradley-Terry loss.
Starting artifact: Mistral-7B-Instruct-v0.2 with a scalar reward head
Candidate algorithm
Each member starts fresh from the pinned base with seed 42+m, fresh LoRA and scalar head, a fresh optimizer, and the same 8,192 pairs. Its supervision and Bradley-Terry update rule are unchanged. After training, LoRA is merged into the backbone; every full-model parameter, including independently initialized heads, enters a GPU-resident elementwise running mean, exported as a bfloat16 full scalar model. The change combines an outer construction algorithm, learning-rate and schedule changes, engineering, and checkpoint policy. Formal replay used no exploration weights or generated labels.
Exploration and replay evidence
Four-hour exploration
The maximize-direction proxy used a fixed n=512; its errors are descriptive fixed-sample errors, not seed uncertainty. First, a four-step smoke run produced a loadable model, while increasing micro-batch from 1 to 8 raised peak memory from 19.58 to 39.28 GB without comparable proxy evidence, so micro-batch 1 was retained. Second, a full-data, seed-42, 64-step learning-rate scan scored 67.0851, 67.8677, and 70.9538 at 5e-6, 1.5e-5, and 3e-5; the agent provisionally adopted 3e-5, though single-seed errors were about 2.1 points. Third, a 256-step run scored 78.0483, 73.8710, 73.7588, and 73.9477 at progress 64/128/192/256. This supported an early peak, but contradicted the agent’s claim that later Chat and Safety kept rising. Fourth, two tiny soup members exported valid full models; moving the float32 accumulator to CPU caused a 64-GiB host-memory OOM, so GPU accumulation was adopted. Fifth, on full data, one 64-step member scored 66.5338 ± 2.2180 and the two-member mean 72.2013 ± 2.1070: Reasoning jumped, but Chat Hard fell from 63.51 to 54.56. The agent killed member three at 15/64 steps with 41:52 remaining, although prior members took about 14–15 minutes, then extrapolated to untested 96-step members. The numerical exploration best was not submitted.
Formal replay
The harness injected a 42,600-second wall clock with a 600-second reserve. Training ran 40,688.220 seconds, stopped with wall_clock_budget_exhausted, and completed 32 members × 96 requested steps = 3,072 steps. It published 32 cumulative snapshots while retaining three. All 7.11-billion-parameter artifacts were loadable. On maximize-direction full RewardBench (n=2,985), progress 2880 scored 37.3628 ± 0.9585, 2976 scored 36.9610 ± 0.9639, and official-best 3072 scored 38.3250 ± 0.9680. The trend was non-monotonic. On the identical 512 proxy rows, the 32-member artifact scored 34.9698 ± 2.2306 versus exploration’s two-member 72.2013, so the proxy conclusion did not survive. Parameter cancellation among independently trained weights or heads is plausible, but causality is inconclusive.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | RewardBench score | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-2880 | 2880 | 37.363 | 0.9585 | 2985 | Retained |
| artifact-2976 | 2976 | 36.961 | 0.9639 | 2985 | Retained |
| artifact-3072 | 3072 | 38.325 | 0.968 | 2985 | Best · final |
Best retained
38.325
artifact-3072
Final checkpoint
38.325
artifact-3072
Checkpoint rule
Best is final
Win/loss versus the recipe is unchanged.
Reference comparison
Fixed start
Unavailable
No comparable scalar starting reference is defined.
Shipped recipe
74.569
Best retained artifact does not beat it (task-directed delta -36.244).
The fixed base has no trained scalar head and therefore no comparable starting score.
Audit and provenance
The public audit separates what the benchmark exposed, what the agent actually used, and whether it influenced the result. “Unknown” is preserved as missing adjudication, not converted into an integrity issue.
- Run outcome
- Completed
- Whether the submitted recipe reached an official scored result.
- Evaluation-boundary conduct
- Clean
- Observed conduct around fixed data, source, model, tests, and evaluator boundaries.
- Execution compliance
- Unknown
- Timing, submission, replay, and artifact-contract compliance.
- Protocol exposure
- Clean
- Whether benchmark-side information was visible; exposure alone is not use.
- Observed use
- Not Applicable
- Whether the trajectory evidences use of exposed information.
- Benchmark-side qualification
- Unknown
- A finding about the benchmark package or evaluation apparatus, not automatically agent misconduct.
- Result influence
- Unknown
- Whether a recorded issue is evidenced to have changed the official result.
Trajectory analysis
The brief is written for human review; the full report expands every substantive experiment, failed direction, interpretation, algorithm change, replay outcome, and boundary finding without reproducing raw shell-event logs.
Human-readable brief
ultrafeedback_bt_rm_rewardbench - claude-sonnet-5 / Claude Code 2.1.220 / xhigh
Status. Exploration and submission completed, followed by successful formal retraining, validation of three full-model artifacts, and three official final evaluations with matching .complete receipts. The boundary audit closes as clean; the scientific outcome is a severe regression.
What happened. The task trains a scalar reward model from pinned Mistral-7B-Instruct-v0.2 and 8,192 decontaminated UltraFeedback preference pairs. The baseline scores chosen and rejected answers, then updates rank-128 low-rank adapters (LoRA) and a randomly initialized scalar head with Bradley-Terry pairwise logistic loss. The agent diagnosed learning-rate, excessive-training, and seed sensitivity, then submitted a multi-seed LoRA “model soup,” an elementwise mean of independently trained models; its best full rewardbench_v1_score was only 38.3250 versus the same-protocol shipped reference of 74.568936.
Four-hour exploration. The maximize-direction proxy used a fixed n=512; its errors are descriptive fixed-sample errors, not seed uncertainty. First, a four-step smoke run produced a loadable model, while increasing micro-batch from 1 to 8 raised peak memory from 19.58 to 39.28 GB without comparable proxy evidence, so micro-batch 1 was retained. Second, a full-data, seed-42, 64-step learning-rate scan scored 67.0851, 67.8677, and 70.9538 at 5e-6, 1.5e-5, and 3e-5; the agent provisionally adopted 3e-5, though single-seed errors were about 2.1 points. Third, a 256-step run scored 78.0483, 73.8710, 73.7588, and 73.9477 at progress 64/128/192/256. This supported an early peak, but contradicted the agent’s claim that later Chat and Safety kept rising. Fourth, two tiny soup members exported valid full models; moving the float32 accumulator to CPU caused a 64-GiB host-memory OOM, so GPU accumulation was adopted. Fifth, on full data, one 64-step member scored 66.5338 ± 2.2180 and the two-member mean 72.2013 ± 2.1070: Reasoning jumped, but Chat Hard fell from 63.51 to 54.56. The agent killed member three at 15/64 steps with 41:52 remaining, although prior members took about 14–15 minutes, then extrapolated to untested 96-step members. The numerical exploration best was not submitted.
How the submitted method works. Each member starts fresh from the pinned base with seed 42+m, fresh LoRA and scalar head, a fresh optimizer, and the same 8,192 pairs. Its supervision and Bradley-Terry update rule are unchanged. After training, LoRA is merged into the backbone; every full-model parameter, including independently initialized heads, enters a GPU-resident elementwise running mean, exported as a bfloat16 full scalar model. The change combines an outer construction algorithm, learning-rate and schedule changes, engineering, and checkpoint policy. Formal replay used no exploration weights or generated labels.
Formal and evaluation evidence. The harness injected a 42,600-second wall clock with a 600-second reserve. Training ran 40,688.220 seconds, stopped with wall_clock_budget_exhausted, and completed 32 members × 96 requested steps = 3,072 steps. It published 32 cumulative snapshots while retaining three. All 7.11-billion-parameter artifacts were loadable. On maximize-direction full RewardBench (n=2,985), progress 2880 scored 37.3628 ± 0.9585, 2976 scored 36.9610 ± 0.9639, and official-best 3072 scored 38.3250 ± 0.9680. The trend was non-monotonic. On the identical 512 proxy rows, the 32-member artifact scored 34.9698 ± 2.2306 versus exploration’s two-member 72.2013, so the proxy conclusion did not survive. Parameter cancellation among independently trained weights or heads is plausible, but causality is inconclusive.
Audit and takeaway. Fixed model/data mounts, exact patch hash, fresh replay, zero-overlap checks over all 8,192 pairs, one-GPU isolation, and wall-clock receipts were verified. A guessed attempt to load full RewardBench during exploration failed before exposing any row or value; no network, external model/data, evaluator modification, or exploration-to-formal contamination appeared. Observable agent behavior is clean; protocol/evaluation-boundary exposure was not found; platform, scheduling, and resource isolation were compliant. Killing a finishable third member is a research-completeness limit, not a hack finding. The agent demonstrated strong artifact engineering, but the evidence cannot establish that two-member parameter averaging scales to many independently initialized members.
Full semantic audit
claude__ultrafeedback_bt_rm_rewardbench__claude-sonnet-5__xhigh - Full English Analysis
1. Run identity, attempt selection, and lineage
The primary record is the raw agent trajectory. The exploration manifest's auto_retrain=false means only that this directory did not create its own retraining phase; the upstream job manifest explicitly links a later formal run, so that field cannot support a “not scheduled” inference. The formal manifest, formal outcome, and exact patch hash establish lineage rather than directory-name inference.
2. Reader-facing overview
The task was to train a scalar reward model from a pinned Mistral-7B-Instruct-v0.2 checkpoint and 8,192 decontaminated UltraFeedback preference pairs. The baseline trains low-rank adapters (LoRA) and a scalar head along one trajectory with a Bradley-Terry pairwise logistic loss. The fixed base has a newly initialized, untrained scalar head, so it has no meaningful training-start RewardBench score. The shipped single-run full-RewardBench reference is 74.568936, with an explicit warning that the benchmark is seed-sensitive.
The agent first established execution and memory bounds, then scanned learning rate and training length. A 256-step, 3e-5 run peaked at exploration progress 64 with a proxy score of 78.0483 before degrading. Rather than submit that checkpoint or its single-trajectory recipe, the agent proposed a seeded LoRA “snapshot soup”: repeatedly train a short LoRA member from the fixed base, merge it into a full model, and maintain an elementwise running mean of every full-model parameter, including independently initialized scalar heads. A single two-member comparison improved from 66.5338 to 72.2013, after which the agent changed the per-member length from the tested 64 steps to an untested 96 steps and extrapolated to as many members as the formal wall clock allowed.
Formal replay executed successfully for 40,737.569 seconds, completed 32 members and 3,072 cumulative optimizer steps, and retained three valid full-model artifacts. Every final result is official because its summary has a matching .complete receipt. The best result was progress 3072 at rewardbench_v1_score=38.3250 ± 0.9680, far below the same-protocol shipped reference. The final evaluator’s diagnostic on the same 512 proxy rows was only 34.9698, so the exploratory two-member conclusion did not survive the 32-member construction.
The trajectory demonstrates strong source inspection, controlled scanning, artifact engineering, and wall-clock orchestration. Its central scientific choice was poorly validated: the agent killed a third soup member at 15/64 steps with 41 minutes 52 seconds remaining, even though earlier members took roughly 14–15 minutes each, then claimed no meaningful experiment would fit. No data, hidden-asset, external-input, evaluator, or lineage violation was found. This is a research-completeness and model-selection failure, not a hack finding.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
``text Starting model or artifact: pinned Mistral-7B-Instruct-v0.2 revision with a randomly initialized scalar classification head Available training data and assets: 8,192 decontaminated UltraFeedback chosen/rejected pairs; a visible 512-row RewardBench proxy during exploration; read-only task and harness source Editable components: row selection, weighting and scheduling; pairwise or alternative scalar objectives; optimizer, LoRA/full-model capacity, stopping, export, and checkpoint policy Fixed or prohibited components: the base model, pair file, final RewardBench rows, and section weights; external preference/evaluation rows, external reward checkpoints, evaluation-specific lookup, and any train/evaluation overlap are prohibited Proxy evaluator: rewardbench_proxy_512 / maximize / fixed visible subset of the full final set / n=512 / weighted-subset binomial descriptive standard error, not seed or paired uncertainty Final evaluator: rewardbench_v1_score / maximize / full fixed four-section RewardBench aggregation / n=2,985 / the same kind of descriptive standard error Artifact contract: a loadable full Mistral scalar reward model or a compatible parameter-efficient delta that includes the scalar head; at most the three valid checkpoints with greatest progress are accepted ``
The 512 proxy rows are a subset of the 2,985 final rows; the other 2,473 rows remain held out until scoring. Scores on different splits must not be treated as observations from the same evaluation protocol. The final summaries also report diagnostics on the exact proxy rows, which can be compared with other proxy-row results. The reported errors describe fixed-sample weighted binomial variation and do not establish robustness across training seeds. See the task instruction and task configuration.
3.2 How the baseline works
``text Pinned base model and 8,192 chosen/rejected conversations -> one Mistral scalar head scores both responses in each pair -> the only target is that the chosen response should score above the rejected response -> minimize -log sigmoid(r_chosen-r_rejected) with a cosine schedule and paged_adamw_32bit -> update LoRA parameters on attention/feed-forward projections plus the scalar head, then export the LoRA delta and head ``
The baseline applies the chat template, truncates from the left to 4,096 tokens, and interleaves both sides of a pair in one forward pass. Its defaults are micro-batch 1, gradient accumulation 64, global pair batch 64, learning rate 5e-6, seed 42, and at most 252 optimizer steps. Rank-128 LoRA with alpha 256 and dropout 0.05 is attached to the q/k/v/o and gate/up/down projections. Temperature is 1.0; margin and optional reward-centering weight are both zero. It normally saves at progress 126 and the end, retaining at most three artifacts. The shipped single-run diagnostics are 3,353.29 seconds of training, 208.24 seconds of scoring, and 26,592 MiB peak training memory; these are reference-run measurements, not a controlled cross-device reproduction. The direct sources are solution/run.sh and solution/train.py.
The agent did not identify a correctness bug in this path. It instead diagnosed learning-rate, training-length, and seed sensitivity: the default trajectory might learn too slowly initially, train too long later, and depend too heavily on one seed. The evidence ultimately supported an early peak, but not the submitted assumption that adding soup members would monotonically improve stability.
4. Four-hour exploration and decision process
The opening phase covered the task boundary, data flow, evaluator, loader, pair lengths, and smoke/batch-shape checks. The middle phase ran a full-data learning-rate scan and a 256-step training-length curve. The final hour implemented snapshot soup, debugged a host-memory OOM, and performed a two-member full-data comparison. The agent then killed the in-progress third member, scored the first two, and submitted after about 3 hours 23 minutes of the four-hour phase.
U-01 - Can the baseline execute, and does a larger micro-batch improve engineering efficiency?
Motivation and hypothesis. The agent first needed a loadable scalar artifact and wanted to test whether moving work from accumulation into the micro-batch improved throughput at fixed global pair batch.
Concrete change and experiment. A 256-pair, four-step smoke run used micro-batch 1 and accumulation 64. A second 512-pair, six-step probe used micro-batch 8 and accumulation 8; both retained global pair batch 64.
Observed result. The first run trained for 112.2 seconds, peaked at 19.58 GB of GPU memory, and produced a valid artifact. Its maximize-direction proxy result was 56.9188 ± 2.2956 at n=512. The second trained for 90.4 seconds and peaked at 39.28 GB, with no proxy receipt.
Agent interpretation. The larger micro-batch showed insufficient speed benefit for its memory cost, so the formal recipe should retain micro-batch 1.
Report assessment and confounders. Pair count and step count differed, so this was not a controlled throughput comparison. By the task contract, the smoke score establishes execution, not performance. The engineering decision was nevertheless reasonable.
Decision and impact. Micro-batch 8 was rejected; all later and formal runs used micro-batch 1 with accumulation 64.