--- license: apache-2.0 base_model: Qwen/Qwen3.5-4B language: - en pipeline_tag: text-generation tags: - code - agent - dpo - gguf --- # Wit-Coder-4B An English coding-agent fine-tune of [Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B), focused on completing solvable tasks, breaking repetitive actions, and explaining blockers. This release candidate uses **DPO-2**. ## Results Project measurements of the base model and DPO-2: | Benchmark | Qwen3.5-4B | Wit-Coder-4B | |---|---:|---:| | MMLU, 5-shot | 69.67% | 70.16% | | GSM8K, 8-shot CoT, strict | 84.08% | 82.64% | | HumanEval plus tests, modified bounded protocol | 81.10% (133/164) | 87.20% (143/164) | | MATH-500, first 100 problems | 65/100 | 82/100 | GSM8K decreased. MBPP results are unavailable. **HumanEval scores are not official EvalPlus results:** two tasks were chunked, resetting candidate state; no HumanEval inputs were omitted. Canonical HumanEval/32 also failed validation in this environment. Benchmark scores do not measure the quantized GGUF files. See [evaluation details](EVALUATION.md) for settings and limitations. ### Coding-agent panel 42 tasks × 3 seeds, including 90 solvable and 36 blocked episodes: | Outcome | Base | Wit | |---|---:|---:| | Task success, including successful escalation | 40/126 | 71/126 | | Blocked tasks successfully escalated | 0/36 | 11/36 | | Protected-file integrity failures | 28/126 | 25/126 | This small panel informed later experiments and model selection; it is a development comparison, not an independent final test. False completion remains a problem: 15/36 blocked episodes ended with a non-escalating submit. Use external tests and tool permissions. Only English text-based coding-agent use was evaluated; no broad chat, vision or long-context claim is made. ## Training Approximately 138M SFT tokens, then two sandbox-graded DPO rounds of 877 and 404 turn-level pairs. Round 2 used self-check-guided candidate sampling. GRPO checkpoints were not selected for release because the conservative run showed no clear improvement over DPO-2. A more aggressive run increased looping and reduced escalation on the monitoring set, so it was stopped. ## Usage ```bash vllm serve /path/to/Wit-Coder-4B --max-model-len 32768 --reasoning-parser qwen3 ``` The training harness used one `bash` tool with Qwen-style XML calls and task-specific submit/escalation markers; see [details](EVALUATION.md). Adapt tool handling to your application. ### GGUF | Format | File | Size | |---|---|---:| | BF16 | [Download](https://huggingface.co/Rangle2/Wit-Coder-4B/resolve/main/gguf/Wit-Coder-4B-bf16.gguf) | 8.67 GB | | Q8_0 | [Download](https://huggingface.co/Rangle2/Wit-Coder-4B/resolve/main/gguf/Wit-Coder-4B-Q8_0.gguf) | 4.61 GB | | Q4_K_M | [Download](https://huggingface.co/Rangle2/Wit-Coder-4B/resolve/main/gguf/Wit-Coder-4B-Q4_K_M.gguf) | 2.78 GB | Available formats: BF16, Q8_0 and Q4_K_M. Checksums/settings: `gguf/manifest.json`. Structure and hashes were checked; GGUF inference and quantized quality were not evaluated. No image projector is supplied. ## Support I research alignment, internal representations, and behavioral fine-tuning of small language models. I am preparing for military service; optional [Buy Me a Coffee support](https://buymeacoffee.com/rangle2) helps fund future independent projects when I return. Wit remains free under Apache-2.0. ## License [Apache-2.0](https://huggingface.co/Qwen/Qwen3.5-4B/blob/main/LICENSE), following the base model.