Most self-play RL for language models only works where you already have ground truth — math has a correct answer, code either passes tests or it doesn't. RLSVR, released as SpyRL, asks a sharper question: can you get a verifiable reward signal for tasks that have no ground truth at all, like summarization or creative writing? Its answer borrows the party game "Who Is the Spy?" — turn the task into a social-deduction game where the voting is verifiable by construction, even though the underlying writing quality never was. The paper is accepted to COLM 2026, and both code and checkpoints are public under Apache 2.0.
This sits next to explainx.ai's coverage of GRPO-based post-training and RL alignment generalization — SpyRL is a distinct move in the same space: expand what "verifiable reward" can mean, rather than expand the model or the compute budget.
TL;DR
| Question | Direct answer |
|---|---|
| What is it? | Self-play RL framework generating verifiable rewards for non-verifiable tasks |
| Core mechanism? | "Who Is the Spy?"-style multi-agent voting game |
| Needs a judge/verifier? | No — reward comes from game mechanics, not an external model |
| Domains? | Summarization, creative writing, math reasoning |
| Math result? | +8.97% average across 7 benchmarks (Qwen3-4B) |
| Summarization result? | 34.1 ROUGE-L on GovReport (+5.1 vs. base), 78.2% A/B win rate |
| Writing result? | 76.5%–78.1% A/B win rate across two writing benchmarks |
| Peer review? | Accepted to COLM 2026, arXiv:2607.23802 |
| License? | Apache 2.0, built on ByteDance Seed's verl |
| Hardware? | Single node, 8 GPUs ≥80GB, CUDA 12.x |
The problem: self-play RL stops at the edge of ground truth
Prior self-play frameworks like R-Zero and Absolute Zero need a verifiable solver signal to calibrate task difficulty — a proposer generates problems, a solver attempts them, and correctness gates the loop. That works cleanly for math and code, where "correct" is checkable by execution or a formal grader. It breaks down for tasks like summarization or creative writing, where there is no single correct output to check against.
RLSVR's framing: "Self-supervised learning, but for RLVR. We transform an open-ended task into a multi-agent game whose rules automatically generate fully verifiable rewards." The trick is not inventing a way to judge writing quality objectively — it's sidestepping that problem by making the verifiable part of the loop something else entirely: whether players can correctly identify who among them received degraded information.
How the game generates reward: two stages
Stage 1 — Performing. Players receive asymmetric information and complete a shared task (summarize a document, write a story, solve a math problem). One player — the spy — receives degraded input: a 20–40% contiguous span masked out of the source material. Everyone else (civilians) gets the full input.
Stage 2 — Detection. All players vote to identify the spy. Because the environment assigned the spy role, voting correctness is checkable by construction — no external judge is needed to know whether the group correctly identified the compromised player.
Reward structure
Detection reward is binary and normalized within the detector group, GRPO-style: r_D(i) = 1[vote == spy].
Performing reward is zero-sum between roles:
- Spy:
−β · (m_u − m̄_c)— penalized the more suspicion the group's votes attract toward them - Civilians:
(β / n_c) · (m_u − m̄_c) − λ · (m_j − m̄_c)— rewarded for appearing less suspicious than peers, penalized for standing out
A Role-Advantage Estimation step subtracts per-role exponential moving-average baselines, since spy and civilian reward distributions aren't directly comparable. The two stages alternate through a training_phase flag (interactive, clue, or decision) inside the training loop.
Why this works as a signal at all
The paper's own validation is the strongest argument: over 100 games, "players who attracted more suspicion votes were consistently ranked lower by GPT-4o" — meaning the game's internal voting signal tracks an external quality judgment, without ever consulting that external judge during training. The game measures something real; it just measures it through social deduction rather than direct evaluation.
Benchmark results
Summarization (Qwen3-8B)
| Benchmark | Result |
|---|---|
| GovReport | 34.1 ROUGE-L (+5.1 vs. base), 78.2% A/B win rate |
| Multi-News | 25.8 ROUGE-L, 68.5% A/B win rate |
SpyRL "outperforms R-Zero and Absolute Zero by significant margins" on both.
Creative writing (Qwen3-8B)
| Benchmark | Result |
|---|---|
| WritingPrompts | 76.5% A/B win rate (novelty, emotion, coherence, consistency) |
| WritingBench | 78.1% A/B win rate |
R-Zero reportedly showed degradation on these tasks; Absolute Zero reached roughly 56%; SpyRL's 75–78% range is the clearest separation in the paper.
Math reasoning (Qwen3-4B)
| Benchmark | Result |
|---|---|
| GSM8K | 93.4% (+8.9% vs. base) |
| Math500 | 79.5% (+11.3% vs. base) |
| AIME 2024 | 13.3% (+3.0% vs. base) |
| Average (7 benchmarks) | +8.97% |
Including a verifiable-ground-truth domain like math alongside summarization and writing is a useful control: it shows the game mechanic doesn't just work where verification is otherwise impossible, it holds up even where R-Zero-style approaches already had a fair shot. That's a relevant data point next to explainx.ai's coverage of RL-distilled small models like VibeThinker and the broader RLHF/Constitutional AI oversight landscape.
Released checkpoints and how to run it
Checkpoints are published on Hugging Face under the SpyRL org and load with standard transformers:
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("SpyRL/SpyRL-Qwen3-4B-Math")
| Checkpoint | Result |
|---|---|
| SpyRL-Qwen3-4B-Math | +8.97% avg |
| SpyRL-Qwen3-8B-Math | +6.16% avg |
| SpyRL-Qwen3-4B-Writing | 81.3% A/B win |
| SpyRL-Qwen3-4B-Summarization | 74.6% A/B win |
To train from scratch:
git clone -b SpyRL https://github.com/wangqinsi1/RLSVR.git
cd RLSVR
conda create -n spyrl python=3.10 -y && conda activate spyrl
bash setup.sh
bash spyrl/train_summarization.sh # or train_creative_writing.sh / train_math_reasoning.sh
Requirements: Python ≥3.10, CUDA 12.x, a single node with 8 GPUs ≥80GB. Corpora (GovReport, WritingPrompts, Nemotron-CC-Math) stream automatically from the Hugging Face Hub. Key environment variables:
| Variable | Default | Meaning |
|---|---|---|
SPYRL_MODEL | Qwen/Qwen3-4B-Instruct-2507 | Base model |
SPYRL_NUM_GPUS | 8 | GPUs per node & vLLM tensor-parallel size |
NUM_PLAYERS | 5 (4 for GovReport) | Group size |
MASK_FRACTION | 0.2 / 0.4 | Input masking applied to the spy |
Training uses GRPO with a 0.001 KL penalty, learning rate 1×10⁻⁶, batch size 128 prompts × 8 rollouts (1,024 effective), and 100 iterations per task — parameters worth comparing against other 2026 GRPO post-training runs like Fermisense's 9B catalog.
Related work: Vision-Zero
The same repository hosts Vision-Zero (accepted to ICLR 2026) on a separate vision-zero branch — the vision-language counterpart that applies the same self-play principle to image pairs instead of text. Same authors, same underlying bet that game mechanics can substitute for external verifiers, extended to a different modality.
Limitations and open questions
- Compute floor is real. 8×80GB GPUs is a meaningful barrier to reproduction outside well-resourced labs — this is not a laptop-scale release.
- Game-mechanic reward is a proxy, not ground truth. The GPT-4o correlation check is reassuring but is itself an external judgment used only for validation, not training — worth independent replication before treating suspicion-vote reward as a universal writing-quality proxy.
- Domain scope is still narrow. Summarization, creative writing, and math are the three validated domains; extending to code, dialogue, or agentic tool-use tasks is unproven in the current release.
- Early-stage repo. As with any single-group research release, expect API churn — check the repository's issue tracker before building production training pipelines on top of it.
How this fits the RLVR landscape
RLSVR's actual contribution is conceptual: it reframes "verifiable reward" as a property you can engineer into a task via game design, rather than a property some domains simply lack. That reframing matters for teams trying to apply RL-based post-training to subjective or open-ended product surfaces — support responses, marketing copy, internal documentation — where RLHF-style human preference data is expensive and RLVR-style ground truth doesn't exist. Whether spy-detection-style games generalize to those surfaces, or whether SpyRL's specific gains are tied to the text-comparison structure of summarization and writing, is the open question worth testing before adopting the pattern wholesale.
Related reading
- GRPO post-training: Fermisense's 9B model catalog
- RL alignment and beneficial trait generalization
- Scalable oversight: RLHF, Constitutional AI, weak-to-strong generalization
- VibeThinker 3B: RL distillation at small scale
- What is fine-tuning an LLM? SFT, RLHF, LoRA explained
- Mind Lab Macaron-V1 — LoRA continual learning
- Microsoft Orchard — agentic modeling and RL training substrate
Primary sources
- GitHub — wangqinsi1/RLSVR (SpyRL branch)
- Paper — arXiv:2607.23802
- Checkpoints — Hugging Face SpyRL org
Benchmark numbers, hardware requirements, and release details reflect the wangqinsi1/RLSVR README and arXiv:2607.23802 as of August 5, 2026. Verify current repository state and checkpoint availability on GitHub and Hugging Face before citing specifics in production planning.
