Instructions to use Ttimms/MiniCPM5-2B-FP8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Ttimms/MiniCPM5-2B-FP8 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Ttimms/MiniCPM5-2B-FP8") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Ttimms/MiniCPM5-2B-FP8") model = AutoModelForCausalLM.from_pretrained("Ttimms/MiniCPM5-2B-FP8", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Ttimms/MiniCPM5-2B-FP8 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Ttimms/MiniCPM5-2B-FP8" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ttimms/MiniCPM5-2B-FP8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Ttimms/MiniCPM5-2B-FP8
- SGLang
How to use Ttimms/MiniCPM5-2B-FP8 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Ttimms/MiniCPM5-2B-FP8" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ttimms/MiniCPM5-2B-FP8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Ttimms/MiniCPM5-2B-FP8" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Ttimms/MiniCPM5-2B-FP8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use Ttimms/MiniCPM5-2B-FP8 with Docker Model Runner:
docker model run hf.co/Ttimms/MiniCPM5-2B-FP8
MiniCPM5-2B — FP8 (compressed-tensors)
FP8-dynamic quantization of openbmb/MiniCPM5-2B,
weights and activations in float8_e4m3 (per-channel weights, per-token dynamic
activations), lm_head and embeddings kept in bf16. Produced with
llm-compressor 0.13.
- 2.84 GiB on disk (bf16 base is 4.68 GiB — 39 % smaller)
- Serves on vLLM (
compressed-tensors), native FP8 tensor-core path on Ada / Blackwell - Near-lossless on coding benchmarks — see the eval below
This is the recommended quant for MiniCPM5-2B when you want maximum quality retention. If you need to fit closer to 2 GB, see the NVFP4 W4A16 build (smaller, ~2–5 pp coding cost).
Evaluation
lm-evaluation-harness, vLLM backend, greedy decoding, 3 draws each (the
harness is non-deterministic run-to-run even at greedy — median and range are
reported; a single draw is not a reproducible score).
| build | HumanEval-instruct | MBPP (3-shot) | size |
|---|---|---|---|
| bf16 base | 86.59 % (85.98–86.59) | 50.60 % (50.40–51.00) | 4.68 GiB |
| FP8 (this) | 84.76 % (84.15–85.37) | 48.80 % (48.80–49.00) | 2.84 GiB |
| Δ vs bf16 | −1.8 pp | −1.8 pp | −39 % |
Both deltas sit inside the eval's own run-to-run spread — FP8 is effectively lossless here. (For contrast, plain RTN NVFP4-W4A16 of the same model loses 6.7 / 9.4 pp; GPTQ-recovered NVFP4-W4A16 loses 2.4 / 4.8 pp.)
v1 — updated as more evals land (RULER long-context, agentic SWE-style, IFEval).
Usage
vllm serve Ttimms/MiniCPM5-2B-FP8 --max-model-len 32768 --kv-cache-dtype fp8
from vllm import LLM, SamplingParams
llm = LLM("Ttimms/MiniCPM5-2B-FP8", trust_remote_code=True)
print(llm.chat([{"role": "user", "content": "Write a Python LRU cache."}],
SamplingParams(temperature=0.6, max_tokens=512))[0].outputs[0].text)
Method & provenance
- Quantizer:
llm-compressor0.13,QuantizationModifier(scheme="FP8_DYNAMIC"), ignorelm_head+embed_tokens. No calibration data required (dynamic activations). - Base:
openbmb/MiniCPM5-2B(LlamaForCausalLM, 2.5 B, Apache-2.0). - Built and evaluated on an RTX 5070 Ti (Blackwell, SM120), vLLM 0.26.
- Full quant-format comparison + methodology: https://github.com/t-timms/blackwell-16gb-moe
License
Apache-2.0, inherited from openbmb/MiniCPM5-2B.
- Downloads last month
- -
Model tree for Ttimms/MiniCPM5-2B-FP8
Base model
openbmb/MiniCPM5-2B