Model reference · open weights
Mellum2.1-Thinking is an open-weight language model from JetBrains. Mellum2.1-12B-A2.5B-Thinking (BF16) weighs 24.3 GB; the smallest configuration that runs it is 2× RTX 4060 Ti 16 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the JetBrains/Mellum2.1-12B-A2.5B-Thinking model card, 2026-10-11
What it is
| Released by | JetBrains |
|---|---|
| Released | 2026-09-20 |
| Parameters | 12.1B |
| VRAM | 24.3 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … RTX 4090 24 GB 4 smaller cards | ||||
| RTX 5090 32 GB | 16 | 8 | all 128K | 31.0 GB |
| L40S 48 GB | 54 | 26 | all 128K | 44.0 GB |
| A100 80 GB | 156 | 76 | all 128K | 78.2 GB |
| H100 80 GB | 101 | 39 | all 128K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 134 | 51 | all 128K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 163 | 63 | all 128K | 107 GB |
| H200 141 GB | 228 | 88 | all 128K | 138 GB |
| B200 180 GB | 304 | 76 | all 128K | 176 GB |
| 2× RTX 4060 Ti 16 GB tensor parallel | 12 | 6 | all 128K | 15.4 GB a card |
| 2× RTX 4090 24 GB tensor parallel | 59 | 29 | all 128K | 23.4 GB a card |
| 2× RTX 3090 24 GB tensor parallel | 59 | 29 | all 128K | 23.4 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 25.8 GB | 26.1 GB |
| 5 | 27.1 GB | 28.9 GB |
| 8 | 28.2 GB | 31.0 GB |
| 16 | 30.9 GB | 36.5 GB |
| 32 | 36.3 GB | 47.5 GB |
| 64 | 47.1 GB | 69.6 GB |
One card, with vLLM's small-card settings.
From the model card
[!Note] Mellum2.1 is a thinking model. Use it for complex agentic tasks, such as working in a repository, running commands, and calling tools, and for hard non-agentic problems in coding, math, and reasoning.
Mellum2.1 is the next version of Mellum2 Thinking. The architecture is unchanged (a 12B mixture-of-experts model with 2.5B active parameters), and almost all of the work for this version went into post-training, primarily reinforcement learning (RL):
As a result, Mellum2.1 handles agentic tasks much better than Mellum2. After millions of sandboxed runs in real environments during training, it explores a codebase, edits files, and checks its own changes.
Mellum2.1 Thinking has the following features:
# Without tool calling
vllm serve JetBrains/Mellum2.1-12B-A2.5B-Thinking \
--max-model-len 131072 \
--reasoning-parser qwen3
# With tool calling
vllm serve JetBrains/Mellum2.1-12B-A2.5B-Thinking \
--max-model-len 131072 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser hermes
GGUF builds for llama.cpp, Ollama, and LM Studio, as well as the multi-token prediction (MTP) head for speculative decoding in vLLM, are coming soon.
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{"role": "user", "content": "Find the bug in this function and explain the fix: def mean(xs): return sum(xs) / len(xs) - 1"},
]
chat_response = client.chat.completions.create(
model="JetBrains/Mellum2.1-12B-A2.5B-Thinking",
messages=messages,
max_tokens=81920,
temperature=0.6,
top_p=0.95,
extra_body={"top_k": 20},
)
print("Chat response:", chat_response)
All values are percentages; higher is better except HarmBench, where lower is better. All models were evaluated by JetBrains with the same pipeline in thinking mode. All values are self-reported by JetBrains.
| Benchmark | Mellum2.1 Thinking | Mellum2 Thinking | Gemma 4 (E4B) | Qwen3.5 (9B) |
|---|---|---|---|---|
| Coding | ||||
| LiveCodeBench v6 | 82.0 | 69.4 | 69.4 | 75.4 |
| HumanEval+ | 91.5 | 90.9 | 89.1 | 89.6 |
| MBPP+ | 79.4 | 75.4 | 70.9 | 69.8 |
| Math | ||||
| AIME 25/26 | 83.3 | 60.1 | 45.0 | 86.7 |
| GSM-Plus | 88.3 | 87.1 | 87.4 | 91.4 |
| Agentic | ||||
| SWE-bench Verified | 47.0 | 2.0 | 23.0 | 50.0 |
| Terminal-Bench 2.1 | 17.4 | 0.6 | 3.4 | 21.7 |
| SWE-bench Pro | 28.0 | 0.0 | 4.0 | 38.0 |
| Tool Use | ||||
| BFCL v4 | 62.3 | 49.6 | 52.5 | 58.5 |
| WorkBench | 44.6 | 45.1 | 46.1 | 39.7 |
| ToolHop | 49.1 | 46.7 | 39.9 | 52.0 |
| Conversational | ||||
| IFEval | 90.6 | 79.5 | 90.8 | 92.4 |
| Knowledge | ||||
| GPQA Diamond | 64.6 | 51.0 | 53.1 | 77.8 |
| MMLU-Redux | 87.8 | 86.0 | 84.9 | 89.5 |
| MixEval-Hard | 46.4 | 41.6 | 41.4 | 50.3 |
| Safety | ||||
| XSTest | 88.8 | 91.2 | 95.2 | 95.6 |
| HarmBench (↓) | 8.5 | 21.5 | 38.1 | 6.6 |
Notes:
Released under the Apache 2.0 license.
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Benchmarks
As published on the model card: the maker's own numbers, not measured by AxForge.
| Task | Dataset | Metric | Score |
|---|---|---|---|
| Text Generation | LiveCodeBench v6 | pass@1 | 82 |
| Text Generation | HumanEval+ | pass@1 | 91.500 |
| Text Generation | MBPP+ | pass@1 | 79.400 |
| Text Generation | AIME 25/26 | exact match | 83.300 |
| Text Generation | GSM-Plus | exact match | 88.300 |
| Text Generation | SWE-bench Verified | resolved rate | 47 |
| Text Generation | Terminal-Bench 2.1 | resolved rate | 17.400 |
| Text Generation | SWE-bench Pro | resolved rate | 28 |
| Text Generation | BFCL v4 | accuracy | 62.300 |
| Text Generation | WorkBench | task completion | 44.600 |
| Text Generation | ToolHop | accuracy | 49.100 |
| Text Generation | IFEval | accuracy | 90.600 |
| Text Generation | GPQA Diamond | accuracy | 64.600 |
| Text Generation | MMLU-Redux | accuracy | 87.800 |
| Text Generation | MixEval-Hard | accuracy | 46.400 |
| Text Generation | XSTest | safe compliance | 88.800 |
| Text Generation | HarmBench (harmful rate, lower is better) | harmful rate | 8.500 |