Views
No views yet
The "RL unlocks weak bases" data point. Qwen3-0.6B base scores exactly 0.0 on every family in our held-out eval — it cannot finish the multi-turn ask-or-guess task at all. After 300 steps of GRPO with the same reward stack we used at 1.7B and 4B, the same 0.6B model goes from 0 → 0.382 max onevent_planning. That's not a great number, but it's the difference between zero capability and some capability.
anurag203/clarify-rl-demogithub.com/anurag203/clarify-rlanuragagarwal203-cisco/clarify-rl (run name: run1-0p6b-no-kl)docs/blog.md| Field | Value |
|---|---|
| Base model | Qwen/Qwen3-0.6B |
| Algorithm | TRL GRPO (Group Relative Policy Optimization) |
| KL anchor (β) | 0.0 |
| Learning rate | 1e-6 |
| Steps | 300 |
| Wall time | ~50 min on a single A100 (HF Jobs a100-large) |
| Reward stack | OutputCorrectnessRubric + EfficiencyRubric + FormatCheckRubric |
| Cost | ~$1.08 of HF Jobs credit |
| Family | 0.6B base μ | Run 1 μ | 0.6B base max | Run 1 max |
|---|---|---|---|---|
| event_planning | 0.000 | 0.032 ↑ | 0.000 | 0.382 ↑↑ |
| meeting_scheduling | 0.000 | 0.000 | 0.000 | 0.000 |
| medical_intake | 0.000 | 0.000 | 0.000 | 0.000 |
| support_triage | 0.000 | 0.000 | 0.000 | 0.000 |
| avg_score (μ) | 0.000 | 0.008 | — | — |
| completion_rate | 0% | 2% | — | — |
event_planning
moved from 0.0 → 0.382. That's GRPO finding a single rollout where 0.6B
managed to clarify the ambiguous request, ask the right question, and
produce a syntactically valid plan — something the base model never
succeeded at across 50 held-out scenarios.docs/blog.md
write-up. The KL-anchor finding is at 1.7B (Run 2 vs
Run 4),
but Run 1 is the size-ablation anchor: the same recipe scales monotonically
in capability with parameter count.anurag203/* repo hosts the rich card / metadata only. The actual
300-step Run 1 weights are checkpointed at
agarwalanu3103/clarify-rl-grpo-qwen3-0-6b
on the training account. A unified-namespace mirror is in flight; in the
meantime download from the upstream repo directly:1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4repo = "agarwalanu3103/clarify-rl-grpo-qwen3-0-6b"
5tok = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
6mdl = AutoModelForCausalLM.from_pretrained(
7 repo, torch_dtype=torch.bfloat16, device_map="auto",
8 trust_remote_code=True,
9)
10# See scripts/eval_agent.py for the full multi-turn agent driver.training/train_grpo.py
with:1BETA=0 LEARNING_RATE=1e-6 NUM_STEPS=300 NUM_GENERATIONS=4 \
2MAX_COMPLETION_LEN=768 BASE_MODEL=Qwen/Qwen3-0.6B \
3python training/train_grpo.pylog_history.json is committed at
outputs/run_artifacts/0.6B/.event_planning.1@misc{agarwal2026clarifyrl,
2 author = {Agarwal, Anurag},
3 title = {ClarifyRL: Teaching small LLMs to ask before they act,
4 with KL-anchored GRPO},
5 year = {2026},
6 howpublished = {\url{https://github.com/anurag203/clarify-rl}},
7 note = {Hackathon submission, Apr 26 2026.}
8}