CoolFace
Modelpublic

Writer/palmyra-mini-thinking-b

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
27likes257downloads
Model Card

<div align="center"> <h1>Palmyra-mini-thinking-b</h1>

</div>

<p align="center"> <img src="https://huggingface.co/Writer/palmyra-mini-thinking-b/resolve/main/logo-mini-b%20benchmark-performance.png?download=true" width="800"/> </p>

Model Description

  • —Language(s) (NLP): English
  • —License: Apache-2.0
  • —Finetuned from model: nvidia/OpenReasoning-Nemotron-1.5B
  • —Context window: 131,072 tokens
  • —Parameters: 1.7 billion

Introduction

Palmyra-mini-thinking-b represents a significant step forward in generative AI, demonstrating exceptional capabilities in complex reasoning and problem-solving domains. This model excels in mathematical and programming challenges, showcasing a robust understanding of abstract concepts and logical structures. Its performance is not just a measure of its power but a testament to its specialized training, which has honed its ability to tackle tasks that demand deep, multi-step thinking.

Mathematical Prowess

The model's mathematical abilities are particularly noteworthy. It achieves an impressive score of 0.925 on the AMC23 benchmark, indicating a strong grasp of advanced high school mathematics. This is further complemented by its performance on MATH500, where it scores 0.882, proving its proficiency across a wide range of mathematical problems. The model also shows its strength in competitive mathematics, scoring 0.6 on AIME24(pass@1)(avg-of-1) and 0.5733 on Olympiadbench (extractive_match). These scores highlight the model's capacity for sophisticated mathematical reasoning, making it a powerful tool for both educational and research applications.

Excellence in Competitive Programming

Beyond mathematics, Palmyra-mini-thinking-b demonstrates strong performance in the competitive programming arena. Its score of 0.6343 on the Codeforces (pass_rate) benchmark underscores its ability to understand complex algorithmic problems and generate correct, efficient code. This capability suggests the model is well-suited for tasks involving code generation, debugging, and algorithmic design, making it a valuable asset for software developers and computer science researchers.

Benchmark Scores (sampling params: temperature:0.6, top_p:0.95)

Pass@1(avg-of-64)

BenchmarkPass@1 (avg-of-64)Majority@64
AIME2459.43%71.67%
AIME2549.69%60.00%
GPQA42.01%47.22%
HMMT2527.86%30.00%
HLE5.22%N/A
MMLU-PRO55.49%60.60%
MATH50093.80%95.40%
LCB34.51%N/A

LCB here is version v624082505

Pass@1(avg-of-1)

BenchmarkScore (%)
GSM8K (strict-match)42.68%
Minerva Math (exact match)7.08%
MMLU-PRO (exact match)29.26%
MATH (Hendrycks)0.16%
IFEval (instlevelloose_acc)32.97%
MathQA (acc)30.45%
HumanEval (pass@1)7.32%
BBH (get-answer)(exact match)28.80%
MBPP16.80%
GPQA (diamond, pass@1: 8 samples)39.58%
AIME24 (pass@1)(avg-of-1)60.00%
AIME25 (pass@1)(avg-of-1)50.00%
Livecodebench-codegen (livecodebench/codegenerationlite v4_v5)28.73%
AMC2392.50%
MATH50088.20%
Minerva29.41%
Olympiadbench (extractive_match)57.33%
Codecontests (pass_rate)20.18%
Codeforces (pass_rate)63.43%
Taco (pass_rate)34.56%
APPS (all_levels)5.84%
HMMT (Feb 2025) (extractive_match)23.33%
Average35.94%

Use with transformers

You can run conversational inference using the Transformers Auto classes with the generate() function. Here's an example:

py
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "Writer/palmyra-mini-thinking-b"

tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    device_map="auto",
    attn_implementation="flash_attention_2",
)

messages = [
      {
        "role": "user",
        "content": "You have a 3-liter jug and a 5-liter jug. How can you measure exactly 4 liters of water?"
      }
    ],

input_ids = tokenizer.apply_chat_template(
    messages, tokenize=True, add_generation_prompt=True, return_tensors="pt"
)

gen_conf = {
    "max_new_tokens": 256,
    "eos_token_id": tokenizer.eos_token_id,
    "temperature": 0.3,
    "top_p": 0.9,
}

with torch.inference_mode():
    output_id = model.generate(input_ids, **gen_conf)

output_text = tokenizer.decode(output_id[0][input_ids.shape[1] :])

print(output_text)

Running with vLLM

py
vllm serve Writer/palmyra-mini-thinking-b
py
curl -X POST http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Writer/palmyra-mini-thinking-b",
    "messages": [
      {
        "role": "user",
        "content": "You have a 3-liter jug and a 5-liter jug. How can you measure exactly 4 liters of water?"
      }
    ],
    "max_tokens": 8000,
    "temperature": 0.2
  }'

Ethical Considerations

As with any language model, there is a potential for generating biased or inaccurate information. Users should be aware of these limitations and use the model responsibly.

Footnotes

  • —Base model: This model builds on NVIDIA's OpenReasoning-Nemotron-1.5B (https://huggingface.co/nvidia/OpenReasoning-Nemotron-1.5B).
  • —Evaluation methodology:
  • —Pass@1 (avg-of-1): computed using lm_eval and lighteval.
  • —Pass@1 (avg-of-64) and Majority@64: computed using nemoskills.

Citation and Related Information

To cite this model:

@misc{Palmyra-mini-thinking-b,
  author = {Writer Engineering team},
  title = {{Palmyra-mini: A powerful LLM designed for math and coding}},
  howpublished = {\url{https://dev.writer.com}},
  year = 2025,
  month = Sep 
}

Contact Hello@writer.com