alt.freeweights.minicpm / MiniCPM-OCR-1.0-DSpark
From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject:

MiniCPM-OCR-1.0-DSpark

Date: 2026-11-14Commit: cb24ab4Signed: 2DC28CC7B26A283B ✓

Image text to text model with 297M parameters. Safetensors weights, 595 MB in all. Published by openbmb under Apache-2.0.

297M params595MBMiniCPM-OCR-1.0-DSparksafetensorspermissive
FactsParams297MSize595 MBFormatssafetensorsTaskimage text to textLicenseApache-2.0From sourcepermissive
$ fw get openbmb/MiniCPM-OCR-1.0-DSpark
# manifest sha256 bbcda0214417… · 595 MB · 6 files
$ fw verify ./MiniCPM-OCR-1.0-DSpark openbmb/MiniCPM-OCR-1.0-DSpark
From sourceHosted (signed)openbmb/MiniCPM-OCR-1.0-DSparkLast check: 2026-11-14 21:24 UTC

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

Fine-tune of MiniCPM-OCR-1.0.

Works with

Overview

Size
595 MB
Weights
595 MB (safetensors)
Parameters
297M
Formats
safetensors
Task
image text to text
License
Apache-2.0 (permissive)
Files
6, each with a sha256
Publisher
openbmb
Added
2026-11-14
Section
alt.freeweights.minicpm
Lineage

Original release from the publisher.

Base model: openbmb/MiniCPM-OCR-1.0

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-14 21:24 UTCpassed

Model card

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

MiniCPM logo

Usage Guide

| πŸš€ Free API

Try it online for free, then call the API from your own code.

Playground (CN / Global)

API docs (CN / Global)

| πŸ€– Agent Skill

One prompt: the agent installs it and parses your first document.

SKILL.md

| πŸ’» Self-hosting

vLLM / SGLang / llama.cpp / Ollama, plus an official Docker image. Data stays on your side.

Deployment guide

| πŸ“± Mobile App

On-device and offline. Document parsing is iOS-only for now.

iOS Demo

Demo (CN / Global) &nbsp;Β·&nbsp; GitHub &nbsp;Β·&nbsp; SDK usage &nbsp;Β·&nbsp; DSpark &nbsp;Β·&nbsp; Discord &nbsp;|&nbsp; δΈ­ζ–‡

MiniCPM-OCR 1.0 DSpark#

This repository hosts the DSpark draft (speculative decoding) head for MiniCPM-OCR 1.0. It is a draft model, not a standalone OCR model β€” it must be paired with the matching main checkpoint.

DSpark speeds up decoding with a small draft model that proposes tokens the main model then verifies in one pass. With this head, MiniCPM-OCR 1.0 improves end-to-end processing efficiency by 55%; throughput reaches about 1.49Γ— PaddleOCR-VL-1.6 and 3.62Γ— MinerU2.5 Pro.

Specification#

PropertyValue
Target modelMiniCPM-OCR 1.0 (1.3B)
Draft parameters296,837,889
Draft layers5
Draft tokens per forward pass15
Target hidden-state layers[3, 7, 11, 15, 19]
Checkpoint precisionBF16
Input vocabulary248,100
Draft output vocabulary114,688

The output LM head and the Markov output rows are cropped to 114,688 tokens. The checkpoint keeps its d2t offset mapping and the full input vocabulary; local-to-target.json holds the corresponding absolute target token IDs.

Note on d2t: in this checkpoint the tensor is delta-encoded (target_id - draft_id). It must be converted to absolute IDs (d2t[i] + i) before use β€” the GGUF build already does this, and local-to-target.json is the ground truth to verify against.

Parsing pipeline#

MiniCPM-OCR 1.0 parses full documents as a two-stage pipeline orchestrated by the minicpm-ocr SDK. The two stages use separate models, run in separate environments, and may run on different machines:

  • Stage 1 β€” Layout detection (SDK environment). The PP-DocLayoutV3 layout model detects document regions β€” text, tables, formulas, charts, seals β€” and determines reading order; the SDK crops each region. It runs locally inside the SDK environment and requires PaddlePaddle / PaddleX.
  • Stage 2 β€” Region recognition (inference service). The SDK sends each cropped region over HTTP to a MiniCPM-OCR 1.0 inference service β€” served by vLLM, SGLang, llama.cpp, or Ollama β€” with a prompt matching the region type, then assembles the recognized content into the final Markdown / JSON in reading order.

Image: Parsing pipeline: in the minicpm-ocr SDK environment, the PP-DocLayoutV3 layout model detects and crops document regions; each cropped region is sent over HTTP to a separate recognition service running MiniCPM-OCR 1.0 (vLLM, SGLang, llama.cpp, or Ollama); the SDK then assembles the recognized text, tables, formulas, charts, and seals into Markdown and JSON in reading order.

See the model guide for more on architecture, parsing workflow, deployment options, and benchmark breakdowns.

Usage with vLLM#

vllm serve openbmb/MiniCPM-OCR-1.0 \
  --served-model-name MiniCPM-OCR \
  --trust-remote-code \
  --max-model-len 40960 \
  --max-num-batched-tokens 40960 \
  --max-num-seqs 1 \
  --trust-request-mm-kwargs \
  --mm-processor-kwargs '{"downsample_mode":"4x","max_slice_nums":9}' \
  --speculative-config '{"method":"dspark",
                         "model":"openbmb/MiniCPM-OCR-1.0-DSpark",
                         "num_speculative_tokens":15,
                         "enable_adaptive_verification":false}' \
  --default-chat-template-kwargs '{"enable_thinking":false}'

Selection and tuning: DSpark acceleration.

FormatHugging FaceModelScope
BF16 (original)πŸ€—ModelScope
GGUF (llama.cpp)πŸ€—ModelScope
AWQ W4A16πŸ€—ModelScope
GPTQ W4A16πŸ€—ModelScope
DSpark draft (BF16) (this repo)πŸ€—ModelScope
DSpark draft (GGUF)πŸ€—ModelScope

DSpark requires a matching main and draft model from the same release; do not pair this draft with a different main checkpoint.

FAQ#

Installation, model downloads, GPU memory, input formats, and unexpected outputs: FAQ.

License#

Model weights, code, and documentation are released under the Apache License 2.0.

Files

6 files Β· 595 MBWeights 595 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 6 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md7.92 KB281d255aaaf9b3f9b24c8723f22aa7582034d6eaeb544659bef7541eb326bc90
README_zh.md7.39 KB647990baacd5222139a20ad54208736fce552bb63909d2eef9e89070cdeac2cf
assets/parsing_pipeline.svg4.49 KBe601a364eeb37709a7d100e86b0099e57e7a071610bcaf22884d21fb1e0f127e
config.json1.41 KBba0a9ed774ca1e5e4d7d97517379e477c7e8b6c151154e4b0556b0abd449d2e3
model.safetensors595 MB3e6332e05e2539898a0691db381e3a85877728a754561f9e3d13e597e44c672b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
cb24ab4f59 pinned now manifest updated, same commit2026-11-14 21:24 UTC6 files Β· 595 MB
cb24ab4f592026-11-14 21:24 UTC6 files Β· 595 MB

Use it

$ fw get openbmb/MiniCPM-OCR-1.0-DSpark
# manifest sha256 bbcda0214417… · 595 MB · 6 files
$ fw verify ./MiniCPM-OCR-1.0-DSpark openbmb/MiniCPM-OCR-1.0-DSpark
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-1.0-DSpark.json --dir ./MiniCPM-OCR-1.0-DSpark $ python3 fw.py verify ./MiniCPM-OCR-1.0-DSpark ./openbmb__MiniCPM-OCR-1.0-DSpark.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/MiniCPM-OCR-1.0-DSpark --revision cb24ab4f593389832024a688216e05bf3803950e --local-dir ./MiniCPM-OCR-1.0-DSpark
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModelForImageTextToText, AutoProcessor processor = AutoProcessor.from_pretrained("openbmb/MiniCPM-OCR-1.0-DSpark", revision="cb24ab4f593389832024a688216e05bf3803950e") model = AutoModelForImageTextToText.from_pretrained("openbmb/MiniCPM-OCR-1.0-DSpark", revision="cb24ab4f593389832024a688216e05bf3803950e", device_map="auto")
vLLMServe an OpenAI-compatible API.
$ HF_ENDPOINT=https://freeweights.allternit.com vllm serve openbmb/MiniCPM-OCR-1.0-DSpark --revision cb24ab4f593389832024a688216e05bf3803950e

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-14
Text in
README.md
Text sha256
281d255aaaf9b3f9b24c8723f22aa7582034d6eaeb544659bef7541eb326bc90
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: MiniCPM-OCR-1.0-DSparkDate: 2026-11-14Commit: cb24ab4Signed: 2DC28CC7B26A283B ✓
Upstream
openbmb/MiniCPM-OCR-1.0-DSpark
Pinned commit
cb24ab4f593389832024a688216e05bf3803950e
Manifest
MiniCPM-OCR-1.0-DSpark.json Β· .minisig
Manifest sha256
bbcda0214417e09e2f6f6d6b304862f0c739ca4da1ff7087063b205f661f0dfe
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:24 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-1.0-DSpark.json $ curl -O https://freeweights.allternit.com/manifests/openbmb/MiniCPM-OCR-1.0-DSpark.json.minisig $ minisign -Vm MiniCPM-OCR-1.0-DSpark.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/MiniCPM-OCR-1.0 Β· this model is a finetune of it

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

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/MiniCPM-OCR-1.0-DSpark
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. MiniCPM-OCR-1.0-DSpark.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