yuxinlu1 commited on
Commit
b2d3cd1
ยท
verified ยท
1 Parent(s): fac8db3

Add model card

Browse files
Files changed (1) hide show
  1. README.md +158 -1
README.md CHANGED
@@ -1,3 +1,160 @@
1
  ---
2
- license: mit
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: apache-2.0
3
+ base_model: JetBrains/Mellum2-12B-A2.5B-Thinking
4
+ library_name: gguf
5
+ pipeline_tag: text-generation
6
+ tags: [mellum, mellum2, code, coding, reasoning, thinking, moe, gguf, llama.cpp, local-llm]
7
  ---
8
+
9
+ # โš™๏ธ Mellum2-12B-A2.5B-Reasoning-Distill (GGUF) โš™๏ธ
10
+ ### ๐Ÿง‘โ€๐Ÿ’ป A fast little coding brain โ€” local AI for *everyone*
11
+
12
+ > **12B total params, only 2.5B active per token.** This is a **Mixture-of-Experts** model, so it *runs
13
+ > like a ~2.5B model* but *thinks like a 12B* one. ๐Ÿš€
14
+ > Built on **JetBrains' Mellum 2** (a from-scratch software-engineering model) and tuned on **Claude Opus
15
+ > 4.6 / 4.7 / 4.8** reasoning traces โ€” it reasons step-by-step in `<think>` blocks, then answers. ๐Ÿง ๐Ÿ’ป
16
+ > All local, all yours, no API, no cloud. And it's **seriously fast.**
17
+
18
+ ---
19
+
20
+ ## โšก Blazing fast โ€” *measured*, not marketing ๐ŸŽ๏ธ๐Ÿ’จ
21
+ **~440 tokens/sec on a single RTX 5090** at Q4_K_M (`--n-gpu-layers 99 -fa on`) โ€” and **generation quality
22
+ holds up**: correct, coherent code and clean step-by-step reasoning. ๐ŸŽฏ
23
+
24
+ You get **big-model answers at small-model speed.** Why so quick? It's a **Mixture-of-Experts** (only 2.5B of
25
+ the 12B params fire per token) with a **compact 98K vocab** โ€” so it generates several times faster than a
26
+ dense model its size, **with no draft / speculative model needed.** ๐Ÿ’š
27
+
28
+ | Hardware | Quant | Generation speed (measured) |
29
+ |---|---|---|
30
+ | RTX 5090 (32 GB) | Q4_K_M | **~440 tok/s** โšก |
31
+
32
+ ---
33
+
34
+ ## ๐Ÿ“ฆ Pick your size (GGUF quants)
35
+
36
+ | Quant | Size | Vibe |
37
+ |------|------|------|
38
+ | ๐ŸŸข **Q2_K** | **5.0 GB** | tiniest โ€” runs almost anywhere |
39
+ | ๐Ÿ”ต **Q4_K_M** | **8.1 GB** | the sweet spot ๐Ÿ‘Œ (recommended) |
40
+ | ๐ŸŸฃ **Q6_K** | **10.9 GB** | near-lossless |
41
+ | โšช **Q8_0** | **12.9 GB** | basically full quality |
42
+ | (f16) | 24.3 GB | full precision (overkill for most) |
43
+
44
+ > ๐Ÿ’ก It's a **Mixture-of-Experts**: all 64 experts live on disk/VRAM (so size is for the *whole* 12B), but
45
+ > only 8 fire per token โ€” that's why it's so quick.
46
+
47
+ ---
48
+
49
+ ## ๐Ÿงฎ "Will it fit?" โ€” rough VRAM guide
50
+
51
+ Mellum2 has a **tiny KV cache** (GQA with just 4 KV heads, and sliding-window attention on 3 of every 4
52
+ layers) โ€” so **context is rarely the limiter.** Pick the quant that fits your VRAM and you'll have plenty
53
+ of room for long context (max is **131K**). Rough numbers ๐Ÿค“ (weights + ~2 GB overhead):
54
+
55
+ | Your VRAM / unified mem | Best quant that fits | Context headroom |
56
+ |---|---|---|
57
+ | **8 GB** | ๐ŸŸข Q2_K | comfy (long ctx still fits) |
58
+ | **12 GB** | ๐Ÿ”ต Q4_K_M | lots |
59
+ | **16 GB** | ๐ŸŸฃ Q6_K / โšช Q8_0 | lots |
60
+ | **24 GB+**| โšช Q8_0 (or f16) | up to 131K ๐ŸŽ‰ |
61
+
62
+ > ๐Ÿ’ก Apple Silicon / iGPUs with **unified memory** count too โ€” same idea, just slower than a dGPU.
63
+ > ๐Ÿ’ก Tight on room? Drop a quant or use a `q4_0` KV cache for even more context.
64
+
65
+ ---
66
+
67
+ ## ๐Ÿš€ How to run it (super easy)
68
+
69
+ ### Option A โ€” llama.cpp (recommended) ๐Ÿฆ™
70
+ 1. Grab a quant above (e.g. `โ€ฆ-Q4_K_M.gguf`) and `llama-server` from [llama.cpp](https://github.com/ggml-org/llama.cpp).
71
+ > โš ๏ธ Needs a **recent llama.cpp** that supports the **`mellum2`** architecture (a mid-2026 build or newer).
72
+ > Older builds fail with `unknown architecture: 'mellum2'`.
73
+ 2. Run a server (Windows `.bat` shown โ€” tweak `--port`, `--ctx-size` to taste):
74
+
75
+ ```bat
76
+ @echo off
77
+ cd /d C:\llama.cpp
78
+ llama-server.exe ^
79
+ -m C:\models\mellum2-claude-Q4_K_M.gguf ^
80
+ --ctx-size 16384 ^
81
+ --n-gpu-layers 99 ^
82
+ --no-mmap ^
83
+ -fa on ^
84
+ --jinja --reasoning-format deepseek ^
85
+ --temp 0.6 --top-p 0.95 --top-k 20 ^
86
+ --host 0.0.0.0 --port 18080
87
+ pause
88
+ ```
89
+ 3. Open `http://localhost:18080` and chat. ๐ŸŽ‰ (Tip: bump `--ctx-size` โ€” the KV cache is small, so go big.)
90
+
91
+ ### Option B โ€” one-click apps ๐Ÿ–ฑ๏ธ
92
+ Works in **LM Studio**, **Jan**, **Ollama**, etc. โ€” just import the GGUF, pick your quant, go. ๐Ÿพ
93
+ *(Make sure the app ships a recent llama.cpp that knows `mellum2`.)*
94
+
95
+ ### ๐Ÿง  Thinking mode
96
+ This model thinks natively in `<think> โ€ฆ </think>` blocks. The chat template handles it automatically;
97
+ the `--reasoning-format deepseek` flag tells llama.cpp to surface the reasoning cleanly.
98
+ **Recommended sampling: `temp 0.6, top_p 0.95, top_k 20`** (JetBrains' official settings for the Thinking model).
99
+
100
+ <details><summary>๐Ÿ Prefer raw transformers? (click)</summary>
101
+
102
+ > This repo ships **GGUF** (for llama.cpp). To run in raw transformers you need non-GGUF weights โ€” point `mid`
103
+ > at the original JetBrains checkpoint (or your own merged fp16). Needs **`transformers >= 5.8`** (the `mellum`
104
+ > architecture is built in โ€” no `trust_remote_code`). It's a plain text **CausalLM** (not multimodal).
105
+
106
+ ```python
107
+ import torch
108
+ from transformers import AutoModelForCausalLM, AutoTokenizer
109
+
110
+ mid = "JetBrains/Mellum2-12B-A2.5B-Thinking" # GGUF won't load here โ€” use non-GGUF weights
111
+ tok = AutoTokenizer.from_pretrained(mid)
112
+ model = AutoModelForCausalLM.from_pretrained(mid, dtype=torch.bfloat16,
113
+ device_map="auto", attn_implementation="sdpa")
114
+
115
+ msgs = [{"role": "user", "content": "Write a Python function to check if a number is prime."}]
116
+ inputs = tok.apply_chat_template(msgs, return_tensors="pt", add_generation_prompt=True,
117
+ enable_thinking=True)
118
+ inputs = inputs.to(model.device)
119
+ out = model.generate(inputs, max_new_tokens=512, temperature=0.6, top_p=0.95, top_k=20)
120
+ print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=False))
121
+ ```
122
+ </details>
123
+
124
+ ---
125
+
126
+ ## โšก Why no MTP / draft model?
127
+ JetBrains' Mellum 2 uses Multi-Token Prediction as a **training-time** objective only โ€” it isn't exported to
128
+ the released weights, so there's no draft to ship. **You don't need one:** with just 2.5B active params and a
129
+ compact vocab, it already generates extremely fast (~440 tok/s on a 5090 at Q4_K_M). ๐ŸŽ๏ธ
130
+
131
+ ---
132
+
133
+ ## ๐Ÿงฉ What is this, exactly?
134
+ - **Base:** [`JetBrains/Mellum2-12B-A2.5B-Thinking`](https://huggingface.co/JetBrains/Mellum2-12B-A2.5B-Thinking)
135
+ โ€” a **from-scratch**, software-engineering-focused **Mixture-of-Experts** model (12.15B total / **2.5B active**,
136
+ 28 layers, 64 experts with 8 active, 131K context). JetBrains already did SFT + RLVR on it; this is a light
137
+ extra **LoRA distillation** pass on top.
138
+ - **This fine-tune:** a low-intensity QLoRA-style pass over the attention projections, distilling **Claude Opus
139
+ reasoning style** into the model. It keeps Mellum 2's coding/agent strengths while nudging the reasoning
140
+ voice toward Opus. ๐Ÿ’ก
141
+
142
+ ---
143
+
144
+ ## โš ๏ธ Good to know
145
+ - **Coding-first:** Mellum 2 is built for code generation, editing, debugging, tool-calls and agents. Great at
146
+ programming + structured reasoning; it's **not** a general-knowledge encyclopedia.
147
+ - **Reduced refusals:** the distillation data omits safety hedging, so it refuses less than a typical aligned
148
+ chat model. It is **not** safety-aligned โ€” add your own guardrails for production. Use responsibly. ๐Ÿ™
149
+ - The reasoning is *stylistic* synthetic CoT โ€” great for structure, but double-check facts and numbers.
150
+ - English-centric (handles other languages, but English is strongest).
151
+
152
+ ---
153
+
154
+ ## ๐Ÿ“š Data & License
155
+ - **Base model:** [`JetBrains/Mellum2-12B-A2.5B-Thinking`](https://huggingface.co/JetBrains/Mellum2-12B-A2.5B-Thinking),
156
+ released under **Apache-2.0**.
157
+ - **Training data:** built on the public, **Apache-2.0** dataset
158
+ [`angrygiraffe/claude-opus-4.6-4.7-reasoning-8.7k`](https://huggingface.co/datasets/angrygiraffe/claude-opus-4.6-4.7-reasoning-8.7k),
159
+ **augmented with additional Opus 4.8-generated reasoning samples** I curated and mixed in.
160
+ - Personal/hobby project โ€” shared as-is, no warranty. Have fun! ๐Ÿพโœจ