Preference reward modeling
Kimi K3 · Claude Code · max effort
Public case ID: claude__ultrafeedback_bt_rm_rewardbench__kimi-k3__max
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
Baseline flow is fixed pair → two scalar rewards → chosen/rejected label → Bradley-Terry optimization → LoRA and scalar head. The candidate keeps that update, uses 2,048-token length-grouped batches, and trains five center seeds plus learning-rate, two-epoch, and full-model hedges; it intends to proxy-rank three endpoints, falling back to launch order. These are batching, hyperparameter, schedule, engineering, and checkpoint-policy changes, not a new algorithm. Formal replay imported no exploration weights and freshly represented the exploration-best configuration as arm 1.
Exploration and replay evidence
Four-hour exploration
All quality probes used the maximize-direction 512-row proxy; standard errors describe rows, not seeds. First, the agent shortened sequences to 2,048, grouped by length, and raised the pair micro-batch to four while preserving global batch 64. Only 20 chosen and 15 rejected sequences truncated; a representative 128-step run took 692.6 seconds, so the shape was adopted without a matched speed control. Second, a seed-42 learning-rate sweep scored 72.159, 75.790, 73.987, and 73.671 at 5e-6, 1e-5, 2e-5, and 4e-5; higher rates traded Reasoning for Chat, so 1e-5 became the observed center. Third, 256 steps scored 75.616 versus 75.790 at 128 while nearly doubling runtime and shifting accuracy toward Chat; one epoch was adopted and two retained as a hedge. Fourth, seed 7 fell to 69.821 with a 21.7-point Reasoning drop, driving the multi-seed policy. Fifth, full fine-tuning first failed on a PEFT-only call; repaired 2e-6 training scored 73.638 ± 1.847 at 128.7 GiB and remained an expensive fallback. Tiny pool smokes and frozen loading checks validated publication, not quality; label smoothing and head-specific learning rate were untested and disabled.
Formal replay
All eight arms succeeded, but formal retraining mounted no proxy, so selection scores were NaN and launch order published seeds 42, 7, and 1234. It exited normally after 11,209.992 of 43,200 seconds (25.949%); each retained adapter independently completed 128 steps and loaded with a [1,4096] head. Official maximize-direction rewardbench_v1_score on the full final split, n=2,985, was 74.121 ± 0.898, 65.624 ± 0.902, and 71.806 ± 0.879 for checkpoints 1–3. Slots are publication order, not progress, so this is seed spread. Checkpoint 1's final-side 512-row diagnostic, 75.812, reproduced exploration's 75.790, but proxy ranking never executed and no reference gain was shown. All final receipts found zero training-set prompt/response overlap.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | RewardBench score | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-1 | 1 | 74.121 | 0.8979 | 2985 | Best |
| artifact-2 | 2 | 65.624 | 0.9019 | 2985 | Retained |
| artifact-3 | 3 | 71.806 | 0.8789 | 2985 | Final |
Best retained
74.121
artifact-1
Final checkpoint
71.806
artifact-3
Checkpoint rule
Best is an earlier checkpoint
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 -0.4483).
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
- Confirmed
- 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 - kimi-k3 / Claude Code / max
Status. Exploration recovered from repeated API-429 interruptions and submitted; formal retraining, three artifact validations, three official final evaluations, and the boundary audit completed.
What happened. The task trains a scalar reward model from pinned Mistral weights and 8,192 decontaminated UltraFeedback chosen/rejected pairs. The baseline predicts one scalar per response and uses the fixed “chosen should score higher” label in a Bradley-Terry loss to update rank-128 LoRA weights and the scalar head. The agent diagnosed inefficient 4,096-token batching and seed sensitivity, then submitted a faster one-epoch, multi-seed pool; its best official 74.121 did not beat the shipped 74.569 reference.
Four-hour exploration. All quality probes used the maximize-direction 512-row proxy; standard errors describe rows, not seeds. First, the agent shortened sequences to 2,048, grouped by length, and raised the pair micro-batch to four while preserving global batch 64. Only 20 chosen and 15 rejected sequences truncated; a representative 128-step run took 692.6 seconds, so the shape was adopted without a matched speed control. Second, a seed-42 learning-rate sweep scored 72.159, 75.790, 73.987, and 73.671 at 5e-6, 1e-5, 2e-5, and 4e-5; higher rates traded Reasoning for Chat, so 1e-5 became the observed center. Third, 256 steps scored 75.616 versus 75.790 at 128 while nearly doubling runtime and shifting accuracy toward Chat; one epoch was adopted and two retained as a hedge. Fourth, seed 7 fell to 69.821 with a 21.7-point Reasoning drop, driving the multi-seed policy. Fifth, full fine-tuning first failed on a PEFT-only call; repaired 2e-6 training scored 73.638 ± 1.847 at 128.7 GiB and remained an expensive fallback. Tiny pool smokes and frozen loading checks validated publication, not quality; label smoothing and head-specific learning rate were untested and disabled.
How the submitted method works. Baseline flow is fixed pair → two scalar rewards → chosen/rejected label → Bradley-Terry optimization → LoRA and scalar head. The candidate keeps that update, uses 2,048-token length-grouped batches, and trains five center seeds plus learning-rate, two-epoch, and full-model hedges; it intends to proxy-rank three endpoints, falling back to launch order. These are batching, hyperparameter, schedule, engineering, and checkpoint-policy changes, not a new algorithm. Formal replay imported no exploration weights and freshly represented the exploration-best configuration as arm 1.
Formal and evaluation evidence. All eight arms succeeded, but formal retraining mounted no proxy, so selection scores were NaN and launch order published seeds 42, 7, and 1234. It exited normally after 11,209.992 of 43,200 seconds (25.949%); each retained adapter independently completed 128 steps and loaded with a [1,4096] head. Official maximize-direction rewardbench_v1_score on the full final split, n=2,985, was 74.121 ± 0.898, 65.624 ± 0.902, and 71.806 ± 0.879 for checkpoints 1–3. Slots are publication order, not progress, so this is seed spread. Checkpoint 1's final-side 512-row diagnostic, 75.812, reproduced exploration's 75.790, but proxy ranking never executed and no reference gain was shown. All final receipts found zero training-set prompt/response overlap.
Audit and takeaway. The source-only patch replayed from fixed base/pairs without network or exploration weights; held-out rows appeared only in frozen scoring, the evaluator was unchanged, GPU isolation was clean, and hashes plus corrected 81c3→9a52 lineage reconcile. Observable agent behavior is confirmed noncompliant: receipts show submission with 2,207 seconds left despite a fitting probe and a deliberately short formal recipe. Protocol/evaluation-boundary exposure is none found. Platform status is a confirmed exploration-service defect—two gateway-preflight failures, one pre-classification launcher exit, and repeated 429s required recovery—while formal scheduling and GPU isolation are compliant. The work diagnoses seed-driven failure and engineers reliable artifacts, but cannot establish stable improvement, full-fine-tuning benefit, or the outcome of a compliant long recipe.
Full semantic audit
claude__ultrafeedback_bt_rm_rewardbench__kimi-k3__max - Full English Analysis
1. Run identity, attempt selection, and lineage
Retries are treated as one logical exploration. Within the selected run, attempt 1 performed almost all scientific work and ended on a provider TPM-rate-limit 429 with 3,394.7 seconds left; attempts 2 and 3 resumed but immediately encountered the same class of 429; attempt 4 recovered the preserved workspace, revalidated the formal path, and submitted. The three earlier full-run directories contain no distinct method or useful experiment, so their infrastructure failure is recorded only above. Direct lineage evidence is in the primary manifest, formal manifest, and approved source-drift correction. Authoritative prior-attempt receipts are 28198 attempt 1, 28198 attempt 2, and the earlier 81c3 attempt.
2. Reader-facing overview
The task asks for a better scalar reward model from a pinned Mistral-7B-Instruct-v0.2 start and 8,192 decontaminated UltraFeedback chosen/rejected pairs. The shipped baseline renders each conversation with the Mistral chat template, scores chosen and rejected sequences with one scalar head, and optimizes a Bradley-Terry preference loss through rank-128 LoRA plus the scalar head. Its reference recipe is comparatively long-sequence and slow: 4,096 tokens, micro-batch one with 64-step accumulation, learning rate 5e-6, and 252 optimizer steps, about two epochs.
The agent first shortened the context to 2,048, grouped examples by length, increased the pair micro-batch to four, and then studied learning rate, one versus two epochs, training seed, and full-parameter training. On the visible 512-row proxy, the seed-42 rank-128 LoRA arm at 1e-5 was best at 75.790; two epochs was essentially tied in aggregate at 75.616 but changed section balance, while the same one-epoch recipe at seed 7 fell to 69.821. The submitted method therefore kept the Bradley-Terry update but encoded an eight-arm pool: five center-recipe seeds, a learning-rate hedge, a two-epoch hedge, and a full-fine-tuning hedge, intending to publish the top three by proxy.
Formal replay completed from the fixed start and all eight arms trained successfully. Formal retraining deliberately had no proxy mount, however, so every pool score was NaN and the stable fallback published the first three successful arms—seeds 42, 7, and 1234—rather than proxy-selected winners. All three adapters and scalar heads loaded. Their full 2,985-row final scores were 74.121, 65.624, and 71.806; artifact 1 was the official best. Its final-side 512-row diagnostic, 75.812, closely reproduced the exploration seed-42 proxy result, but its full score was numerically 0.448 below the shipped final reference of 74.569. Thus no improvement over the shipped method was demonstrated, and the 8.50-point formal seed spread confirmed the risk that motivated the pool.
The data, model, hidden-set, frozen-evaluator, network, artifact, and explore-to-formal boundaries were clean, and the final evaluator recomputed zero training/RewardBench overlap. A separate protocol failure is confirmed: the instruction required meaningful use of the 12-hour formal budget, but the fixed pool exited normally after 11,209.992 seconds, only 25.949% of that budget; exploration also explicitly submitted with about 36 minutes 47 seconds remaining after identifying experiments that could fit. These stopping-policy breaches limit the scientific completeness and make the candidate's “long formal recipe” claim false, without invalidating the provenance or frozen final scores themselves.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
``text Starting artifact / model: pinned Mistral-7B-Instruct-v0.2 architecture and weights; its fresh scalar head has no meaningful RewardBench start score Available training data and assets: all 8,192 fixed, decontaminated UltraFeedback preference pairs; exploration also sees a 512-row RewardBench proxy and read-only task/harness code Agent-editable surface: editable workspace, including objective, row use, sampling, capacity, optimizer, schedule, stopping, and checkpoint policy Fixed or forbidden components: fixed base and pair file in formal replay; no external preference/evaluation rows, reward checkpoints, section-weight changes, evaluation-specific lookup, hidden final rows, or exploration checkpoints in formal replay; no network Proxy evaluator: rewardbench_proxy_512, maximize, visible subset, n=512; reports descriptive weighted-subset binomial stderr, not seed or paired uncertainty Final evaluator: rewardbench_v1_score, maximize, full filtered RewardBench v1 split, n=2,985; the remaining 2,473 rows are held out until scoring and stderr is descriptive Artifact contract: up to three accepted complete scalar models or compatible deltas, including the scalar head, under run output area progress>; every valid accepted artifact is scored independently and the best final score is official ``
The proxy and final evaluator use the same model tokenization/scalar-reward comparison and fixed section aggregation, but they operate on different sample sets. The proxy is 512 rows drawn from the final 2,985; it is appropriate for proxy-to-proxy decisions and for a labeled overfitting diagnostic, not as a replacement for the full final result. The shipped 74.568936 reference and the candidate's 2,985-row scores do share the full final protocol and can be compared descriptively. Neither the reference nor this trajectory supplies replicated-seed or paired uncertainty, so a numerical difference is not evidence of a stable training-method effect.
The binding phase definition is explicit: exploration mounts the base, the complete pair file, and only the 512-row proxy; retraining mounts the base, pair file, candidate patch, and fresh output—no RewardBench asset at all; scoring alone mounts the full RewardBench set and the pair file for overlap recomputation. See the task instruction, phase declaration, and task configuration.
3.2 How the baseline works
``text [one fixed chosen/rejected conversation pair] -> [Mistral chat-template rendering, left truncation, and one scalar reward for each complete chosen and rejected sequence] -> [the fixed label that chosen should score above rejected] -> [-log sigmoid((r_chosen - r_rejected - margin) / temperature), with optional reward centering disabled by default, optimized by AdamW and cosine decay] -> [LoRA weights on q/k/v/o/gate/up/down projections plus the scalar score head] ``
The baseline interleaves chosen and rejected sequences in its collator and reconstructs the pairwise rewards before computing the loss. It trains on all 8,192 pairs, uses maximum length 4,096, pair micro-batch 1 with gradient accumulation 64 (global pair batch 64), rank-128/alpha-256 LoRA with dropout 0.05, learning rate 5e-6, four warmup steps, and 252 optimizer steps. The base transformer remains frozen while the LoRA matrices and scalar head train. It saves at step 126 with retention three and exports a compatible adapter plus scalar head.
The agent's initial diagnosis was not that Bradley-Terry was wrong. It identified inefficient sequence/batch shape and a likely hyperparameter/seed-selection problem: most sequences fit below 2,048 tokens, the baseline used a small micro-batch and 4,096-token cap, and RewardBench was explicitly seed-sensitive. No exact rerun of the shipped 252-step baseline was performed, so this diagnosis remained partly operational rather than a controlled baseline comparison. Baseline details come directly from solution/run.sh and solution/train.py.
4. Four-hour exploration and decision process
The agent spent the opening portion reading the task, baseline, artifact loader, evaluator source, and pair/proxy structure; it then profiled token lengths and ran short throughput/OOM smokes. Most of the main window went to seven complete quality probes: a four-point learning-rate sweep, a two-epoch extension, a second seed, and full-parameter training. It also debugged a probe-directory creation error, a queue watcher that matched itself, and a full-fine-tuning call that assumed a PEFT model. The end of attempt 1 prepared and smoke-tested a multi-arm formal recipe before a TPM 429 interruption. Recovery attempt 4 revalidated artifacts, hardened publication, ran a second plumbing smoke, and submitted. The polling itself added no scientific conclusion; the completed result and failure receipts below are the relevant evidence.
U-01 - Can shorter, length-grouped batches make exploration practical without materially dropping training rows?
Motivation and hypothesis. The baseline's 4,096-token, pair-micro-batch-one shape appeared needlessly expensive. The agent hypothesized that a 2,048 cap and length grouping would preserve nearly all information while allowing a micro-batch of four pairs and much faster iteration.
Concrete change and experimental setup. It rendered the fixed 8,192 pairs with the same Mistral chat template, inspected lengths, then used maximum length 2,048, left truncation, GROUP_BY_LENGTH=1, pair micro-batch 4, accumulation 16, and global pair batch 64. Exploration LoRA quality probes disabled gradient checkpointing; all other core LoRA settings remained rank 128, alpha 256, dropout 0.05, and all linear projection targets.
Observed result. Every completed LoRA probe used all 8,192 pairs. The preserved summaries record 20 chosen and 15 rejected sequences truncated at 2,048, with maxima 4,240 and 4,469 tokens before truncation. A representative 128-step run completed training in 692.6 seconds at 153.3 GiB peak without checkpointing; the later checkpointed plumbing smoke used about 26.8 GiB. These are not matched to a 128-step, 4,096-token control. The first smoke also exposed and fixed a missing-output-directory bug.
Agent interpretation. The agent described 2,048 as losing only a negligible tail and attributed roughly tripled throughput to shorter, length-grouped micro-batches. It treated the configuration as an enabling change for the sweep.
Report assessment and confounds. The exact truncation counts support low truncation, but the speed attribution is not controlled: the shipped reference used 252 steps, maximum length 4,096, micro-batch one, and a different checkpointing profile. The 692.6-second figure therefore cannot by itself establish a threefold algorithmic speedup. The no-checkpoint exploration peak would not be portable to a small-memory GPU, which is why formal arms restored gradient checkpointing.
Decision and consequence. Adopted. The 2,048 cap, micro-batch 4, accumulation 16, all-pair use, and length grouping entered every later probe and the submitted formal recipe. Gradient checkpointing was switched back on for formal portability.