Sponsored by
Vmake Labs Video Enhancer
-Vmake Labs Video Enhancer uses AI to improve video quality, restore details, reduce blur, and upscale videos to 8K.
This repository hosts the int4 (W4A16, compressed-tensors, llm-compressor) quantized version of
MiniCPM-V 4.7 35B-A3B
.
For the original BF16 weights and the full model card, please refer to
openbmb/MiniCPM-V-4.7-35B-A3B
.
MiniCPM-V 4.7
is the latest model in the MiniCPM-V series, available in a
35B-A3B
variant, with
35B-A3B being the first MoE model in the MiniCPM-V series
. It builds on the family's single-image, multi-image, and video understanding capabilities, combining stronger foundation capabilities with efficient visual encoding and on-device inference. Notable features of MiniCPM-V 4.7 include:
📱
The First Open-Source MoE Model with Lossless, Smooth On-Device Inference.
With our
Lookahead Expert Scheduling (LES)
technique introduced alongside MiniCPM-V 4.7, combined with fine-grained layer-wise quantization and DSpark speculative sampling integration, MiniCPM-V 4.7 35B-A3B becomes the
first open-source MoE model to run smoothly on-device without compromising performance
, achieving a decoding speed of
13+ tokens/s on iPhone 17 Pro Max
.
🔥
A New Pareto Frontier in Performance and Efficiency.
As model capabilities continue to advance, inference efficiency has become an important measure of a model's value. On resource-constrained devices, delivering the strongest possible capabilities within a limited resource budget calls for higher capability density. The
35B-A3B
variant of MiniCPM-V 4.7 advances the performance–efficiency Pareto frontier for MLLMs. In Instruct mode, 35B-A3B
achieves a higher overall score in less inference time than Qwen3.6 35B-A3B
.
🚀
Efficient Architecture.
Based on the intra-ViT early compression technique from
LLaVA-UHD v4
, MiniCPM-V 4.7 compresses visual tokens early within the vision encoder, reducing computation in subsequent encoder layers. It also supports
mixed 4x/16x visual token compression
, allowing developers to balance visual detail and inference cost across tasks.
💻
Broad Platform and Chip Support.
MiniCPM-V 4.7 supports
iOS, Android, and HarmonyOS
, together with open-source on-device deployment support. It also provides
day-0 support for chip platforms from Rockchip, Houmo, Intel, AMD, and Arm
, extending deployment options across mobile and local computing devices.
🛠️
Developer Friendly.
MiniCPM-V 4.7 supports
inference frameworks
including SGLang, vLLM, llama.cpp, and Ollama, along with
fine-tuning frameworks
including SWIFT and LLaMA-Factory. It provides GGUF, BNB, AWQ, and GPTQ quantized variants and adds
FP8 quantization support
. We also release
Self-Replay Fine-Tuning
, a fine-tuning approach that helps developers extend model capabilities at low cost while reducing forgetting of existing capabilities, making further customization easier.
Smooth On-Device MoE Inference without compromising performance
An MoE model can have far more total parameters than it activates for a single token, but its on-device storage requirements are not limited to those active parameters. Different tokens can select different experts at different layers, while device memory often cannot hold all expert weights. Without a latency constraint, weights can remain on SSD or other storage, be loaded as needed, and be released after computation. This makes large-model inference possible, but repeated loading stalls can make decoding too slow for real-time interaction.
Another approach is to restrict the pool of available experts. For example, fixing an expert subset for an entire prompt can reduce loading frequency, but limits subsequent token-level routing to that subset, potentially excluding experts the model would otherwise select and reducing its capabilities. The central goal is therefore
smooth inference without compromising performance
: preserving model capability while delivering sufficient throughput under limited memory and bandwidth.
MiniCPM-V 4.7 35B-A3B addresses this challenge through three complementary techniques:
Lookahead Expert Scheduling (LES)
uses cross-layer routing prediction to preload experts likely to be needed by the next layer. Among the experts selected by the actual router, it prioritizes those successfully prefetched and overlaps their computation with loading the remaining required experts. Predictions guide only prefetching and scheduling; computation still follows the model's original token-level routing, and required experts missed by the prediction are loaded and evaluated as usual.
Fine-grained layer-wise quantization
reduces the storage footprint and memory traffic of expert weights while preserving model capability, making expert loading better suited to on-device memory and bandwidth constraints.
DSpark speculative sampling integration
incorporates speculative sampling into the on-device inference process, working with expert scheduling and quantization to improve decoding efficiency.
Together, these techniques make MiniCPM-V 4.7 35B-A3B the first open-source MoE model to run smoothly on-device without compromising performance, achieving
13+ tokens/s on iPhone 17 Pro Max
.
On-Device MoE Inference: Before and After Optimization
Evaluation
Significantly Advancing the Performance–Efficiency Pareto Frontier
The 35B-A3B variant of MiniCPM-V 4.7 advances the performance–efficiency Pareto frontier. In Instruct mode, 35B-A3B reaches a higher overall score in less inference time than Qwen3.6 35B-A3B.
Overall Performance (35B-A3B, Instruct)
Vision-Language
Language
Examples
MiniCPM-V 4.7 can run on phones and tablets. The clips below are unedited screen recordings captured directly on the devices.
35B-A3B
iPhone 17 Pro Max
35B-A3B
iPad M4
Usages
Inference with Transformers
Click to expand the Transformers inference examples.
Note on CUDA compatibility:
torchcodec
(used for video decoding) may have compatibility issues with certain CUDA versions. For example,
torch>=2.11
bundles CUDA 13.1 by default, while environments with CUDA 12.x may encounter errors such as
RuntimeError: Could not load libtorchcodec
. Two workarounds:
Replace
torchcodec
with
PyAV
— supports both image and video inference without CUDA version constraints:
pip install "transformers[torch]>=5.18.0" torchvision av
Pin the CUDA version
when installing torch to match your environment (e.g. CUDA 12.8):
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
model_id = "openbmb/MiniCPM-V-4.7-35B-A3B"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
model_id, torch_dtype="auto", device_map="auto"
)
# Flash Attention 2 is recommended for faster inference and lower GPU memory usage,# especially in multi-image and video scenarios.# model = AutoModelForImageTextToText.from_pretrained(# model_id,# torch_dtype=torch.bfloat16,# attn_implementation="flash_attention_2",# device_map="auto",# )
messages = [
{
"role": "user",
"content": [
{"type": "video", "url": "https://huggingface.co/datasets/openbmb/DemoCase/resolve/main/football.mp4"},
{"type": "text", "text": "Describe this video in detail. Follow the timeline and focus on on-screen text, interface changes, main actions, and scene changes."},
],
}
]
downsample_mode = "16x"# Using `downsample_mode="4x"` for Finer Detail
inputs = processor.apply_chat_template(
messages, tokenize=True, add_generation_prompt=True,
return_dict=True, return_tensors="pt",
downsample_mode=downsample_mode,
max_num_frames=128,
stack_frames=1,
max_slice_nums=1,
use_image_id=False,
enable_thinking=False,
).to(model.device)
generated_ids = model.generate(**inputs, downsample_mode=downsample_mode, max_new_tokens=2048)
generated_ids_trimmed = [
out_ids[len(in_ids):] for in_ids, out_ids inzip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text[0])
Advanced Parameters
You can customize image/video processing by passing additional parameters to
apply_chat_template
:
Parameter
Default
Applies to
Description
downsample_mode
"16x"
Image & Video
Visual token downsampling.
"16x"
merges tokens for efficiency;
"4x"
keeps four times as many tokens for finer detail.
Must also be passed to
generate()
.
max_slice_nums
9
Image & Video
Maximum number of slices when splitting a high-resolution image. Higher values preserve more detail for large images. Recommended:
36
for image,
1
for video.
max_num_frames
128
Video only
Maximum number of main frames sampled from the video.
stack_frames
1
Video only
Total sample points per second.
1
= main frame only (no stacking).
N
(N>1) = 1 main frame + N−1 sub-frames per second; the sub-frames are composited into a grid image and interleaved with main frames. Recommended:
3
or
5
.
use_image_id
True
Image & Video
Whether to prepend
<image_id>N</image_id>
tags before each image/frame placeholder. Recommended:
True
for image,
False
for video.
Note:
downsample_mode
must be passed to
both
apply_chat_template
(for correct placeholder count) and
generate
(for the vision encoder). All other parameters only need to be passed to
apply_chat_template
.
Serving with
transformers serve
Hugging Face Transformers includes a lightweight OpenAI-compatible server for quick testing and moderate-load deployment.
OpenVINO™
is an open-source toolkit for optimizing and deploying AI inference on Intel CPU/GPU/NPU platforms. OpenVINO provides day-0 support for MiniCPM-V-4.7 on Intel platforms with high-performance inference. See the
OpenVINO™ Toolkit
to get started. You can install and run the example with this notebook (link TBD).
On-Device Deployment
MiniCPM-V 4.7 supports deployment on iOS, Android, and HarmonyOS, with day-0 support for Rockchip, Houmo, Intel, AMD, and Arm chip platforms. See the
edge deployment repository
for the apps and source code.
MiniCPM-V-4.7-35B-A3B-int4 huggingface.co is an AI model on huggingface.co that provides MiniCPM-V-4.7-35B-A3B-int4's model effect (), which can be used instantly with this openbmb MiniCPM-V-4.7-35B-A3B-int4 model. huggingface.co supports a free trial of the MiniCPM-V-4.7-35B-A3B-int4 model, and also provides paid use of the MiniCPM-V-4.7-35B-A3B-int4. Support call MiniCPM-V-4.7-35B-A3B-int4 model through api, including Node.js, Python, http.
MiniCPM-V-4.7-35B-A3B-int4 huggingface.co is an online trial and call api platform, which integrates MiniCPM-V-4.7-35B-A3B-int4's modeling effects, including api services, and provides a free online trial of MiniCPM-V-4.7-35B-A3B-int4, you can try MiniCPM-V-4.7-35B-A3B-int4 online for free by clicking the link below.
openbmb MiniCPM-V-4.7-35B-A3B-int4 online free url in huggingface.co:
MiniCPM-V-4.7-35B-A3B-int4 is an open source model from GitHub that offers a free installation service, and any user can find MiniCPM-V-4.7-35B-A3B-int4 on GitHub to install. At the same time, huggingface.co provides the effect of MiniCPM-V-4.7-35B-A3B-int4 install, users can directly use MiniCPM-V-4.7-35B-A3B-int4 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
MiniCPM-V-4.7-35B-A3B-int4 install url in huggingface.co: