Model reference · open weights
NuminaMath-TIR is an open-weight language model from AI-MO. NuminaMath-7B-TIR (BF16) weighs 13.8 GB; the smallest configuration that runs it is 2× RTX 3060 12 GB.
Summary of the AI-MO/NuminaMath-7B-TIR model card, 2026-10-01
What it is
| Released by | AI-MO |
|---|---|
| Released | 2024-07-04 |
| Parameters | 6.9B |
| VRAM | 13.8 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory |
|---|---|---|---|
| 4K each | |||
| RTX 3060 12 GB | — | — | 11.6 GB |
| RTX 4060 Ti 16 GB | — | 1K | 15.4 GB |
| RTX 3090 24 GB | 4 | all 4K | 23.4 GB |
| RTX 4090 24 GB | 4 | all 4K | 23.4 GB |
| RTX 5090 32 GB | 8 | all 4K | 31.0 GB |
| L40S 48 GB | 14 | all 4K | 44.0 GB |
| A100 80 GB | 31 | all 4K | 78.2 GB |
| H100 80 GB | 29 | all 4K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 37 | all 4K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 44 | all 4K | 107 GB |
| H200 141 GB | 59 | all 4K | 138 GB |
| B200 180 GB | 78 | all 4K | 176 GB |
| 2× RTX 3060 12 GB tensor parallel | 3 | all 4K | 11.6 GB a card |
| 2× RTX 4060 Ti 16 GB tensor parallel | 7 | all 4K | 15.4 GB a card |
| 2× RTX 4090 24 GB tensor parallel | 15 | all 4K | 23.4 GB a card |
| 2× RTX 3090 24 GB tensor parallel | 15 | all 4K | 23.4 GB a card |
| Requests at once | 4K tokens each |
|---|---|
| 1 | 16.5 GB |
| 5 | 24.6 GB |
| 8 | 30.6 GB |
| 16 | 46.7 GB |
| 32 | 78.9 GB |
| 64 | 143 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| NuminaMath-7B-TIR (above) ↗ | 6.9B | BF16 | 13.8 GB | 2× RTX 3060 12 GB |
| NuminaMath-72B-TIR ↗ | 72.7B | BF16 | 145 GB | 4× L40S 48 GB |
| NuminaMath-7B-TIR-GPTQ ↗ | — | GPTQ | 7.9 GB | RTX 3060 12 GB |
From the model card
NuminaMath is a series of language models that are trained to solve math problems using tool-integrated reasoning (TIR). NuminaMath 7B TIR won the first progress prize of the AI Math Olympiad (AIMO), with a score of 29/50 on the public and private tests sets.
This model is a fine-tuned version of deepseek-ai/deepseek-math-7b-base with two stages of supervised fine-tuning:
| NuminaMath-7B-CoT | NuminaMath-7B-TIR | Qwen2-7B-Instruct | Llama3-8B-Instruct | DeepSeekMath-7B-Instruct | DeepSeekMath-7B-RL | DART-Math-7B-CoT | ||
|---|---|---|---|---|---|---|---|---|
| GSM8k | 0-shot | 76.3% | 84.6% | 82.3% | 79.6% | 82.8% | 88.2% | 86.6% |
| Grade school math | ||||||||
| MATH | 0-shot | 55.8% | 68.1% | 49.6% | 30.0% | 46.8% | 51.7% | 53.6% |
| Math problem-solving | ||||||||
| AMC 2023 | 0-shot | 11/40 | 20/40 | 10/40 | 2/40 | 7/40 | 9/40 | 11/40 |
| Competition-level math | maj@64 | 18/40 | 31/40 | 13/40 | 9/40 | 13/40 | 14/40 | 16/40 |
| AIME 2024 | 0-shot | 0/30 | 5/30 | 1/30 | 0/30 | 1/30 | 1/30 | 1/30 |
| Competition-level math | maj@64 | 1/30 | 10/30 | 4/30 | 2/30 | 1/30 | 1/30 | 1/30 |
Table: Comparison of various 7B and 8B parameter language models on different math benchmarks. All scores except those for NuminaMath-7B-TIR are reported without tool-integrated reasoning.
Here's how you can run the model using the pipeline() function from 🤗 Transformers:
import re
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="AI-MO/NuminaMath-7B-TIR", torch_dtype=torch.bfloat16, device_map="auto")
messages = [
{"role": "user", "content": "For how many values of the constant $k$ will the polynomial $x^{2}+kx+36$ have two distinct integer roots?"},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
gen_config = {
"max_new_tokens": 1024,
"do_sample": False,
"stop_strings": ["```output"], # Generate until Python code block is complete
"tokenizer": pipe.tokenizer,
}
outputs = pipe(prompt, **gen_config)
text = outputs[0]["generated_text"]
print(text)
# WARNING: This code will execute the python code in the string. We show this for eductional purposes only.
# Please refer to our full pipeline for a safer way to execute code.
python_code = re.findall(r"```python(.*?)```", text, re.DOTALL)[0]
exec(python_code)
The above executes a single step of Python code - for more complex problems, you will want to run the logic for several steps to obtain the final solution.
NuminaMath 7B TIR was created to solve problems in the narrow domain of competition-level mathematics. As a result, the model should not be used for general chat applications. With greedy decoding, we find the model is capable of solving problems at the level of AMC 12, but often struggles generate a valid solution on harder problems at the AIME and Math Olympiad level. The model also struggles to solve geometry problems, likely due to it's limited capacity and lack of other modalities like vision.
The following hyperparameters were used during training:
If you find NuminaMath 7B TIR is useful in your work, please cite it with:
@misc{numina_math_7b,
author = {Edward Beeching and Shengyi Costa Huang and Albert Jiang and Jia Li and Benjamin Lipkin and Zihan Qina and Kashif Rasul and Ziju Shen and Roman Soletskyi and Lewis Tunstall},
title = {NuminaMath 7B TIR},
year = {2024},
publisher = {Numina & Hugging Face},
journal = {Hugging Face repository},
howpublished = {\url{https://huggingface.co/AI-MO/NuminaMath-7B-TIR}}
}
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.