CherryPit-1.1-2B

CherryPit-1.1-2B is the second release of CherryPit from DRUPEs (Dense Representation & Unified Parameter Encoding Systems), built on MiniCPM5-2B. It reasons much better inside a fixed thinking budget: with the same 8K thinking tokens it solves far more competition-math and coding problems than CherryPit-1.0, and it can now build React web apps from tests. Same size, architecture and speed as 1.0.

Results vs CherryPit-1.0

Both models were run on the same harness, items, prompts and seeds (bf16 weights in vLLM). "Thinking, 8K" means the model may think for up to 8,192 tokens before it answers; "โ€“" = not measured for that model.

Benchmark Setting CherryPit-1.0 CherryPit-1.1 ฮ”
Math
AIME 2025 thinking, 8K, avg of 4 โ€“ 47.5 โ€“
AIME 2026 thinking, 8K, avg of 4 โ€“ 56.7 โ€“
HMMT Feb 2025 thinking, 8K, avg of 4 โ€“ 29.2 โ€“
HMMT Feb 2026 thinking, 8K, avg of 4 โ€“ 27.3 โ€“
AMC 2023 thinking, 8K, avg of 4 โ€“ 88.1 โ€“
MATH-500 no thinking, greedy 78.2 87.8 +9.6
Coding
LiveCodeBench v6 thinking, 8K 29.1 46.3 +17.2
โ€” hard problems thinking, 8K, 80-problem probe 4.2 24.2 +20.0
LiveCodeBench v6 no thinking, avg of 4 31.7 31.0 โˆ’0.7
HumanEval+ no thinking, greedy 85.4 82.9 โˆ’2.5
MBPP+ no thinking, greedy 64.5 67.2 +2.7
Web development
WebApp1K-React no thinking, 1,000 tasks 1.6 79.9 +78.3
FullStack Bench (web slice) no thinking, 98 items x5 47.2 46.6 โˆ’0.6
Instruction following
IFEval strict, prompt level 85.2 83.2 โˆ’2.0

Pooled over the 163 competition problems: 51.7. It also gets there with fewer tokens: on LiveCodeBench with thinking it uses 6,176 tokens per problem on average vs 7,454 for CherryPit-1.0.

Quantization

The Q4_K_M file was unpacked back to bf16 and re-run on the same harness, so this is what 4-bit costs. Thinking-mode coding is the most sensitive; if you have the memory, Q5_K_M or larger keeps more of it.

Benchmark bf16 Q4_K_M ฮ”
LiveCodeBench v6, thinking 8K 46.3 41.1 โˆ’5.2
LiveCodeBench v6, no thinking 31.0 29.6 โˆ’1.4
HumanEval+ 82.9 84.8 +1.9
MBPP+ 67.2 63.8 โˆ’3.4
MATH-500 87.8 84.8 โˆ’3.0
IFEval 83.2 81.9 โˆ’1.3

What's new in 1.1

  • Budget-aware reasoning: reinforcement learning under a fixed thinking budget, so the model reaches an answer inside 8K tokens instead of running out of room.
  • Ladder training on hard problems: the model starts from hints taken from its own long correct solutions, and the hints are removed step by step until it solves the problem on its own (math and code).
  • Knowing when to stop: once it has found the answer it commits to it instead of thinking on.
  • Web apps: React components written to pass a given set of tests (from the 1.1 WebDev preview).

Model Details

  • Developed by: DRUPEs
  • Model type: Causal language model
  • Parameters: ~2B
  • Base model: MiniCPM5-2B
  • Previous version: CherryPit-1.0-2B-GGUF
  • Architecture: Standard Llama
  • Context length: 128K tokens (131,072)
  • Tool calling: Supported (via the built-in chat template)
  • Language(s): English
  • License: Apache 2.0
  • Version: 1.1

How to Use

Full-precision (bf16) weights for transformers, vLLM and further fine-tuning. For llama.cpp, Ollama or LM Studio use DRUPEs/CherryPit-1.1-2B-GGUF.

from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("DRUPEs/CherryPit-1.1-2B")
model = AutoModelForCausalLM.from_pretrained("DRUPEs/CherryPit-1.1-2B", torch_dtype="bfloat16", device_map="auto")
msgs = [{"role": "user", "content": "How many primes are there below 100?"}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=8192, do_sample=True, temperature=1.0, top_p=0.95)
print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True))
vllm serve DRUPEs/CherryPit-1.1-2B --max-model-len 32768

Recommended sampling: temperature 1.0, top_p 0.95. The template starts in thinking mode; pass enable_thinking=False to apply_chat_template (vLLM: chat_template_kwargs) for short, direct answers. With no system prompt the model introduces itself as CherryPit.

Limitations

  • It is a 2B model: it can be confidently wrong, so check answers that matter.
  • Instruction following (IFEval) and HumanEval+ are slightly below 1.0, see the table.
  • Tested in English only.
Downloads last month
488
Safetensors
Model size
3B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for DRUPEs/CherryPit-1.1-2B

Finetuned
(82)
this model
Quantizations
1 model