Overview
NeoHorse-1-4B is the smaller of the two models TokenRhythm published on 7 September 2026. Like its 9B sibling it is a post-trained model: the base is Qwen3.5-4B-Base, and the training data comes from TokenRhythm's own agent runs rather than from a fresh pretraining corpus.
The recipe is described in "NeoHorse-1: Towards Recursive Self-Improvement via Agentic Post-Training with Routing Harness" (arXiv 2609.08183): agent work is routed across a heterogeneous pool of models, the interaction records are captured, and those records become supervised training examples. At 4B the effect is the larger of the pair — TokenRhythm's ten-benchmark macro average rises from 58.94 for the base to 64.87, a gain of 5.93 points, against 3.44 points at 9B.
In TokenRhythm's published table the 4B model leads its column group on the overall average (64.87, ahead of Nanbeige-4.2-3B on 62.31 and Spark-X2.5-4B on 62.22) and on QwenClawBench, WorkBuddy Bench, PinchBench and tau2-Bench. It does not sweep: Agents-A1-4B is ahead on VitaBench (39.25 to 32.00), Nanbeige-4.2-3B on BFCL v4, HumanEval and LiveCodeBench v6, and Spark-X2.5-4B on IFBench and IFEval.
Context is the same 262,144 tokens as the 9B, documented as extensible to 1,010,000, and serving is the standard Qwen 3.5 path through SGLang or vLLM behind an OpenAI-compatible endpoint. At this size it is the tier meant for the many cheap steps of an agent run, on hardware where a 9B would not fit.
| Released | 2026-09-07 |
|---|---|
| License | Apache-2.0 |
| Weights | Open weights |
| Parameters | ≈4B |
| Context | 262,144 tokens (extensible to 1,010,000) |
| Architecture | Causal transformer post-trained from Qwen3.5-4B-Base, BF16 safetensors |
| Modalities | Text |
| Status | Generally available — Apache-2.0 weights on Hugging Face and ModelScope, with GGUF and MLX quantisations |
Benchmarks
TokenRhythm's published 4B comparison, as printed on the NeoHorse-1-4B model card
| Benchmark | NeoHorse-1-4B | Qwen3.5-4B | Agents-A1-4B | Spark-X2.5-4B | Nanbeige-4.2-3B | Gemma-4-E4B-it |
|---|---|---|---|---|---|---|
| QwenClawBench | 44.68 | 38.47 | 43.16 | 43.52 | 40.66 | 22.98 |
| WorkBuddy Bench | 34.41 | 24.62 | 33.37 | 26.47 | 21.03 | 11.65 |
| PinchBench | 77.33 | 71.19 | 75.07 | 62.37 | 66.78 | 47.6 |
| VitaBench | 32 | 21.5 | 39.25 | 37 | 31.5 | 5 |
| BFCL v4 | 61.79 | 61.02 | 46.6 | 63.71 | 67.28 | 47.18 |
| tau2-Bench | 88.46 | 84.29 | 81 | 77.72 | 85.08 | 43.6 |
| HumanEval | 96.95 | 87.2 | 92.68 | 92.07 | 98.78 | 84.76 |
| LiveCodeBench v6 | 59.43 | 53.71 | 56.57 | 54.86 | 72.5 | 52 |
| IFBench | 65.33 | 60.33 | 63.33 | 73.33 | 55 | 40 |
| IFEval | 88.35 | 87.06 | 83.55 | 91.13 | 84.47 | 74.68 |
| Ten-benchmark average | 64.87 | 58.94 | 61.46 | 62.22 | 62.31 | 42.95 |
This model's scores
- tau2-Bench88.46%
- IFEval88.35%
- HumanEval96.95%
- PinchBench77.33%
- Ten-benchmark average64.87%
- BFCL v461.79%
- IFBench65.33%
- LiveCodeBench v659.43%
- QwenClawBench44.68%
- WorkBuddy Bench34.41%
- VitaBench32%
Scores on a 0–100 scale (25-point gridlines); higher is better. Each benchmark links to its published source.
Strengths
- Biggest jump over its base in the pair: 58.94 to 64.87 on TokenRhythm's ten-benchmark average (+5.93)
- Best in its published comparison group on agent-harness benchmarks — 44.68 QwenClawBench, 77.33 PinchBench, 88.46 tau2-Bench
- Same 262,144-token native context as the 9B model, documented as extensible to 1,010,000 tokens
- 4B parameters in BF16, small enough for a single consumer GPU, with GGUF and MLX builds for local use
- Apache-2.0, on Hugging Face and ModelScope, served through the ordinary SGLang or vLLM Qwen 3.5 path
Best for
- Worker or sub-agent roles inside a larger system, where cost per step matters more than peak ability
- Local agent prototypes on one GPU or an Apple-silicon laptop via the GGUF and MLX builds
- Tool-calling services that need a small model with solid BFCL v4 and tau2-Bench behaviour
- A cheap baseline for comparing agentic post-training against a stock Qwen3.5-4B on your own tasks
How to access
| Provider | Model ID |
|---|---|
| Self-hosted (SGLang) ↗ | neohorse-1-4B |
| Self-hosted (vLLM) ↗ | neohorse-1-4B |
NeoHorse — every version
The full lineage of the NeoHorse line, newest first. Every version has its own page — click any to compare specs, benchmarks and pricing.
| Version | Released | Context | License |
|---|---|---|---|
| NeoHorse-1-9Bcurrent | 2026-09-07 | 262K | Apache-2.0 |
| NeoHorse-1-4B | 2026-09-07 | 262K | Apache-2.0 |
FAQ
What base model does NeoHorse-1-4B start from?
Qwen3.5-4B-Base, per the model card. TokenRhythm post-trains it on interaction records harvested from its routing harness; the architecture, tokenizer and 262,144-token context come from the Qwen 3.5 base.
Should I use the 4B or the 9B?
The 9B is stronger almost everywhere — 69.04 against 64.87 on the ten-benchmark average, 82.25 against 77.33 on PinchBench, 90.82 against 88.46 on tau2-Bench. The 4B is the one to pick when the model has to fit a small GPU or handle high-volume, low-difficulty agent steps; it also shows the bigger gain over its own base.
How do I serve NeoHorse-1-4B?
The repository documents SGLang (`python3 -m sglang.launch_server --model-path "$MODEL_PATH" --served-model-name neohorse-1-4B --context-length 262144 --reasoning-parser qwen3 --tool-call-parser qwen3_coder`) and vLLM (`vllm serve "$MODEL_PATH" --served-model-name neohorse-1-4B --max-model-len 262144`), both exposing an OpenAI-compatible /v1/chat/completions endpoint.
Where does NeoHorse-1-4B lose to its published peers?
On TokenRhythm's own table it is behind Agents-A1-4B on VitaBench (39.25 to 32.00), behind Nanbeige-4.2-3B on BFCL v4, HumanEval and LiveCodeBench v6, and behind Spark-X2.5-4B on both instruction-following benchmarks. It leads on the overall average and on the agent-harness rows.