PreciseCoder-27B / README.md
jameszhan33's picture
Add paper link and citation
4040b8a verified
|
Raw History Blame Contribute Delete
2.35 kB
---
license: apache-2.0
base_model: Qwen/Qwen3.6-27B
tags: [debugging, code, reinforcement-learning, gdpo, precisecoder]
---
# PreciseCoder-27B
馃搫 [Paper (arXiv:2610.18755)](https://arxiv.org/abs/2610.18755) 路 馃寪 [Project page](https://precise-coder-rl.github.io/) 路 馃捇 [Code](https://github.com/precise-coder-rl/PreciseCoder)
Qwen3.6-27B post-trained with reinforcement learning for **precise debugging**: given buggy Python
code, produce a minimal, correct fix (PreciseCoder project). Best-validation checkpoint, global step 328 (2 epochs).
**Recipe.** GDPO from the base model (no SFT warm-start): two reward signals, unit-test pass (weight 2.0) and
unit-gated F1 (weight 1.0), each normalized within the rollout group before being combined into the advantage.
F1 is the edit-block precision/recall F1 against the ground-truth diff (PDB evaluator), counted only when the
unit tests pass. Trained on the PDB train split (buggy inputs only) with verl on 1 node of 8脳H200 (n=6 rollouts,
temperature 1.0, lr 1e-6, batch 32, max response 6144 tokens, KL loss 0.005, rollout TP=2, token-level rollout
importance sampling). Minimal-edit prompt template.
**Eval** (PDB benchmark, BigCodeBench + LiveCodeBench debugging tasks):
| eval | result |
|---|---|
| pdb_test (buggy inputs, 4k think + 2k answer) | unit 0.793 路 precision 0.792 路 recall 0.867 路 F1 0.810 路 edit lines 2.6 |
| gt_holdout (1512 clean inputs, 16k think + 4k answer) | no-op 45.8% 路 damage 11.1% 路 unit pass 89.0% |
| PDB-Wild (228 SWE-smith repo-level bugs) | unit 0.522 路 precision 0.551 路 recall 0.629 路 F1 0.566 路 edit lines 9.2 |
`no-op` = share of clean (bug-free) inputs returned unchanged; `damage` = share broken by an edit.
Load with `transformers` / vLLM (>=0.17) as a standard Qwen3.6 model (thinking enabled by default).
Source: verl experiment `qwen36-27b-GDPO_u2f1_f1ur_h200` (Delta, Oct 2026). The previous release
(GRPO, reward (unit + 0.5路F1)/1.5) is at revision `82cf7e4`.
## Citation
```bibtex
@article{precisecoder,
title = {{PreciseCoder}: Faithful and Generalizable Debugging Beyond Unit-Test Rewards},
author = {Zhan, Yunkai and Chai, Miaosen and Wang, Shangshang and Zhong, Jike and Yang, Yuqing and Fu, Deqing and Chang, Serina and Zhu, Wang Bill},
journal = {arXiv preprint arXiv:2610.18755},
year = {2026}
}
```