alt.freeweights.minicpm / BitCPM-CANN-3B-gguf
From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject:

BitCPM-CANN-3B-gguf

Date: 2026-11-15Commit: 8f9b593Signed: 2DC28CC7B26A283B ✓

Text generation model. Gguf weights, 8.31 GB in all. Published by openbmb under Apache-2.0.

minicpm8.31GBBitCPM-CANN-3B-ggufggufpermissive
FactsParamsnot statedSize8.31 GBFormatsggufTasktext generationLicenseApache-2.0From sourcepermissive
$ fw get openbmb/BitCPM-CANN-3B-gguf
# manifest sha256 b722951312bc… · 8.31 GB · 4 files
$ fw verify ./BitCPM-CANN-3B-gguf openbmb/BitCPM-CANN-3B-gguf
From sourceHosted (signed)openbmb/BitCPM-CANN-3B-ggufLast check: 2026-11-15 04:14 UTC

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

Works with

Convert with

Overview

Size
8.31 GB
Weights
1.10 GB (smallest of 2 GGUF variants)
Parameters
not stated
Formats
gguf
Task
text generation
License
Apache-2.0 (permissive)
Files
4, each with a sha256
Publisher
openbmb
Added
2026-11-15
Section
alt.freeweights.minicpm
Lineage

Original release from the publisher.

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 04:14 UTCpassed

Model card

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

Image: image

GitHub Repo | Technical Report

👋 Join us on Discord and WeChat

This repository hosts the GGUF (llama.cpp) quantized version of BitCPM-CANN-3B. For the pseudo-quantized weights and the full model card, please refer to BitCPM-CANN-3B.

Introduction#

BitCPM-CANN is the first end-to-end 1.58-bit (ternary) large language model training system natively built on Huawei Ascend NPU. The system integrates quantization-aware training (QAT) into the Megatron-LM framework with MindSpeed acceleration, covering the full training stack from custom ternary operators to distributed parallel training on Ascend 910B.

We train a family of four models—BitCPM-CANN-0.5B/1B/3B/8B—and evaluate them against their full-precision MiniCPM4 counterparts across 11 benchmarks. The 1B/3B/8B models retain 95.7%–97.2% of full-precision performance, while enabling approximately 6× memory reduction at inference time. QAT introduces only 5% training throughput overhead (148 vs. 155 TFLOP/s per NPU).

Key Features#
  • 🔬 1.58-Bit Ternary Quantization: Compresses model weights to ternary values {-1, 0, 1}, achieving ~90% bit-width reduction compared to BF16.
  • 🖥️ Native Ascend NPU Training: First publicly reported 1.58-bit training effort on domestic NPU platform at 8B scale, establishing reusable low-bit training infrastructure for the Ascend ecosystem.
  • ⚡ Minimal Training Overhead: Only 5% throughput degradation compared to full-precision training on Ascend 910B.
  • 📦 ~6× Inference Memory Reduction: Enables longer contexts, more serving replicas, and edge deployment on consumer devices.
Important Note#

The models in this repository are in pseudo-quantized (fake quantization) format. This means the weights are stored in standard floating-point format with ternary values already applied during training. You can load and run inference with these models exactly the same way as full-precision models—no special quantization libraries or custom kernels are required.

BitCPM-CANN Model Family#

Usage#

Inference with Transformers#

Since BitCPM-CANN models are in pseudo-quantized format, you can use them exactly like standard full-precision models:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
torch.manual_seed(0)

path = 'openbmb/BitCPM-CANN-0.5B'
device = "cuda"
tokenizer = AutoTokenizer.from_pretrained(path)
model = AutoModelForCausalLM.from_pretrained(path, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True)

# User can directly use the chat interface
responds, history = model.chat(tokenizer, "Write an article about Artificial Intelligence.", temperature=0.7, top_p=0.7)
print(responds)

# User can also use the generate interface
# messages = [
#     {"role": "user", "content": "Write an article about Artificial Intelligence."},
# ]
# prompt_text = tokenizer.apply_chat_template(
#     messages,
#     tokenize=False,
#     add_generation_prompt=True,
# )
# model_inputs = tokenizer([prompt_text], return_tensors="pt").to(device)

# model_outputs = model.generate(
#     **model_inputs,
#     max_new_tokens=1024,
#     top_p=0.7,
#     temperature=0.7
# )
# output_token_ids = [
#     model_outputs[i][len(model_inputs[i]):] for i in range(len(model_inputs['input_ids']))
# ]

# responses = tokenizer.batch_decode(output_token_ids, skip_special_tokens=True)[0]
# print(responses)

Evaluation Results#

Main Results#

BitCPM-CANN models are evaluated against their full-precision MiniCPM4 counterparts across 11 benchmarks spanning commonsense reasoning, domain knowledge, and mathematics & reasoning.

Task8B FP8B Ternary3B FP3B Ternary1B FP1B Ternary0.5B FP0.5B Ternary
ARC-c87.4686.1080.3478.9864.4167.1251.8650.51
ARC-e95.0693.4792.7788.3679.8979.0171.7865.08
BoolQ84.8983.3979.8577.8968.3865.5062.2943.55
PIQA80.5278.7870.5772.6966.1665.4560.9958.49
WinoGrande63.3061.1758.4152.9651.6253.2851.0751.54
CMMLU80.6278.9278.1176.5374.5767.4265.2260.49
C-Eval81.3677.5075.8575.8973.2565.9666.1160.74
MMLU75.8370.6566.9564.4157.7157.7155.5550.73
MMLU-Redux77.1469.8565.8260.0754.8054.1648.0043.79
BBH76.7270.7068.2968.3064.4060.4049.8747.44
GSM8K91.5185.7581.6479.4563.1561.5652.0839.42
Average (11 tasks)81.3177.8474.4272.3265.3063.4257.7151.98
Retention95.7%97.2%97.1%90.1%
Key Observations#
  • 1B and above achieve ≥95.7% retention: The 3B model achieves the highest retention at 97.2%, demonstrating that ternary QAT at this scale introduces minimal capability loss.
  • 0.5B reveals scale-dependent sensitivity: The smallest model retains 90.1%, indicating that quantization perturbation is more damaging when model capacity is limited.
  • 1:1 alignment with MiniCPM4: The matched evaluation enables direct substitution decisions—deployments can replace specific full-precision models with their ternary counterparts with clearly quantified trade-offs.
Training Efficiency#
ConfigurationTFLOP/s per NPUOverhead
Full-precision155—
Ternary QAT1484.5%

System-level throughput on 2-node 16-card Ascend 910B:

  • 3B model: ~2700 tokens/s per card
  • 8B model: ~1340 tokens/s per card

Technical Approach#

BitCPM-CANN uses a ternary quantizer that maps each weight group to {-1, 0, 1} scaled by a group-wise factor, trained with Straight-Through Estimator (STE) for gradient flow. The training follows a two-stage strategy: complete QAT followed by post-training distillation, which avoids amplifying training instability during early training.

The system is built as a four-layer vertical stack on Ascend NPU:

  1. QAT Training Logic: Ternary quantizer with STE, pluggable quantization layers in Megatron-LM.
  2. Megatron-LM Quantized Model Layer: Tensor-parallel linear layers with integrated weight/activation quantizers.
  3. Framework Entry Layer: torch_npu and mindspeed.megatron_adaptor injection for NPU execution.
  4. Ascend Software-Hardware Stack: MindSpeed, CANN, HCCL communication, Ascend 910B NPU hardware.

For full technical details, please refer to our Technical Report.

Statement#

  • As a language model, BitCPM-CANN generates content by learning from a vast amount of text.
  • However, it does not possess the ability to comprehend or express personal opinions or value judgments.
  • Any content generated by BitCPM-CANN does not represent the viewpoints or positions of the model developers.
  • Therefore, when using content generated by BitCPM-CANN, users should take full responsibility for evaluating and verifying it on their own.

LICENSE#

  • This repository and BitCPM-CANN models are released under the Apache-2.0 License.

Citation#

  • Please cite our technical report if you find our work valuable.
@article{bitcpmcann,
  title={{BitCPM-CANN}: Native 1.58-Bit Large Language Model Training on Ascend NPU},
  author={BitCPM Team},
  year={2026}
}

Files

4 files · 8.31 GBWeights 1.10 GB (smallest of 2 GGUF variants). Sizes and sha256 from the signed manifest.
Hide all 4 files with their sha256
FileSizesha256
.gitattributes1.63 KBdf87a68af6ff75577ae51b71cca4d401fc7d177ce2fc575d7832fdddc7be5720
README.md9.13 KBf02c406ab26a6e8418a8f06de03cd963760cf276c71f0d9415fee0b4c5f691c4
bitcpm4-3b-bf16.gguf7.21 GB1f8ceba91d68bccc070db951a05d7716bdf31868e374df914abbca386f1d96f0
bitcpm4-3b-tq2_0.gguf1.10 GBfd96dfe41d71eb5b507f7973ff037c529975a6f8d9ab31b687cabaed461b285b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
8f9b593159 pinned now2026-11-15 04:14 UTC4 files · 8.31 GB

Use it

$ fw get openbmb/BitCPM-CANN-3B-gguf
# manifest sha256 b722951312bc… · 8.31 GB · 4 files
$ fw verify ./BitCPM-CANN-3B-gguf openbmb/BitCPM-CANN-3B-gguf
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/openbmb/BitCPM-CANN-3B-gguf.json --dir ./BitCPM-CANN-3B-gguf $ python3 fw.py verify ./BitCPM-CANN-3B-gguf ./openbmb__BitCPM-CANN-3B-gguf.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/BitCPM-CANN-3B-gguf --revision 8f9b5931597ba92c083c93edb0416888534dec27 --local-dir ./BitCPM-CANN-3B-gguf
llama.cppDownload one GGUF variant (bitcpm4-3b-tq2_0, 1.10 GB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/BitCPM-CANN-3B-gguf --include "bitcpm4-3b-tq2_0*" --local-dir ./BitCPM-CANN-3B-gguf $ llama-server -m ./BitCPM-CANN-3B-gguf/bitcpm4-3b-tq2_0.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./BitCPM-CANN-3B-gguf/bitcpm4-3b-tq2_0.gguf\n' > Modelfile $ ollama create bitcpm-cann-3b-gguf -f Modelfile

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
f02c406ab26a6e8418a8f06de03cd963760cf276c71f0d9415fee0b4c5f691c4
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: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject: BitCPM-CANN-3B-ggufDate: 2026-11-15Commit: 8f9b593Signed: 2DC28CC7B26A283B ✓
Upstream
openbmb/BitCPM-CANN-3B-gguf
Pinned commit
8f9b5931597ba92c083c93edb0416888534dec27
Manifest
BitCPM-CANN-3B-gguf.json · .minisig
Manifest sha256
b722951312bcc7dbe1c241d9e3898b53882ad20038a01cccfed441c2e99b81a6
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:14 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/openbmb/BitCPM-CANN-3B-gguf.json $ curl -O https://freeweights.allternit.com/manifests/openbmb/BitCPM-CANN-3B-gguf.json.minisig $ minisign -Vm BitCPM-CANN-3B-gguf.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

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/BitCPM-CANN-3B-gguf
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. BitCPM-CANN-3B-gguf.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-8B-gguf