SRD: Building self-distillation targets from residuals shared by unverified peers¶
L1 formula, sampling-isolation, and gradient component, not a math-capability reproduction. The full multi-model experiment was reviewed and not reproduced because of cost. No Qwen downloads, external teacher calls, or Evolve promotion.
Paper information¶
| Field | Details |
|---|---|
| Paper links | arXiv 2610.22080; pinned v1 full text |
| Company / institution | First author Feiyang Chen, Shanghai Jiao Tong University; Runze Ma is co-first author |
| First public release | 2026-10-15T15:36:40Z (UTC, arXiv v1) |
| Author code | No SRD method source found. The linked OPSD repository is a baseline, not SRD code. |
| Local adapter / method key | shared-residual-distillation; adapter: null |
| Local implementation | shared_residual_distillation.py |
| Local directory | src/auto_research/post_training/ |
| Runner | run_oct17_post_components.py |
Paper summary¶
Background and main changes¶
Without gold or verifiable rewards, an incorrect solution can still contain useful steps. SRD does not vote for a correct answer. It compares same-question peers' changes to token distributions against a cross-question control, accepting only conservative residuals supported by multiple peers. The student still reads only the question and its own prefix, and inference does not need peers.
flowchart LR
A[Current student generates K trajectories per question] --> B[Uniform split into M peers and remaining targets]
B --> C[Fix the same target prefix]
C --> D[Frozen initial model provides q0, qc, and qj]
D --> E[Center log qj minus log qc under q0]
E --> F[Same-sign minimum-magnitude minmod]
F --> G[Detached qcap]
G --> H[Coordinate-capped KL updates student]
Original paper figure¶
Paper Figure 2: Overall method and components. From the original paper; copyright remains with the authors. Click the image to open its source.
Core equations¶
At the same target prefix, \(q_0\) is the frozen initial model with question-only context, \(q_c\) the cross-question control view, and \(q_j\) the same-question peer view:
Take the minimum if all \(\delta_j(v)>0\), maximum if all are negative, otherwise \(r(v)=0\). Then
The cap limits each signed vocabulary coordinate, not total KL, so the surrogate can be negative. \(N\) counts valid target tokens. Do not use \(q_c\) as the centering weights or put a target in its own peer context.
Offline and online results reported in the paper¶
On AIME24–26, mean avg@12 rises from 11.02/19.07/21.39 to 16.20/45.46/54.44 for Qwen3 1.7B/4B/8B. The paper also reports HMMT, MATH-500, IFEval, and MMLU-Pro, with GRPO, TTRL, and OPSD comparisons. Avg@12 is sample accuracy, not pass@12. No online A/B is reported.
Local reproduction¶
Data protocol and execution¶
Use two fixed integer prompts and a randomly initialized causal cumulative-embedding policy with eight vocabulary tokens. At every update actually sample four length-four trajectories per question, uniformly select two peers, and use the rest as targets. Controls come from the other question. A frozen initial policy reads each context per prefix; the student sees no peer, control, or gold. No math benchmark, checkpoint, or real semantic reasoning task.
PYTHONPATH=src python scripts/run_oct17_post_components.py \
--methods shared-residual-distillation --device cpu --seeds 42,43,44 \
--output runs/srd-component.json
Change only --device cpu to --device cuda for CUDA; no fallback. Four actual optimizer updates by default, with one to 12 allowed and no retry for seed selection.
Results, code mapping, and limits¶
Real A100 execution on 2026-10-17 used seeds 42/43/44; see per-seed metrics and sanitized GPU receipt. Mean student change \(L_2\) is .05511, teacher change zero, and mean independent target error \(1.16\times10^{-16}\). These establish mechanism and gradients, not math accuracy. Random samples need not match across devices; CPU and CUDA evidence is not mixed.
split_peerschecks at least two questions, \(K>M\ge2\) per question, disjoint target/peer sets, and cross-question controls.shared_residual_targetimplements full-vocabulary centering, minmod, and detached target.clipped_distillation_lossretains signed coordinates, clears padding before softmax, and gives invalid positions exactly zero gradient.- The runner uses an independent scalar-loop target reference and a zero-residual control with equal peer/control views. It records nonzero student updates and no frozen-teacher change. Failures and negative losses are retained, not improvements.
Full experiment not reproduced: Three Qwen3 models, 29.4K math problems, 100 steps with 32 questions × four rollouts, four teacher distributions per target prefix, 20K training context, and 32K×12 math evaluation. The multi-arm, multi-model pipeline is expected to take hours on one A100/A30; no probe was started. diagnostic_only: true, promotion_eligible: false, evolve_integrated: false.
