text-generationtransformersapache-2.0

TokenRhythm/NeoHorse-1-4B

huggingface.co/TokenRhythm/NeoHorse-1-4B

1,702Likes
7,979Downloads
2026-09-10Updated
transformerssafetensorsqwen3_5_texttext-generationagentictool-usecodingreasoninginstruction-followingconversationalarxiv:2609.08183base_model:Qwen/Qwen3.5-4Bbase_model:finetune:Qwen/Qwen3.5-4Blicense:apache-2.0endpoints_compatibleregion:us

Model card

NeoHorse-1-4B

Towards Recursive Self-Improvement via Agentic Post-Training with Routing Harness.

Technical Report

NeoHorse-1-4B is a 4B causal language model and an initial prototype on the path toward recursive self-improvement (RSI). It is post-trained from Qwen3.5-4B for text-based agent harnesses, tool use, coding, and instruction following.

Derived from Qwen/Qwen3.5-4B and fine-tuned by TokenRhythm. This release contains language-model weights only and is repackaged for text-only inference. Vision weights are not included. Repackaging changes configuration and tensor key names, without changing the fine-tuned tensor values.

Highlights

Model Details

Property · Value ·

Model family · NeoHorse Agent-Native Causal Language Model ·

Parameters · Approximately 4B ·

Base model · Qwen3.5-4B ·

Post-training · Routing-guided agentic post-training ·

Interface · Text input and text output ·

Context length · 262,144 natively and extensible up to 1,010,000 tokens. ·

Weight format / precision · Safetensors / BF16 ·

Evaluation

The 4B track compares NeoHorse-1-4B with five representative open-weight models. Results are grouped by capability in the table below. Higher is better; Δ is NeoHorse-1-4B minus Qwen3.5-4B. Bold marks the best available result; underlining marks the second-best.

Benchmark · Qwen3.5-4B · Gemma-4-E4B-it · Nanbeige-4.2-3B · Agents-A1-4B · Spark-X2.5-4B · NeoHorse-1-4B · Δ vs Qwen3.5-4B ·

🤖 Agentic ·

QwenClawBench · 38.47 · 22.98 · 40.66 · 43.16 · 43.52 · 44.68 · +6.21 ·

WorkBuddy Bench · 24.62 · 11.65 · 21.03 · 33.37 · 26.47 · 34.41 · +9.79 ·

PinchBench · 71.19 · 47.60 · 66.78 · 75.07 · 62.37 · 77.33 · +6.14 ·

VitaBench · 21.50 · 5.00 · 31.50 · 39.25 · 37.00 · 32.00 · +10.50 ·

BFCL v4 · 61.02 · 47.18 · 67.28 · 46.60 · 63.71 · 61.79 · +0.77 ·

tau2-Bench · 84.29 · 43.60 · 85.08 · 81.00 · 77.72 · 88.46 · +4.17 ·

💻 Coding ·

HumanEval · 87.20 · 84.76 · 98.78 · 92.68 · 92.07 · 96.95 · +9.75 ·

LiveCodeBench v6 · 53.71 · 52.00 · 72.50* · 56.57 · 54.86 · 59.43 · +5.72 ·

📚 Instruction Following ·

IFBench · 60.33 · 40.00 · 55.00 · 63.33 · 73.33 · 65.33 · +5.00 ·

IFEval · 87.06 · 74.68 · 84.47 · 83.55 · 91.13 · 88.35 · +1.29 ·

📊 Overall ·

Ten-benchmark average · 58.94 · 42.95 · 62.31 · 61.46 · 62.22 · 64.87 · +5.93 ·

* Nanbeige-4.2-3B LiveCodeBench v6 result is reported in the corresponding model's official blog post or technical report.

Deployment

The examples below are for self-hosted deployment from a downloaded local checkpoint.

Local checkpoint path

The examples below assume the checkpoint has already been downloaded to local disk. Set MODEL_PATH to the directory containing config.json, tokenizer files, and model weights.

``bash MODEL_PATH="/path/to/NeoHorse-1-4B" ``

The OpenAI-compatible requests below use the server's --served-model-name (for example, neohorse-1-4b), not the filesystem path.

SGLang

The technical report uses SGLang v0.5.17.

``bash pip install "sglang==0.5.17" MODEL_PATH="/path/to/NeoHorse-1-4B" python3 -m sglang.launch_server \ --model-path "$MODEL_PATH" \ --served-model-name neohorse-1-4b \ --host 0.0.0.0 \ --port 30000 \ --context-length 262144 \ --reasoning-parser qwen3 \ --tool-call-parser qwen3_coder ``

Send an OpenAI-compatible request after the server starts:

``bash curl http://localhost:30000/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{"model":"neohorse-1-4b","messages":[{"role":"user","content":"Write a Python function that returns the first n Fibonacci numbers."}],"max_tokens":512}' ``

vLLM

``bash pip install -U vllm MODEL_PATH="/path/to/NeoHorse-1-4B" vllm serve "$MODEL_PATH" \ --served-model-name neohorse-1-4b \ --host 0.0.0.0 \ --port 8000 \ --max-model-len 262144 \ --reasoning-parser qwen3 \ --enable-auto-tool-choice \ --tool-call-parser qwen3_coder ``

The server exposes an OpenAI-compatible /v1/chat/completions endpoint. Send a request after the server starts:

``bash curl http://localhost:8000/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{"model":"neohorse-1-4b","messages":[{"role":"user","content":"Write a Python function that returns the first n Fibonacci numbers."}],"max_tokens":512}' ``

The examples use the configured 262,144-token context limit. Actual capacity depends on GPU memory and serving settings; reduce the context limit if needed.

License

NeoHorse-1-4B is released under the Apache License 2.0.

The upstream model is Qwen/Qwen3.5-4B. Its original copyright notice, Copyright 2026 Alibaba Cloud, is retained in the license file. TokenRhythm has modified the model through fine-tuning and repackaging for text-only inference. Modification notices are included in this model card and the released configuration, weight index, and Safetensors metadata.

Citation

`` @misc{neohorse2026, title = {NeoHorse-1: Towards Recursive Self-Improvement via Agentic Post-Training with Routing Harness}, author = {NeoHorse Team}, year = {2026}, howpublished = {arXiv preprint}, eprint = {2609.08183}, archivePrefix = {arXiv}, primaryClass = {cs.CL}, url = {https://arxiv.org/abs/2609.08183} } ``

For questions or issue reports, use the NeoHorse project repository.

Mirrored from the Hugging Face Hub and served from the Conceptio Open Knowledge Archive. Read the original card at https://huggingface.co/TokenRhythm/NeoHorse-1-4B.