Let's Think Through the Possibilities · Campaign 2 · Qwen3-8B · seed 42

Campaign 2 QA Results

Frozen-test results as reported in the ICLR 2027 draft (Overleaf, 21 September 2026), followed by a per-problem explorer of every ProtoQA test forecast: our framework and Multi-RLCR, before and after training, against the crowd distribution.

Part 1

Results tables from the Overleaf draft

Transcribed from overleaf-iclr2027/main.tex, tables campaign2-validation-partial, campaign2-hotpot-partial and campaign2-proto-partial. Numbers and qualifications are Codex's; nothing here is recomputed.

W&B validation snapshot, 17 September

RunValidation metric (%)Checkpoint 0Best (step)
HotPotQA RLVRSingle-answer accuracy45.9 (n=896)57.0 (160; n=896)
HotPotQA Multi-RLCRGold in support46.9 (n=896)61.2 (160; n=896)
HotPotQA ours*Gold in support45.4 (n=896)66.7 (416; n=896)
ProtoQA Multi-RLVR*Gold mass in support17.3 (n=1024)36.7 (220; n=1024)
ProtoQA Multi-RLCRGold mass in support25.4 (n=1024)43.1 (240; n=1024)
ProtoQA ours*Gold mass in support19.0 (n=1024)40.3 (160; n=1024)

*Training KL coefficient .01; otherwise zero. n: logged attempts, including evaluation-batch padding, not independent questions.

Partial HotPotQA test results, equally pooled over strata (updated 21 September)

HotPotQA armCheckpointFormat (%)Accuracy (%)Coverage (%)Mode (%)BrierTotal mass
RLVR, no KL069.0[68.3, 69.6]29.4[28.6, 30.2]————
RLVR, no KL16099.4[99.3, 99.5]43.9[42.9, 44.9]————
Our framework, KL .01§063.3[62.7, 63.9]—31.6[30.8, 32.3]27.0[26.3, 27.7].874[.857, .890]1.00[1.00, 1.00]
Our framework, KL .01§417†70.1[69.3, 70.8]—36.1[35.3, 36.9]25.4[24.6, 26.1].826[.814, .838]1.00[1.00, 1.00]
Multi-RLCR, no KL080.1[79.6, 80.7]—36.9[36.1, 37.8]30.6[29.8, 31.4].151[.148, .153].957[.955, .959]
Multi-RLCR, no KL380‡99.9[99.9, 100]—54.6[53.6, 55.6]44.3[43.3, 45.4].101[.0990, .104].671[.665, .676]

Brackets are 95% percentile intervals from 10,000 question-ID bootstrap resamples; framework Brier is truncated. †417 proxies winner 416; ‡380 proxies validation winner 384. Values use three significant digits. Forecast-score valid attempts (0/selected) are 39,895/44,197 for our framework and 50,533/63,000 for Multi-RLCR. Total mass averages stated listed weights and, for our framework, stated Other over valid outputs. §Known bug: this run was trained with the lenient parser (scoring.extract_hypothesis_list) but scored with the strict one (qa_parsing.extract_forecast). At checkpoint 417, 33 / 30 / 25% of completions per stratum fail only the strict duplicate-answer rule, which the training reward never applied (validation validity under the training parser was 99.8 to 100% at every eval step); cap hits are 0.1%. Format, coverage and mode for this arm are therefore not comparable to the other arms until rescored under one parser. Multi-RLCR is unaffected: its training gate already rejected duplicates. Multi-RLCR checkpoint selection was frozen on validation before test evaluation. Bold: best trained-checkpoint point estimate per metric among arms; Brier is not bolded because the framework's truncated Brier and Multi-RLCR's candidate Brier are different scores.

Partial ProtoQA test results (updated 21 September)

Multi-RLVR, KL .01Multi-RLCR, no KLOur framework, KL .01
Metric · checkpoint0230†02400260
Format (%)99.63[99.34, 99.85]99.71[99.37, 99.96]98.90[98.27, 99.45]98.49[97.72, 99.15]69.70[67.89, 71.50]99.48[99.19, 99.74]
Gold mass (%)20.70[18.55, 22.83]40.38[38.07, 42.65]28.40[26.19, 30.60]45.60[43.29, 47.97]19.49[17.69, 21.30]43.69[41.39, 45.99]
Gold mode in support (%)25.00[22.09, 27.87]50.44[47.02, 53.83]34.90[31.77, 38.03]55.27[51.84, 58.73]23.60[21.13, 26.11]53.31[49.93, 56.63]
Correct mode (%)——19.48[16.94, 22.05]30.67[27.58, 33.80]13.95[11.97, 16.02]29.53[26.58, 32.47]
Lifted Brier——3.4806‡[3.4415, 3.5188]1.0763‡[1.0597, 1.0924]1.0774[1.0640, 1.0908].9697[.9596, .9798]
KL——5.34‡[5.15, 5.54]4.22‡[4.03, 4.41]5.72[5.53, 5.91]4.55[4.38, 4.72]
χ²——2320‡[2200, 2450]1640‡[1520, 1760]2310[2170, 2440]1650[1530, 1770]
Training Brier (MARLCR)——.4590[.4489, .4687].2193[.2113, .2277]——
Total mass——3.8066[3.7884, 3.8246]1.2725[1.2609, 1.2850]1.0000[1.0000, 1.0000]1.0000[1.0000, 1.0000]
Method-specific paired subsetsMulti-RLCR, no KL (n=675)Our framework, KL .01 (n=670)
Metric · checkpoint0240Δ0260Δ
Lifted Brier3.4762*‡[3.4373, 3.5149]1.0754*‡[1.0591, 1.0916]−2.4008*‡[−2.4354, −2.3664]1.0777*[1.0647, 1.0905].9692*[.9590, .9794]−.1085*[−.1184, −.0986]
KL5.33*‡[5.12, 5.52]4.22*‡[4.03, 4.40]−1.11*‡[−1.29, −.936]5.72*[5.54, 5.90]4.54*[4.37, 4.72]−1.17*[−1.32, −1.03]
χ²2310*‡[2190, 2440]1630*‡[1520, 1750]−677*‡[−789, −571]2300*[2170, 2430]1640*[1520, 1760]−657*[−752, −562]

Brackets are 95% percentile intervals from 10,000 problem-ID bootstrap resamples; upper-panel point estimates keep their pooled-attempt definitions (679 problems, four attempts each). Gold mass: gold crowd mass covered by the hypotheses (modulo folding by equivalence class). †230 proxies checkpoint 220, which was lost. Gold mode in support is one when any listed hypothesis matches any maximum-crowd-mass gold cluster. Correct mode compares highest stated confidence with highest gold crowd mass; first-declared wins ties. ‡MARLCR raw confidences need not sum to one. Gold-support KL and χ² floor each gold coordinate at 1e-4 without renormalizing: mass on unmatched hypotheses or Other stays off the gold support as lost mass (definition corrected 21 September; the earlier version renormalized on gold support, which scored a rollout matching nothing as the uniform forecast). Point estimates and interval endpoints use three significant digits, as in the draft. Lower panel: *within each method, retain every problem with at least one scoreable rollout at both checkpoints, average its available rollouts, and average problems unweighted. Deltas are selected minus checkpoint 0; negative improves. Scoreable outputs (0/selected): ours 1,893/2,702; Multi-RLCR 2,686/2,675. Bold: best trained-checkpoint point estimate per metric among the arms for which it is defined (upper panel) and the larger improvement (lower panel); intervals often overlap, so bold does not imply a significant difference.

Part 2

ProtoQA frozen test set, problem by problem

679 problems, four rollouts per problem and condition, generated at T=1, top-p .95, 1,792-token cap. Each cell is a histogram over the problem's gold answer clusters plus an Other bucket and an Unmatched bucket. The crowd distribution is drawn as a wide grey bar behind each cluster in every cell. Histograms are built with the repo's own parser, WordNet matcher and forecast code, and reproduce the table means above to four decimals. How these forecasts evolve during training is in Part 3.

Matching. Exact-first WordNet at τ=1 (as in the paper's evaluation). Weights of hypotheses that hit the same cluster add.
Our framework. Stated weights sum to one. An unlisted gold cluster receives Other × raw LM prior (checkpoint-0 Qwen3-8B, EOS-terminated casing union); that back-off is the dashed orange bar on the cluster, usually invisible on the linear axis because the prior is tiny; the number under the bar and the lower loss panel show it.
Multi-RLCR. Raw membership confidences, no Other, no back-off: unlisted gold gets zero. Total mass may exceed one, so the y-axis stretches when needed.
Unmatched. Explicit mass on hypotheses matching no gold cluster; hover to see the surfaces. A rollout with two candidates hitting one key is invalid for Multi-RLCR, as in the evaluator.
Scores per rollout. Lifted truncated Brier and gold-support KL at floor 1e-4: Σ p log(p / max(q, 1e-4)) over gold clusters, with no renormalization, so mass on unmatched hypotheses or Other is lost mass. Same functions as the table. For ours, KLε is the KL under the training smoothing: the crowd cross-entropy with the campaign's additive ε = 1.19 × 10⁻²² (target-mass-weighted 10th percentile of the training gold priors, frozen in epsilon_deciles.yaml) and raw-prior back-off, computed by the training reward function, minus the crowd entropy. It is not normalized on gold support, so an unlisted gold cluster costs about 50 nats times its crowd mass.
Rollouts. The first valid rollout is shown by default; the selector switches to any of the four, malformed ones included.
crowd distribution (gold) ours, listed weight on a matched cluster (blue, solid) backed off: Other × prior on a cluster no listed answer matched (orange, dashed) Multi-RLCR, raw confidence the Other bucket as written by the policy (outline) Unmatched hypotheses
Problem
Crowd distributiongold clusters · p = count / total
Ours · checkpoint 0base Qwen3-8B, ours prompt
Ours · checkpoint 260selected by validation reward
Multi-RLCR · checkpoint 0base Qwen3-8B, MARLCR prompt
Multi-RLCR · checkpoint 240selected by validation reward
Part 3

ProtoQA training dynamics

The ProtoQA ours run followed through training, in two views. Development set: the 104 development questions evaluated at every in-training checkpoint (0, 20, …, 260; eight rollouts each), as population trends and question by question for ten sampled questions. Training stream: the 69,632 training rollouts themselves, as weight statistics pooled by fifth of the single pass and group by group at every optimizer step, with the trainer's advantages and the reward breakdown.

Reading the cells
Reward. The training objective is Σc pc log(qc + ε) over gold clusters, with qc the listed mass on cluster c, or Other × priorc when c is unlisted, ε = 1.19 × 10⁻²², minus 0.2 |Σ weights − 1|. Malformed outputs receive −78.0.
Listed term / unlisted term. The same sum split by whether the cluster was named. Naming a missed cluster of mass p is worth about 25 to 50 p nats; reweighting named clusters moves the reward by at most about a nat.
Chart. Wide grey bars are the crowd distribution. The narrow bar inside each is the forecast on that cluster: solid blue when a listed answer matched it (the weight the policy wrote), dashed orange when none did (Other × prior, usually too small to see on a linear axis). Then the Other bucket as written (outline) and the weight on listed answers matching no cluster (hatched). The lower panel shows each cluster's loss −p·log(q+ε) on a log axis in the same colours. "Mean of 8" averages the valid rollouts' forecasts and losses.
Scores under each chart. Mean over the eight rollouts of the logged reward, and of the listed and unlisted terms over valid ones; the table below each strip adds coverage, Other, unmatched mass, top weight, mode correctness and the gold-support KL at floor 1e−4.
crowd plisted weight on a matched clusterbacked off: Other × priorOther as writtenunmatched listed weightlisted termunlisted termformat failures
Part 3 · A

Development set, followed across checkpoints

Every point and every cell below comes from the in-training evaluations on the fixed 104-question development set: the same questions at checkpoints 0, 20, …, 260, eight rollouts each, rescored with the training reward. This is the paired view of learning.

All 104 dev questions

Population trends across checkpoints

Each point is one in-training evaluation checkpoint (0, 20, …, 260): the mean over the 8 × 104 evaluation rollouts of that checkpoint, not a running average over training.

Ten sampled questions

Question by question

Sampled with a fixed seed to spread over cluster counts. Move the pointer over a bar to see the cluster's aliases, its crowd probability, its base-model prior and the forecast mass placed on it. The rollout dropdown in each question's header switches all 14 checkpoint cells of that question between the average over the eight rollouts and one chosen rollout.

crowd probability p listed: weight the policy gave to a listed answer matching this cluster (blue, solid) backed off: no listed answer matched, Other × prior (orange, dashed) the Other bucket as written by the policy (outline) weight on listed answers matching no cluster (unmatched)numbers under a bar: crowd p (grey) above the forecast mass on the cluster, coloured by its componentlower panel, log scale: each gold cluster's loss −p·log(q+ε), same colour as its component above; their sum is minus the reward before the penalty
Part 3 · B

Training stream

Everything below comes from the 69,632 training rollouts themselves, 272 optimizer steps × 32 questions × 8 rollouts, each question generated once in the single pass. First pooled by fifth of the pass, then one group at a time.

All training rollouts, 69,632, pooled by fifth of the single pass (optimizer steps 1–54, 55–108, 109–162, 163–216, 217–270)

Weight templates: the policy stops exploring its weights

Each valid rollout's weight vector (five listed weights and Other, rounded to .01) is counted across the training rollouts. The policy converges to a handful of templates, so within a group of 8 the weights barely differ; the only shape decision left is which answer occupies which slot. The last two columns compare the advantage variance over all groups with the variance inside groups whose 8 rollouts list exactly the same gold clusters, where coverage is held fixed and only weights, Other and unmatched mass can differ.

Training stream: 272 optimizer steps × 32 questions × 8 rollouts

Means or medians over the 256 rollouts of each optimizer step, ours and the no-KL Multi-RLCR run on the same 272 batches, with a 9-step centered moving average. Unlike the checkpoint charts in Part 3 A, these are the training rollouts themselves, so the questions change at every step.

Training groups, step by step

Pick an optimizer step (every 2nd step and the last one are stored) and one of its 32 questions. The first chart is the crowd distribution; then, row by row, our rollout k beside Multi-RLCR's rollout k on the same question at the same step (the Multi-RLCR run campaign2_protoqa_marlcr_seed42_nokl_v1 walks the data in the same order: every step's 32-question batch matches ours). Rollouts are not paired across arms. Multi-RLCR's reward is 0.5 · format + 0.5 · (number of distinct gold clusters hit) − 0.5 · candidate Brier over its five candidates, with the same exact-first WordNet matching; its advantage is reward minus group mean. In parentheses after every advantage is the standardized advantage, (reward − mean) / (std + 10⁻⁴), what TRL's default group scaling would have used. Our rollouts are shown exactly as the trainer scored them: the trainer's advantage for the rollout, its reward, and the reward split into the listed-gold term, the unlisted-gold term (Other × prior + ε), the normalization penalty and the format-fail reward. Each rollout's <hypotheses> block can be expanded. These are training questions, each seen once during the single pass, unlike the paired development set above. Reward and advantage are the trainer's; the breakdown is recomputed with the current strict parser and matcher, so a rollout is flagged when the deployed training parser accepted it (it took the last hypotheses block and tolerated drafts in the reasoning) but the current one does not, or when the recomputed terms do not add up to the trainer's reward.

crowd probability p listed: weight the policy gave to a listed answer matching this cluster (blue, solid) backed off: no listed answer matched, Other × prior (orange, dashed) the Other bucket as written by the policy (outline) weight on listed answers matching no cluster (unmatched)numbers under a bar: crowd p (grey) above the forecast mass on the cluster, coloured by its componentlower panel, log scale: each gold cluster's loss −p·log(q+ε), same colour as its component above; their sum is minus the reward before the penalty
Part 4

HotPotQA training dynamics: ours versus Multi-RLCR

The parser-fixed, KL-free rerun of our framework (campaign2_hotpotqa_ours_parserfix_nokl_seed42, 417 optimizer steps) beside the KL-free Multi-RLCR run (campaign2_hotpotqa_marlcr_seed42_nokl_v1). Both runs walk the 25,000 training questions in the same order: at every step the two 60-question batches are identical (verified for all 405 steps present in the Multi-RLCR log, whose per-step means also match its trainer log; the log lacks steps 193–200 and 287–290). Eight rollouts per question. Our reward is log(qgold + ε) with ε = 4.77 × 10⁻¹⁴, qgold the weight on exactly-matching listed answers or Other × prior when none matches, minus 0.2 |Σ weights − 1|, and −82.16 for malformed output; it is reproduced exactly on every valid rollout. Multi-RLCR's reward is 0.5 · format + 0.5 · (any candidate correct) − 0.5 · candidate Brier. Advantages are reward minus the group mean in both runs.

gold answer (the single gold bar has crowd p = 1) listed weight, or confidence, on candidates that exactly match the gold ours, backed off: Other × prior (orange, dashed) Other as written (ours only) weight on candidates that do not match the gold

Means over the 480 rollouts of each step, both arms on the same steps; a 9-step centered moving average is drawn over the raw per-step values. Hit rate is the share of valid rollouts with a matching candidate. Multi-RLCR series stop where its log has gaps.

Training groups, step by step, problem by problem

Every 16th step and the last one are stored (27 steps × 60 questions × 2 arms × 8 rollouts, with full chains of thought). Pick a step and a question: the two columns show the eight ours rollouts and the eight Multi-RLCR rollouts of that very question at that very step, with the trainer's advantage (and, in parentheses, the standardized advantage (reward − mean) / (std + 10⁻⁴) that TRL's default group scaling would have used), the reward and its terms, the length of the completion (tokens, reasoning characters, answer characters, and whether it hit the 1,792-token cap), the chain of thought in a scrollable box, and the final answer block. Rollouts are not paired across arms; row k is simply rollout k of each run.