bonsai: depth16/experts0
Pruned and distilled from Qwen3-30B-A3B-Base for TypeScript code completion. Part of the bonsai project, which applies the Minitron structured-pruning and knowledge-distillation recipe (Muralidharan et al. 2024, Sreenivas et al. 2024) to a Mixture-of-Experts model, a pruning axis neither paper covers.
What was pruned
- Depth: 16 of 48 layers removed (32 kept)
- Experts: 0 of 128 routed experts removed per layer (128 kept)
- Result: ~20.56B parameters (67.4% of baseline's ~30.5B)
Training
500-step fixed-loss short schedule (75-step warmup, peak LR 1e-4), distilled against the uncorrected teacher. Best-validation checkpoint, step 49.
Results
HumanEval-TS (TypeScript MultiPL-E), full 159-problem suite, temperature 0.2, top-p 0.95:
| pass@1 | |
|---|---|
| Qwen3-30B-A3B-Base (unpruned) | 0.717 (114/159) |
| This model | 0.283 (45/159) |
39.5% of baseline accuracy at 67.4% of baseline's parameters.
Real serving throughput, measured with vLLM and SGLang, 159 HumanEval-TS prompts, 512 fixed output tokens/request, concurrency 16, 1x B300:
| vLLM (tok/s) | SGLang (tok/s) | |
|---|---|---|
| Qwen3-30B-A3B-Base (unpruned) | 2545.6 | 2690.0 |
| This model | 3660.5 | 3935.5 |
Notes
Pure depth-only cut: scores well below similarly-sized or smaller experts-only candidates, but serves 18-23% faster (measured throughput, vLLM and SGLang) than depth0/experts64 despite being 28% larger. Not recommended for accuracy-sensitive deployments; relevant only when per-token serving speed matters more than accuracy.
Project
Other checkpoints from this sweep: bonsai collection. Code and full writeup: github.com/SartajBhuvaji/bonsai (private repo).