File size: 3,514 Bytes
df5b3c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
---
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.