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

Campaign 3 QA Results

ProtoQA and HotPotQA training dynamics of Campaign 3, in the format of the Campaign 2 page: our framework followed on the development set across checkpoints and through its training stream beside Multi-RLCR on the same batches. Status on 2 October: ours is complete (272 steps); Multi-RLCR is complete (272 steps). HotPotQA ours is complete (417 steps) and shown beside Campaign 2's Multi-RLCR run; HotPotQA RLVR is still training. The frozen-test evaluation of the finished runs is running; its results will be added here.

Part 3

ProtoQA training dynamics

The Campaign-3 ProtoQA ours run followed through training, in two views. Development set: the 100 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, ε = 5 × 10⁻⁴, minus 0.2 |Σ weights − 1|. A malformed output receives the score of the all-Other forecast (Other = 1, every cluster backed off) minus 3 nats, so its value depends on the question's priors.
Listed term / unlisted term. The same sum split by whether the cluster was named. With ε = 5 × 10⁻⁴ a missed cluster of mass p costs at most p · |log ε| ≈ 7.6 p nats, less when Other × prior already covers it, so naming it is worth at most about 7.6 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 100-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 100 dev questions

Population trends across checkpoints

Each point is one in-training evaluation checkpoint (0, 20, …, 260): the mean over the 8 × 100 evaluation rollouts of that checkpoint, not a running average over training. The evaluator pads the 100 × 8 rows to 1,024 by generating 28 questions twice; each question keeps its first 8 rollouts here, while W&B's eval reward averages the padded 1,024.

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 (its listed weights, up to five, 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 Campaign-3 Multi-RLCR run (no KL) on the same 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 campaign3_protoqa_marlcr_seed42 walks the data in nearly the same order: 70,408 of its 70,656 training rollouts fall in ours' batch for the same step; it was resumed from checkpoint 60 after a GPU fault and a preemption, and a step generated twice shows its later generation). 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 show the trainer's logged reward; the advantage is recomputed as reward minus the group mean (DAPO, no reward scaling), as the trainer computes it. The reward is split into the listed-gold term, the unlisted-gold term (Other × prior + ε), the normalization penalty and the format-fail reward, recomputed with the reward code of the training commit d0f0d36. 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 of every rollout can be expanded too. The full user message of each question can be expanded under its title. These are training questions, each seen once during the single pass, unlike the paired development set above. A rollout is flagged when the training parser accepted it (weights within 0.01 of one) but the current parser, which requires the weights to sum to 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 Campaign-3 HotPotQA run of our framework (campaign3_hotpotqa_ours_seed42, 417 optimizer steps, no KL) beside the KL-free Multi-RLCR run of Campaign 2 (campaign2_hotpotqa_marlcr_seed42_nokl_v1), which Campaign 3 keeps as its Multi-RLCR arm. Both runs walk the 25,000 training questions in the same order: the 60-question batch of every stored step is identical in both runs (Multi-RLCR's log lacks steps 193–200 and 287–290). That Multi-RLCR run predates the Campaign-3 fix that synchronizes the two training ranks. Eight rollouts per question. Our reward is log(qgold + ε) with ε = 5 × 10⁻⁴, qgold the weight on exactly-matching listed answers or Other × prior when none matches, minus 0.2 |Σ weights − 1|; a malformed output receives log(prior + ε) − 3. 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.