Underdog Poodle 4B

Underdog Poodle 4B vs Qwen3.5-4B, same harness and settings: ahead on all seven benchmarks we track

Underdog Poodle 4B is Qwen3.5-4B with post training for the agent work Underdog does: calling tools, deciding when not to call one, following instructions, and talking a user through a task. It runs with thinking on. The full write-up is at underdog.ai/poodle.

Against Qwen3.5-4B measured in the same harness with the same settings, it scores higher on every benchmark we track: BFCL-V4 (65.3 vs 56.8), BFCL-120 (80.6 vs 77.5), IFEval (85.4 vs 60.6), IFBench (38.7 vs 33.3), parallel calls (77 vs 69), WebWalkerQA (31.1 vs 30.4) and τ³-bench (60.7 vs 57.9 averaged over four domains).

Evaluation

All numbers below come from one harness, run on Qwen3.5-4B and on this model with identical settings: thinking on, temperature 0.6, top_p 0.95, top_k 20, no presence penalty, and at most 32,768 output tokens. An answer that runs past the budget counts as wrong. We report these settings instead of Qwen's card settings (temperature 1.0 with a presence penalty of 1.5), so the numbers here are not comparable with Qwen's published figures.

Benchmark Qwen3.5-4B Underdog Poodle 4B
BFCL-V4, official harness 56.8 65.3
BFCL-120 (frozen 120-case subset of BFCL, 3 seeds) 77.5 80.6
IFEval (prompt-level, loose) 60.6 85.4
IFBench (prompt-level, loose) 33.3 38.7
Parallel calls (100 cases) 69 77
WebWalkerQA (150 questions, LLM judge) 30.4 31.1
τ³-bench average (4 domains) 57.9 60.7

BFCL-V4 by category:

Category Qwen3.5-4B Underdog Poodle 4B
Non-live AST 85.6 86.1
Live 81.0 79.1
Multi-turn 77.8 82.3
Web search 14.0 30.5
Memory 29.3 48.6
Relevance detection 87.5 81.3
Irrelevance detection 81.4 82.6

τ³-bench runs 2 trials per task with a 131,072-token context. The user simulator and the assertion judge are GPT-5.4 mini, the τ³ package defaults. An episode that fails to produce an official reward counts as a failure for both models.

BFCL-V4 uses the official prompts, checkers and score sheet. The one change is the web-search backend: searches go through OpenRouter's web plugin instead of SerpAPI, and every result is cached so both models saw the same pages.

The model also finishes far more of its answers inside the token budget. On IFEval, 98% of its answers finish against 63% for Qwen3.5-4B; on IFBench, 79% against 43%.

Use

Tested with vLLM 0.32.0 (Python 3.12, NVIDIA H100). The model uses Qwen3.5's chat template and tool-call format:

pip install vllm==0.32.0
vllm serve ConwayResearch/Underdog-Poodle-4B \
  --tool-call-parser qwen3_coder --reasoning-parser qwen3 --enable-auto-tool-choice

Keep thinking on (the default) and use temperature 0.6, top_p 0.95, top_k 20:

curl -s http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
  "model": "ConwayResearch/Underdog-Poodle-4B",
  "messages": [{"role": "user", "content": "Where is my order 48213?"}],
  "tools": [{"type": "function", "function": {
    "name": "get_order_status",
    "description": "Look up the shipping status of an order.",
    "parameters": {"type": "object", "properties": {"order_id": {"type": "string"}}, "required": ["order_id"]}
  }}],
  "temperature": 0.6, "top_p": 0.95, "top_k": 20
}'

License

Apache-2.0, inherited from Qwen3.5-4B. Post training by ConwayResearch; see NOTICE.

Downloads last month
29
Safetensors
Model size
5B params
Tensor type
F32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ConwayResearch/Underdog-Poodle-4B

Finetuned
Qwen/Qwen3.5-4B
Finetuned
(1106)
this model
Quantizations
2 models