MiniCPM-OCR Jev — MLX BF16

MLX conversion of the supplied MiniCPM-OCR Jev 2B checkpoint. Jev is a Qwen3.5 vision-language sequence classifier with a two-output score head. It assesses an original document crop, candidate OCR text, and a rendering of that candidate. It does not generate text.

Weights are BF16, with normalization scales and recurrent parameters retained in FP32 where required. No quantization was applied. The checkpoint metadata identifies the classification architecture and minicpm_ocr_jev model type.

Use an MLX-VLM build containing the minicpm_ocr_jev model and scoring helper. The runtime implementation is not bundled in this checkpoint repository.

python -m mlx_vlm.models.minicpm_ocr_jev \
  --model nativ-community/MiniCPM-OCR-Jev-bf16 \
  --orig-image original-crop.png --render-image rendered-ocr.png \
  --ocr-text-file candidate.txt
from mlx_vlm import load
from mlx_vlm.models.minicpm_ocr_jev import score

model, processor = load("nativ-community/MiniCPM-OCR-Jev-bf16")
result = score(model, processor, "original-crop.png", "rendered-ocr.png",
               "Candidate OCR text")
print(result["prob_1"])

prob_1 is P(consistent); prob_0 is P(inconsistent). No routing threshold is applied automatically. The helper uses the supplied value-head prompt and image order, preserving candidate text unchanged. Rendering candidate text into an image is an upstream step and is not included.

Validation and performance

All 618 converted tensors match the sanitized source checkpoint. All 12 supplied image-pair/text cases were evaluated. BF16 probabilities differed from the supplied batched GPU reference by at most 0.00919, including preprocessing and execution differences. Validate routing thresholds with the deployed pipeline.

Measured on an M5 Max (40 GPU cores, 128 GB RAM), resident batch size 1, one warmup per case and five passes over 12 cases (60 measured requests):

Precision Median latency P95 latency Throughput Peak MLX memory
BF16 62.9 ms 128.3 ms 13.38 scores/s 5.54 GB

Timings include both image decodes, preprocessing and scoring. They exclude model loading and generation of the rendered candidate image. Inputs contain 222–782 tokens. Repeated scores were identical for each case.

The source checkpoint was provided for this conversion. Consult its original model terms. File checksums are in SHA256SUMS; conversion provenance is in conversion.json.

Downloads last month
-
Safetensors
Model size
2B params
Tensor type
BF16
·
F32
·
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for nativ-community/MiniCPM-OCR-Jev-bf16

Quantizations
7 models