CherryPit-1.0-2B

Full-precision (bf16 safetensors) weights of CherryPit-1.0-2B, the first release of CherryPit from DRUPEs (Dense Representation & Unified Parameter Encoding Systems), built on MiniCPM5-2B. It is a drop-in upgrade of the base model with a gain in coding, small gains in math and reasoning, and the same size, architecture and speed.

These are the exact weights the CherryPit-1.0-2B-GGUF files were made from, for transformers, vLLM and further fine-tuning. The newer CherryPit-1.1-2B is stronger at math, thinking-mode coding and web apps.

Results vs MiniCPM5-2B

Both models were run on the same harness, items, prompts and seeds (bf16 weights in vLLM). Thinking mode off.

Benchmark Setting MiniCPM5-2B CherryPit-1.0-2B ฮ”
Coding
LiveCodeBench v6 (2025-01..04) pass@1, avg of 8, T=1.0 30.4 32.4 +1.9
โ€” easy / medium / hard 81.7 / 27.2 / 5.0 84.3 / 28.8 / 6.7 +2.6 / +1.6 / +1.7
MBPP+ (EvalPlus) greedy 61.9 65.1 +3.2
HumanEval greedy 89.6 90.9 +1.2
HumanEval+ greedy 85.4 86.0 +0.6
General
MATH-500 greedy 79.4 79.8 +0.4
BBH 0-shot CoT 77.8 78.4 +0.6
MMLU-Pro answer-letter scoring 35.0 34.8 โˆ’0.2
HotpotQA (distractor) F1 55.1 54.7 โˆ’0.4
HellaSwag acc_norm 50.5 49.5 โˆ’1.0

Answer length is unchanged (โ‰ˆ2,100 tokens per LiveCodeBench answer for both models).

Model Details

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

How to Use

For llama.cpp, Ollama or LM Studio use DRUPEs/CherryPit-1.0-2B-GGUF.

from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("DRUPEs/CherryPit-1.0-2B")
model = AutoModelForCausalLM.from_pretrained("DRUPEs/CherryPit-1.0-2B", torch_dtype="bfloat16", device_map="auto")
msgs = [{"role": "user", "content": "Write a Python function that checks whether a string is a palindrome."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=4096, 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.0-2B --max-model-len 32768

Recommended sampling: temperature 1.0, top_p 0.95. 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

  • CherryPit is a 2B model and shares the limits of its base: it can make factual errors and write buggy code, so review its output before relying on it.
  • The largest gains are in coding; improvements in other areas are smaller.
  • Evaluations were run in English with thinking mode off.

Citation

@misc{drupes2026cherrypit,
  title  = {CherryPit-1.0-2B},
  author = {DRUPEs},
  year   = {2026},
  url    = {https://huggingface.co/DRUPEs/CherryPit-1.0-2B}
}
Downloads last month
22
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.0-2B

Finetuned
(87)
this model

Collection including DRUPEs/CherryPit-1.0-2B