Downloads · 30 days
936
65% of all-time downloads
n4ze3m/Qwen3.5-4B-Hmm
Qwen3.5-4B-Hmm is a text classification model from n4ze3m. Use it when you need a label for a piece of text. The card lists the license as apache-2.0.
Hmm is a small open model that answers questions about your data with probabilities instead of text. You give it a state (any text or JSON) and a few typed questions, it gives back a yes/no probability, a choice or a…
Downloads · 30 days
936
65% of all-time downloads
All-time downloads
1.4K
Public
Repo size
15.8 GB
Likes
6
Public
Click a slice to open those files.
.gguf15.6 GB · 99%
From the Hugging Face model README
Hmm is a small open model that answers questions about your data with probabilities instead of text. You give it a state (any text or JSON) and a few typed questions, it gives back a yes/no probability, a choice or a score.
It is a fine-tuned Qwen3.5-4B. Code, local server and training scripts: github.com/n4ze3m/hmm
Note: This is a fun experiment. Hmm is nowhere near the quality of Jev from TypeSafe and it is not affiliated with TypeSafe in any way. The local server just follows the same request format so it is easy to try.
| File | Size | Description |
|---|---|---|
Qwen3.5-4B-Hmm-Q4_K_M.gguf | 2.7 GB | Recommended. Same accuracy as the full model in my tests |
Qwen3.5-4B-Hmm-Q8_0.gguf | 4.5 GB | 8-bit |
Qwen3.5-4B-Hmm-bf16.gguf | 8.4 GB | Full precision |
lora/ | 170 MB | The LoRA adapter, if you want to use it with transformers + peft |
Hmm does not generate text, it reads the probability of the option letters on the first token. The easiest way to use it is the small server from the GitHub repo, which does this for you.
llama-server -hf n4ze3m/Qwen3.5-4B-Hmm:Q4_K_M -np 4 --port 8080
or with Ollama (v0.12.11 or newer)
ollama pull hf.co/n4ze3m/Qwen3.5-4B-Hmm:Q4_K_M
git clone https://github.com/n4ze3m/hmm.git
cd hmm/server
bun run start
curl http://localhost:8787/v1/systemone -d '{
"state": "Help! My payouts have failed for 3 days. I need the money today.",
"questions": {
"is_urgent": { "type": "noul", "instructions": "Does this message convey urgency?" },
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts"
}
}
}
}'
If you want to call the model yourself, this is the exact prompt it was trained on. Take the probabilities of the tokens A, B, C... for the first generated token and normalize them over your options.
<|im_start|>user
State (data to evaluate):
{state}
Question:
{instructions}
Options:
A: {option key} — {option description}
B: {option key} — {option description}
Return only the option letter.<|im_end|>
<|im_start|>assistant
<think>
</think>
For yes/no questions the options are A: false — No and B: true — Yes. For score questions the keys are 0, 1, 2... and the descriptions are your levels, lowest first.
Note: These numbers are from a few public test sets. Your use case is not one of them, and results can be very different from one use case to another. Hmm does not match Jev on any of them. Please test it on your own data before you trust it with anything.
Everything is zero-shot, none of these test sets were used for training. Majority means always answering the most common label. Qwen3.5-4B is the base model without fine-tuning, same prompt. Jev is only shown where the benchmark's own authors measured it on exactly the same records, I did not run Jev myself.
| Benchmark | Majority | Qwen3.5-4B | Hmm 4B | Jev 1.13 |
|---|---|---|---|---|
| typed-decisions, 2,000 workflow decisions | 0.520 | 0.596 | 0.709 | 0.727 |
| Bespoke public suite, 13 human labelled tasks, macro | 0.721 | 0.750 | 0.760 | |
| OpenBookQA | 0.276 | 0.810 | 0.854 | |
| CommonsenseQA | 0.209 | 0.760 | 0.763 | |
| HellaSwag (2,000) | 0.261 | 0.765 | 0.722 | |
| Phishing emails (PhishNChips) | 0.500 | 0.648 | 0.629 |
Per-task tables, how the data was rebuilt, the overlap check and the caveats are in BENCHMARKS.md.
rm -rf behind base64. Do not use it as your only safety gate, and do not use it for anything important.@misc{nazeem2026hmm,
author = {Muhammed Nazeem},
title = {Hmm: a small open model for typed decisions},
year = {2026},
url = {https://github.com/n4ze3m/hmm}
}
If you like the project, you can support me on Ko-fi.