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

Campaign 4 HPQA

HotPotQA training dynamics of the Campaign-4 run of our framework at ε = 5 × 10⁻⁵ (campaign4_hotpotqa_ours_eps5e-5_fail1_seed42, training commit 4fe764c), in the format of the Campaign 4 QA page: Qwen3-8B, no KL regularizer, 417 optimizer steps over 25,000 training questions, each with one or two of its gold paragraphs removed (drop_mode random_1_2). The selector lists the cells available: the ε = 5 × 10⁻⁵ cell, and the same cell with a reasoning budget (campaign4_hotpotqa_ours_eps5e-5_fail1_think1600_seed42, training commit ed2fe1e): an open <think> block is closed by force after 1,600 tokens and the answer block is written with the remaining 192 of the 1,792-token cap, instead of running into the cap and failing the format. Known defect of this run (found 26 October, fixed in thinking-experiments 3a13d8f): a completion that closed its think block by itself shortly before 1,600 tokens and was still writing its answer was not continued, so it was cut at 1,600 tokens instead of 1,792 and failed the format; this hit about 1% of the rollouts in the first 46 steps and 4 rollouts in the last 55. The cell is therefore not a clean isolation of the forced close and is kept here as a record. In the training stream, a forced close shows as a reasoning of exactly 1,600 tokens. The Campaign-4 HotPotQA Multi-RLCR rerun's columns are not on this page.

Selection

Cell of the parameter search

Part 1

HotPotQA training dynamics

The selected cell followed through training, in two views. Development set: the 99 development units, the 33 frozen dev questions in three strata (0, 1 or 2 of the two gold paragraphs removed from the context), evaluated at every in-training checkpoint (0, 32, …, 416; eight rollouts each), as population trends and for any unit of your choice. Training stream: the 417 × 60 × 8 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 log(q + ε) with q the weight the policy put on a listed answer that exactly matches the gold (after the written weights are divided by their total S), or Other × prior when no listed answer matches, minus 0.5 · min(|S − 1|, 1). ε = 5 × 10⁻⁵. A malformed output, or one that names the same answer surface twice, receives log ε − 1 = −10.90 nats whatever the question's prior.
Listed term / unlisted term. The same log score split by whether a listed answer matched: at most one of the two is non-zero per rollout. A miss costs at most |log ε| ≈ 9.9 nats, less when Other × prior already covers the gold.
Chart. One wide grey bar: the gold answer, with p = 1. The narrow bar inside it is the forecast on the gold: solid blue when a listed answer matched it exactly (the normalized 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 that do not match the gold (hatched). The lower panel shows the loss −log(q+ε) on a log axis.
Scores under each chart. The shown rollout's logged reward and its listed and unlisted terms; the table below each strip adds the gold hit rate, Other, unmatched mass, top weight, top-1 correctness and the logged truncated Brier score.
gold answer (p = 1)listed weight on a matched clusterbacked off: Other × priorOther as writtenunmatched listed weightlisted termunlisted termformat failures
Part 1 · A

Development set, followed across checkpoints

Every point and every cell below comes from the in-training evaluations on the fixed development set: the same 99 units (33 questions × 3 strata) at checkpoints 0, 32, …, 416, eight rollouts each, rescored with the training reward. This is the paired view of learning. A checkpoint missing from a cell's strip was lost to a preemption before its evaluation was logged.

All 99 dev units

Population trends across checkpoints

Each point is one in-training evaluation checkpoint: the mean over the 8 × 99 evaluation rollouts of that checkpoint, not a running average over training. The evaluator pads the 99 units to 112 by generating 13 of them twice; each unit keeps its first 8 rollouts here, while W&B's eval reward averages the padded rows. One of the seven generation calls of the step-192 evaluation was lost to a preemption, so that checkpoint has 96 units.

Any of the 99 dev units

One question, every checkpoint

Pick a development question and one of its eight rollouts: the checkpoint cells show that rollout's forecast, and under each cell the full prompt it was given (system prompt and user message with every context paragraph, the two gold supporting paragraphs in red), its chain of thought and its hypotheses block can be expanded, in that order, so the generated answer can be read checkpoint by checkpoint.

Part 1 · B

Training stream

Everything below comes from the training rollouts themselves, 417 optimizer steps × 60 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, pooled by fifth of the single pass (optimizer steps 1–84, 85–168, 169–252, 253–336, 337–417)

Weight templates

Each valid rollout's weight vector (its listed weights, normalized to total one, and Other, rounded to .01) is counted across the training rollouts. The last two columns compare the advantage variance over all groups with the variance inside groups whose 8 rollouts all match the gold or all miss it, where the hit is held fixed and only weights, Other and unmatched mass can differ.

Training stream: 417 optimizer steps × 60 questions × 8 rollouts

Means or medians over the 480 rollouts of each optimizer step, with a 9-step centered moving average; the Multi-RLCR panels fill in once its rerun lands. Unlike the checkpoint charts in Part 1 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 60 questions. The checkbox restricts both lists to the groups in which all eight rollouts miss the gold and the gold's prior is below ε/10 = 5 × 10⁻⁶: there the reward log(Other × prior + ε) is flat in Other, so the group carries no signal about Other. The address bar follows the selection (#step=195&q=<question id>), so a group can be linked directly. The first chart is the gold answer; then, row by row, the eight rollouts with the trainer's advantage (reward minus the group mean, DAPO, no reward scaling; in parentheses the standardized advantage (reward − mean) / (std + 10⁻⁴) that TRL's default group scaling would have used), the logged reward and its recomputed terms, listed or unlisted, the normalization penalty and the format-fail reward, with the reward code of commit 4fe764c, which reproduces the trainer's reward on every rollout. Each rollout's <hypotheses> block can be expanded; on every 16th step and the last one (marked in the step list) the full chain of thought and, under each rollout, the full prompt (system prompt and user message with its context paragraphs) can be expanded too. These are training questions, each seen once during the single pass, unlike the paired development set above.

gold answer (p = 1) 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