alt.freeweights.minicpm / MiniCPM5-2B-OptiQ-4bit
From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.minicpmSubject:

MiniCPM5-2B-OptiQ-4bit

Date: 2026-11-15Commit: d139292Signed: 2DC28CC7B26A283B ✓

Text generation model with 2.5B parameters. Safetensors weights, 1.94 GB in all. Published by mlx-community under Apache-2.0.

2.5B params1.94GBMiniCPM5-2B-OptiQ-4bitsafetensorspermissive
FactsParams2.5BSize1.94 GBFormatssafetensorsTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get mlx-community/MiniCPM5-2B-OptiQ-4bit
# manifest sha256 1232c94f2712… · 1.94 GB · 12 files
$ fw verify ./MiniCPM5-2B-OptiQ-4bit mlx-community/MiniCPM5-2B-OptiQ-4bit
From sourceHosted (signed)mlx-community/MiniCPM5-2B-OptiQ-4bitLast check: 2026-11-15 05:10 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of MiniCPM5-2B.

Works with

Overview

Size
1.94 GB
Weights
1.93 GB (safetensors)
Parameters
2.5B
Formats
safetensors
Task
text generation
License
Apache-2.0 (permissive)
Files
12, each with a sha256
Publisher
mlx-community
Added
2026-11-15
Section
alt.freeweights.minicpm
Lineage

Original release from the publisher.

Base model: openbmb/MiniCPM5-2B

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 05:10 UTCpassed

Model card

From the publisher at commit d139292. Shown as plain text with links; images open at the publisher.

MiniCPM5-2B-OptiQ-4bit#

Built with mlx-optiq, the MLX-native toolkit to quantize, prune, fine-tune, and serve LLMs locally on Apple Silicon, no PyTorch and no cloud. Try the Lab · All OptiQ quants · Docs

Mixed-precision MLX quantization of openbmb/MiniCPM5-2B, OpenBMB's 2B-class Llama-architecture model with hybrid reasoning, tool calling and a 128k context. Apache-2.0 from the base model.

  • Base: openbmb/MiniCPM5-2B (42 layers, Llama architecture, hybrid reasoning, 128k context)
  • Quantization: OptiQ sensitivity-aware mixed precision (4-bit + 8-bit)
  • Disk size: 1,837 MB
  • Calibration: the bundled optiq.jsonl mix (40 samples across prose, reasoning, code, agent loops, tool-calling, instructions)

The OptiQ optimizer measured every linear layer against the bf16 model and kept 112 of 295 at 8-bit (the ones whose output moved most under 4-bit: output projections, the last blocks, lm_head) and 183 at 4-bit. The full per-layer assignment is in optiq/metadata.json next to the safetensors.

Capability Score#

Six benchmarks, one number, the same recipe as every mlx-optiq quant (non-thinking mode, for cross-family comparability).

BenchmarkScore
MMLU (5-shot, 1000)59.8%
GSM8K (1000, 3-shot CoT)82.1%
IFEval (full set, strict)86.7%
BFCL V3 (simple AST, 200 calls)82.5%
HumanEval (164, pass@1)81.1%
HashHop (long-context retrieval)24.0%
Capability Score69.36

For scale: this 1.8 GB file scores level with the 2.8 GB Qwen3.5-4B-OptiQ-4bit (68.76), ahead on instruction following, GSM8K and HumanEval, behind on MMLU and tool-call format.

Loading#

from mlx_lm import load, generate

model, tok = load("mlx-community/MiniCPM5-2B-OptiQ-4bit")

prompt = tok.apply_chat_template(
    [{"role": "user", "content": "Summarize the plot of The Iliad in three sentences."}],
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False,
)
print(generate(model, tok, prompt=prompt, max_tokens=300))

Hybrid reasoning: think or no-think#

The chat template takes an enable_thinking flag. On, the model emits a <think>...</think> block before answering, which helps on math, planning and multi-step code. The scores above are with thinking off.

Modetemperaturetop_pUse when
No-think (default)0.70.95Fast assistant, rewriting, conversational
Think0.90.95Math, code, multi-hop reasoning

optiq serve forwards chat_template_kwargs verbatim, and also accepts the model name with a :think / :no-think suffix:

optiq serve --model mlx-community/MiniCPM5-2B-OptiQ-4bit --port 8000

curl -s http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"mlx-community/MiniCPM5-2B-OptiQ-4bit:think",
       "messages":[{"role":"user","content":"What is 17 * 23?"}]}'

Tool calling#

MiniCPM5 uses its own <function name="..."><param name="..."> call format. optiq serve parses it into OpenAI tool_calls, so agents that speak the OpenAI or Anthropic protocol (OptiQ Code, Claude Code via the Anthropic endpoint, OpenCode, Codex) work unchanged.

KV cache#

kv_config.json in this repo is a per-layer mixed-precision KV-cache plan from optiq kv-cache. Pass it to optiq serve --kv-config for a smaller cache at long context without the quality loss of uniform 4-bit KV.

Fine-tuning#

Small enough to LoRA-train on a 24 GB Mac at max_seq_length=2048. The sensitivity-aware LoRA overlay reads optiq/metadata.json and gives 8-bit layers twice the adapter rank of 4-bit layers at the same parameter budget.

optiq lora train mlx-community/MiniCPM5-2B-OptiQ-4bit \
  --data ./my_training_data \
  --preset default \
  --max-seq-length 2048

Reproducibility#

optiq convert openbmb/MiniCPM5-2B --target-bpw 5.0 --candidate-bits 4,8 --reference bf16

Deterministic given the same calibration mix.

Quantize your own#

pip install mlx-optiq
optiq convert <hf-model-id> --target-bpw 5.0 --candidate-bits 4,8
optiq lab   # local workbench: chat, compare, quantize, fine-tune

License + provenance#

Apache-2.0, inherited from openbmb/MiniCPM5-2B. Quantized with mlx-optiq.

Files

12 files · 1.94 GBWeights 1.93 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 12 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md5.18 KBbffea5f94c52542c6ce0760cb6fc23891cfffeb80703540ee2cb57c1a9ab367e
chat_template.jinja9.06 KBcc945752db555d60949b16989df4ccfeb52a313d6b4b5c5229dd786e2e9fcf1c
config.json64.3 KB59968714993c18a90394919e9321164c6c4d4fcf30383b97958d41f3bd4185cd
generation_config.json213 B9ac4f32e5f32358697a9f438a3ea89ef80e6ba786c72c49e932f9f21c122fdb1
kv_config.json2.76 KB6ae2f1f8862027638e70b3ab4681dcfd80a34225e892b3943952f0d56770a10b
model.safetensors1.93 GB4c317e91ee2a000cf1094986bd4c4025c96c0a0dbd38a3adb8b3b31399eb2348
model.safetensors.index.json68.7 KBbff4da40a067f0dc6e64501cde2e38cca29ba058e9d5b2ddbf5f2b45b8487595
optiq/metadata.json25.9 KB21094b85fd793674639756a9840a4ee97a33a6a86e39cf5d85b1547fe2fe406d
optiq/sensitivity.json65.8 KB5e71cdf5253ae0165f1fed75c339e6d39cfba72b1a809b63840ce5d9739a4228
tokenizer.json9.89 MB3e065a558a034185fe299917b398685c1facd0169a9eea1e629eb30c171fed81
tokenizer_config.json435 Bb89503c3e5070c6b6d33daf2e20cb4a5c88537c1670d9b7e0cfb4506a61448a9
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
d1392929ad pinned now2026-11-15 05:10 UTC12 files · 1.94 GB

Use it

$ fw get mlx-community/MiniCPM5-2B-OptiQ-4bit
# manifest sha256 1232c94f2712… · 1.94 GB · 12 files
$ fw verify ./MiniCPM5-2B-OptiQ-4bit mlx-community/MiniCPM5-2B-OptiQ-4bit
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/mlx-community/MiniCPM5-2B-OptiQ-4bit.json --dir ./MiniCPM5-2B-OptiQ-4bit $ python3 fw.py verify ./MiniCPM5-2B-OptiQ-4bit ./mlx-community__MiniCPM5-2B-OptiQ-4bit.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/MiniCPM5-2B-OptiQ-4bit --revision d1392929adb5693640daeebe6b45e12a07a60b5a --local-dir ./MiniCPM5-2B-OptiQ-4bit
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("mlx-community/MiniCPM5-2B-OptiQ-4bit", revision="d1392929adb5693640daeebe6b45e12a07a60b5a") model = AutoModelForCausalLM.from_pretrained("mlx-community/MiniCPM5-2B-OptiQ-4bit", revision="d1392929adb5693640daeebe6b45e12a07a60b5a", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve mlx-community/MiniCPM5-2B-OptiQ-4bit --revision d1392929adb5693640daeebe6b45e12a07a60b5a

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
bffea5f94c52542c6ce0760cb6fc23891cfffeb80703540ee2cb57c1a9ab367e
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: mlx-community <huggingface.co/mlx-community>Newsgroups: alt.freeweights.minicpmSubject: MiniCPM5-2B-OptiQ-4bitDate: 2026-11-15Commit: d139292Signed: 2DC28CC7B26A283B ✓
Upstream
mlx-community/MiniCPM5-2B-OptiQ-4bit
Pinned commit
d1392929adb5693640daeebe6b45e12a07a60b5a
Manifest
MiniCPM5-2B-OptiQ-4bit.json · .minisig
Manifest sha256
1232c94f27127da75fe3b19ea9b05666c9da2de6547fd685615ff0c31e5b3aca
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 05:10 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/mlx-community/MiniCPM5-2B-OptiQ-4bit.json $ curl -O https://freeweights.allternit.com/manifests/mlx-community/MiniCPM5-2B-OptiQ-4bit.json.minisig $ minisign -Vm MiniCPM5-2B-OptiQ-4bit.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

openbmb/MiniCPM5-2B · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download mlx-community/MiniCPM5-2B-OptiQ-4bit
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. MiniCPM5-2B-OptiQ-4bit.json. Provenance. Takedown history: none.
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Explore-GGUF
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report-GGUF
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-0.5B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-1B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-3B-gguf