Downloads · 30 days
0
moofeez/qwen3-coder-30b-a3b-debugger-rl
qwen3-coder-30b-a3b-debugger-rl is a text generation model from moofeez. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
RL policy adapters from llm-debugger, a model that works a failing Python test in a live pdb session and edits the fix. Both are rank-16 DoRA RFT deltas over Qwen/Qwen3-Coder-30B-A3B-Instruct, trained with GRPO.
Downloads · 30 days
0
Access
Public
Updated Sep 7, 2026
Repo size
82.7 MB
Likes
0
Public
Click a slice to open those files.
.safetensors71.3 MB · 69%
From the Hugging Face model README
RL policy adapters from
llm-debugger, a model that
works a failing Python test in a live pdb session and edits the fix. Both are
rank-16 DoRA RFT deltas over Qwen/Qwen3-Coder-30B-A3B-Instruct, trained with
GRPO.
| dir | headline | servable |
|---|---|---|
v90/ | val 75.9% pass@1 / 93.1% pass@3 (40 tasks, 8 runs) | no |
v144/ | heldout 62.8% pooled (43 tasks x 3) | only with its frozen SFT layer |
Neither is a complete model, and neither can be merged onto the raw base.
Each is a delta over a frozen SFT adapter. Its adapter_config.json names the
raw base, so merging it directly produces a model that never existed and any
number measured that way is meaningless. The stack is
base -> frozen SFT adapter -> RFT delta;
evaluation/scripts/merge_rl_policy_for_eval.py does it.
v90/ cannot be served at all. Its frozen layer is gone — it existed only on
the cluster the campaign ran on, was never committed, uploaded, or logged as an
artifact. What survives: the training corpus
(llm-debugger-sft-corpus,
312 rows), the recipe (seed 42, DoRA rank 24, 4 epochs, lr 1e-4, effective batch
8 at 16k), and the target to accept a reproduction by (best_val_loss 0.11644 at
156 steps, 432 LoRA tensors). Retraining restores the init lineage, not v90 — a
delta is bound to the weights it trained against.
Cite v90's val figure (75.9 / 93.1), not its test figure. The campaign gated
on the set that is the pristine test split under defect_split_v2.json, fired
nine times, and picked v90 by stop-at-peak:
v0 64.4 | v15 65.6 | v30 63.3 | v45 70.0 | v60 62.2 | v75 72.2 |
v90 76.7 | v105 68.9 | v120 66.7
76.7 is the argmax of nine noisy draws on the set it was then scored against; the drop to 72.9 at 8 runs per arm is that resolving. Validation has zero overlap with test and did not select the checkpoint. For a matched-power SFT-to-RL delta on test, the preceding campaign is clean: 60.8/81.5 -> 69.2/85.5, both at 8 runs.
Solve rate is final_test_passed, not anything the model asserts.
GRPO on a 2xH200 profile: adaptive reference-KL leash, turn-budget curriculum,
behaviour-cloning anchor and replay seed on the SFT stage corpus. Rewards are
outcome-dominated; debugger adoption is deliberately not an objective, because
debugger-first incentives drove wrong-site fixation on 16 of 16 regression
scenarios. Definitions in rl_trainer/environment/rewards/.
Transcripts for every reported number:
llm-debugger-eval-transcripts.