MiniCPM-V-4.6-GPTQ INT4 C256 P6K CTX8K on AXERA NPU
Ready-to-run deployment package for openbmb/MiniCPM-V-4.6-GPTQ on AX650 / NPU3.
The packaged text runtime uses the GPTQ INT4 AX650 build.
The compiled text profile uses prefill_len=256, kv_cache_len=8191, and a last_kv_cache_len ladder up to 6144 (P6K).
The packaged vision runtime uses a fixed-shape 448x448 MiniCPM-V-4.6 vision encoder.
The package supports text-only chat, single-image understanding, and video understanding through axllm.
The default runtime config keeps video content available for later text-only follow-up turns.
The package includes sample image and video assets for board-side validation.
Supported Platform
AX650 / NPU3
Performance
All measurements below were taken on AX650 / NPU3 with the packaged axllm serve runtime. TTFT stands for time to first token.
For the rows below, TTFT is measured end-to-end from request arrival to the first generated token. The image row uses the packaged assets/sample.png image. The video row uses the packaged assets/red-panda-openai.mp4 sample with video:/path/to/video.mp4:2. The long-context row uses a text-only retrieval prompt that fills the packaged P6K profile to 6260 input tokens and asks the model to recover an exact code placed near the beginning of the prompt.
Scenario
Input tokens
Prefill chunks
TTFT
Decode
Text-only smoke prompt
23
1 x 256
313.71 ms
n/a (single-token reply)
Image prompt
88
1 x 256
307.94 ms
17.84 token/s
Video prompt
1207
5 x 256
1661.86 ms
18.11 token/s
Long-context text retrieval
6260
25 x 256
10331.60 ms
18.28 token/s
The packaged runtime uses the following context layout:
prefill_len=256
kv_cache_len=8191
prefill_max_token_num=6400
In the validated long-context text retrieval run above, the model returned the expected exact code from the beginning of the prompt.
Multi-turn Long Dialogue Validation
The packaged text runtime was validated with an accumulated 6-turn conversation that filled the history close to the P6K profile and then repeatedly recalled facts introduced in the earliest turn.
Board-side results showed that:
the earliest facts remained correct across all six turns
short recall turns stayed around 506-508 ms TTFT
requests beyond the current context budget returned a clear context-length error instead of hanging or producing corrupted output
Video Follow-up Validation
The packaged axllm binary was also validated with a video-first conversation followed by text-only turns that continue discussing the same video content.
Board-side results:
text
1TURN1: The video shows a red panda and another red panda playing with a rope.
2TURN2: 2
3TURN3: rope
During this validation, later text-only turns answered correctly without re-sending the video input.
Startup Runtime Footprint
Item
Value
Flash total (.axmodel files + embedding bin)
1.80 GiB (1843.49 MiB)
Package flash total (excluding runtime-generated vision_cache/)
1.82 GiB (1861.63 MiB)
Runtime CMM increment during board-side startup
1.57 GiB (1611.54 MiB)
Runtime process RSS after startup
72.80 MiB (74544 KB)
The runtime CMM increment above was measured on a shared AX650 board by comparing /proc/ax_proc/mem_cmm_info before and after service startup. On the validated board, CMM usage increased from 275020 KB to 1925236 KB.
Vision Encoder Latency
The packaged vision encoder is the same fixed-shape 448x448 AX650 encoder used by the current AX650 GPTQ package, so its standalone latency is unchanged.
Model
Resolution
Soft Tokens
Time (ms)
minicpmv4_6_vision_448.axmodel
448x448
64
235.285 ms avg
For the shipped vision encoder:
vision_width = 448
vision_height = 448
vision_patch_size = 14
patch grid = (448 / 14) x (448 / 14) = 32 x 32
raw patch tokens = 32 x 32 = 1024
packaged visual compression path = 16x
Soft Tokens = 1024 / 16 = 64
Soft Tokens is fixed by the packaged vision encoder in this repository and is not a runtime-configurable value.
This package keeps the runtime files at the repository root so it can be served directly by axllm.
Board-side multimodal runs may create a temporary vision_cache/ directory at the repository root. That directory is runtime-generated and should not be included in release uploads.
Sample Image
The package includes a sample image for board-side validation:
assets/sample.png
sample
Sample Video
The package includes a sample video for board-side validation:
1{2"choices":[3{4"message":{5"role":"assistant",6"content":"The image shows a colorful, cartoon-style red lobster or lobster-like character with a cheerful expression, raised claws, and a dynamic pose."7},8"finish_reason":"stop"9}10],11"model":"AXERA-TECH/MiniCPM-V-4.6-GPTQ-AX650-INT4-C256-P6K-CTX8K",12"object":"chat.completion"13}
Video Request
axllm serve accepts either a frames directory or a raw video file.
To test the packaged sample video from the package root:
VIDEO_PATH="$(pwd)/assets/red-panda-openai.mp4"
Then use video:${VIDEO_PATH}:2 in the request payload:
1{2"choices":[3{4"message":{5"role":"assistant",6"content":"The video shows two red pandas, one on a branch and the other on the ground, interacting with a rope."7},8"finish_reason":"stop"9}10],11"model":"AXERA-TECH/MiniCPM-V-4.6-GPTQ-AX650-INT4-C256-P6K-CTX8K",12"object":"chat.completion"13}
Conversion References
If you need the original model files or want to rebuild the deployment artifacts, start with: