MiniCPM-o 2.6 深度解析:端到端 8B 全模态模型的实时语音对话与多模态直播流实践指南
【免费下载链接】MiniCPM-VA Pocket-Sized MLLM for Ultra-Efficient Image and Video Understanding on Your Phone项目地址: https://gitcode.com/GitHub_Trending/mi/MiniCPM-V
MiniCPM-o 2.6 是 MiniCPM-o 系列中能力最强的一代全模态(Omni-modal)大模型,基于 SigLip-400M、Whisper-medium-300M、ChatTTS-200M 与 Qwen2.5-7B 以端到端方式构建,总参数量仅 8B,即可在手机、iPad 等端侧设备上同时完成图像理解、视频理解、实时语音对话与多模态直播流处理。本文以官方文档 docs/minicpm_o2dot6_en.md 为主体,结合仓库内的 WebUI 演示、模型服务器与依赖配置源码,系统梳理其架构设计、核心能力、评估表现,并给出可在本仓库直接落地的本地部署与使用方案,帮助你快速上手并理解其底层原理。
模型概览:8B 参数里的全模态端到端设计
MiniCPM-o 2.6 与 MiniCPM-V 2.6 相比实现了显著的能力提升,并引入了实时语音对话与**多模态直播流(multimodal live streaming)**两大新特性。其模型组成如下:
| 组件 | 规模 | 职责 |
|---|---|---|
| SigLip-400M | 400M | 视觉编码器,负责图像/视频帧特征提取 |
| Whisper-medium-300M | 300M | 音频编码器,负责语音与音频理解 |
| ChatTTS-200M | 200M | 语音解码器,负责流式语音合成输出 |
| Qwen2.5-7B | 7B | LLM 主干,统一处理文本、视觉、音频多模态序列 |
| 合计 | 8B | 端到端全模态模型 |
从仓库的 web_demos/minicpm-o_2.6/model_server.py 可以看到,推理时模型以AutoModel.from_pretrained(...)加载(默认openbmb/MiniCPM-o-2_6,torch_dtype=bfloat16、attn_implementation='sdpa'),并在加载后显式调用model.init_tts()初始化语音合成模块;这印证了文档所述“不同模态编码器/解码器以端到端方式连接并联合训练,仅使用 CE 损失”的架构事实。
六大核心能力详解
MiniCPM-o 2.6 的官方文档归纳了六项代表性能力,下面逐项展开。
1. 领先的视觉理解能力
MiniCPM-o 2.6 在 OpenCompass(8 个主流 benchmark 的综合评测)上取得70.2的平均分。文档指出,仅凭 8B 参数量,其单图理解能力即可与 GPT-4o-202405、Gemini 1.5 Pro、Claude 3.5 Sonnet 等大规模闭源模型比肩;在多图与视频理解上同样表现突出,并展现出有前景的上下文学习(in-context learning)能力。详细对比数据见下文“评估表现”一节。
2. 实时双语语音对话与可控音色
MiniCPM-o 2.6 支持中英双语实时语音对话,并且音色可在推理期灵活配置。文档指出其在 ASR、语音翻译(STT)等音频理解任务上表现优于 GPT-4o-realtime,同时在语义与声学两个维度的语音对话评估中处于开源社区领先水平,还支持情绪/语速/风格控制、端到端语音克隆、角色扮演等功能。
仓库源码为音色配置提供了直接证据:在 web_demos/minicpm-o_2.6/model_server.py 中,服务端预置了assets/ref_audios/下的多个参考音频(default.wav、female_example.wav、male_example.wav、video_default.wav),并维护customized_audio与customized_options字段用于注入自定义音色与风格选项——这正是文档所述“音频系统提示词确定助手音色”机制在工程侧的落地。
3. 多模态直播流(Multimodal Live Streaming)
作为全新特性,MiniCPM-o 2.6 可以独立于用户提问持续接收视频流与音频流,并支持实时语音交互。在 StreamingBench(面向实时视频理解、全源(视频+音频)理解与多模态上下文理解的综合 benchmark)上,其表现优于 GPT-4o-202408 与 Claude 3.5 Sonnet,在开源社区中处于领先水平。这套能力正是其能够在 iPad 等端侧设备上支撑实时多模态直播的基石。
4. 强 OCR 能力与可信行为
延续 MiniCPM-V 系列的能力,MiniCPM-o 2.6 可处理**任意宽高比、最高 180 万像素(如 1344x1344)**的图像,并在 OCRBench 上取得25B 以下参数模型的最佳成绩。此外,基于 RLAIF-V 与 VisCPM 技术,其在 MMHal-Bench 上体现出可信行为(trustworthy behaviors),并支持30 种以上语言的多语言能力。
5. 极致效率:Token 密度与端侧落地
MiniCPM-o 2.6 拥有领先的 token 密度(即每个视觉 token 编码的像素数):处理一张 1.8M 像素图像仅产生640 个视觉 token,比大多数模型少约 75%。token 数量的直接减少带来推理速度、首 token 时延、显存占用与功耗的全方位改善,使其能够在 iPad 等端侧设备上高效运行多模态直播流。
依据文档注释,Token Density 定义为“最大分辨率下每个视觉 token 编码的像素数”;对闭源模型则按其官方 API 文档定义的图像编码计费策略估算,属上界估计。
6. 多种易用路径
MiniCPM-o 2.6 提供了从轻量到高性能的完整使用方式:
- llama.cpp:支持在本地设备上进行高效 CPU 推理(当前仓库 README 提示:合并官方仓库之前,请使用 OpenBMB 维护的 llama.cpp 本地 fork);
- 量化版本:提供 [int4] 与 [GGUF] 两种格式的量化模型,共 16 种尺寸;
- vLLM:支持高吞吐、显存高效的推理部署;
- LLaMA-Factory 微调:可在新领域/新任务上进行微调,参见 docs/llamafactory_train_and_infer.md;
- 本地 WebUI Demo:即本仓库
web_demos/下的 Gradio 演示(下文详述); - 官方在线 Web Demo:可直接体验云端版本。
模型架构的三个关键设计
端到端全模态架构
不同模态的编码器/解码器以端到端方式连接并联合训练,以充分挖掘多模态知识。与常见的“流水线拼接”方案不同,整个模型仅用 CE 损失进行全量端到端训练,视觉、音频、文本与语音输出共享同一个 LLM 主干。
全模态直播流机制
为支持实时流式输入输出,MiniCPM-o 2.6 做了两件事:
- 将离线的模态编码器/解码器改造为**在线(streaming)**版本,支持流式输入与流式输出;
- 在 LLM 主干中设计了时分复用(Time-Division Multiplexing,TDM)机制,将并行的全模态流切成小周期时间片内的顺序信息,从而让单一 Transformer 主干以统一的方式处理多路同时到达的视频、音频与文本流。
可配置语音建模设计
模型设计了一套多模态系统提示词,包含传统的文本系统提示词与新增的音频系统提示词,后者用于确定助手的音色。这套设计使得音色可在推理期灵活配置,同时为端到端语音克隆与“基于描述的语音创建”(description-based voice creation)提供了基础。
评估表现一览
图像理解
下表为官方文档给出的图像理解对比(* 表示官方使用链式思维 prompting 评测,其中 MME 仅在 Cognition 集合上使用该技术;Token Density 定义见上文):
| Model | Size | Token Density | OpenCompass | OCRBench | MathVista mini | ChartQA | MMVet | MMStar | MME | MMB1.1 test | AI2D | MMMU val | HallusionBench | TextVQA val | DocVQA test | MathVerse mini | MathVision | MMHal Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GPT-4o-20240513 | - | 1088 | 69.9 | 736 | 61.3 | 85.7 | 69.1 | 63.9 | 2328.7 | 82.2 | 84.6 | 69.2 | 55.0 | - | 92.8 | 50.2 | 30.4 | 3.6 |
| Claude3.5-Sonnet | - | 750 | 67.9 | 788 | 61.6 | 90.8 | 66.0 | 62.2 | 1920.0 | 78.5 | 80.2 | 65.9 | 49.9 | - | 95.2 | - | - | 3.4 |
| Gemini 1.5 Pro | - | - | 64.4 | 754 | 57.7 | 81.3 | 64.0 | 59.1 | 2110.6 | 73.9 | 79.1 | 60.6 | 45.6 | 73.5 | 86.5 | - | 19.2 | - |
| GPT-4o-mini-20240718 | - | 1088 | 64.1 | 785 | 52.4 | - | 66.9 | 54.8 | 2003.4 | 76.0 | 77.8 | 60.0 | 46.1 | - | - | - | - | 3.3 |
| Cambrian-34B | 34B | 1820 | 58.3 | 591 | 50.3 | 75.6 | 53.2 | 54.2 | 2049.9 | 77.8 | 79.5 | 50.4 | 41.6 | 76.7 | 75.5 | - | - | - |
| GLM-4V-9B | 13B | 784 | 59.1 | 776 | 51.1 | - | 58.0 | 54.8 | 2018.8 | 67.9 | 71.2 | 46.9 | 45.0 | - | - | - | - | - |
| Pixtral-12B | 12B | 256 | 61.0 | 685 | 56.9 | 81.8 | 58.5 | 54.5 | - | 72.7 | 79.0 | 51.1 | 47.0 | 75.7 | 90.7 | - | - | - |
| VITA-1.5 | 8B | 784 | 63.3 | 741 | 66.2 | - | 52.7 | 60.2 | 2328.1 | 76.8 | 79.2 | 52.6 | 44.6 | - | - | - | - | - |
| DeepSeek-VL2-27B (4B) | 27B | 672 | 66.4 | 809 | 63.9 | 86.0 | 60.0 | 61.9 | 2253.0 | 81.2 | 83.8 | 54.0 | 45.3 | 84.2 | 93.3 | - | - | 3.0 |
| Qwen2-VL-7B | 8B | 784 | 67.1 | 866 | 58.2 | 83.0 | 62.0 | 60.7 | 2326.0 | 81.8 | 83.0 | 54.1 | 50.6 | 84.3 | 94.5 | 31.9 | 16.3 | 3.2 |
| LLaVA-OneVision-72B | 72B | 182 | 68.1 | 741 | 67.5 | 83.7 | 60.6 | 65.8 | 2261.0 | 85.0 | 85.6 | 56.8 | 49.0 | 80.5 | 91.3 | 39.1 | - | 3.5 |
| InternVL2.5-8B | 8B | 706 | 68.3 | 822 | 64.4 | 84.8 | 62.8 | 62.8 | 2344.0 | 83.6 | 84.5 | 56.0 | 50.1 | 79.1 | 93.0 | 39.5 | 19.7 | 3.4 |
| MiniCPM-V 2.6 | 8B | 2822 | 65.2 | 852* | 60.6 | 79.4 | 60.0 | 57.5 | 2348.4* | 78.0 | 82.1 | 49.8* | 48.1* | 80.1 | 90.8 | 25.7 | 18.3 | 3.6 |
| MiniCPM-o 2.6 | 8B | 2822 | 70.2 | 897* | 71.9* | 86.9* | 67.5 | 64.0 | 2372.0* | 80.5 | 85.8 | 50.4* | 51.9 | 82.0 | 93.5 | 41.4* | 23.1* | 3.8 |
可见 MiniCPM-o 2.6 在 OpenCompass、OCRBench、MathVista mini、MME、AI2D、MMHal Score 等关键指标上位列榜首,且在 8B 量级下显著拉开与同类开源模型的差距。
多图与视频理解
下表为多图/视频理解对比(* 表示官方自行评测了对方官方发布的 checkpoint):
| Model | Size | BLINK val | Mantis Eval | MIRB | Video-MME (wo / w subs) |
|---|---|---|---|---|---|
| GPT-4o-20240513 | - | 68.0 | - | - | 71.9/77.2 |
| GPT4V | - | 54.6 | 62.7 | 53.1 | 59.9/63.3 |
| VITA-1.5 | 8B | 45.0 | - | - | 56.1/58.7 |
| LLaVA-NeXT-Interleave 14B | 14B | 52.6 | 66.4 | 30.2 | - |
| LLaVA-OneVision-72B | 72B | 55.4 | 77.6 | - | 66.2/69.5 |
| MANTIS 8B | 8B | 49.1 | 59.5 | 34.8 | - |
| Qwen2-VL-7B | 8B | 53.2 | 69.6* | 67.6* | 63.3/69.0 |
| InternVL2.5-8B | 8B | 54.8 | 67.7 | 52.5 | 64.2/66.9 |
| MiniCPM-V 2.6 | 8B | 53.0 | 69.1 | 53.8 | 60.9/63.6 |
| MiniCPM-o 2.6 | 8B | 56.7 | 71.9 | 58.6 | 63.9/67.9 |
在 BLINK val、Mantis Eval、MIRB 三项多图能力指标上,MiniCPM-o 2.6 均为开源模型最佳(用下划线标注的次优/最优位置),视频理解亦接近闭源旗舰水平。
音频理解
官方文档给出 ASR(中/英)、AST(语音翻译)与情绪识别结果(* 表示官方自行评测):
| Task | Size | ASR (zh) CER↓ | ASR (en) WER↓ | AST BLEU↑ | Emotion ACC↑ | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| Dataset | AISHELL-1 | Fleurs zh | WenetSpeech test-net | LibriSpeech test-clean | GigaSpeech | TED-LIUM | CoVoST en2zh | CoVoST zh2en | MELD emotion | |
| GPT-4o-Realtime | - | 7.3* | 5.4* | 28.9* | 2.6* | 12.9* | 4.8* | 37.1* | 15.7* | 33.2* |
| Gemini 1.5 Pro | - | 4.5* | 5.9* | 14.3* | 2.9* | 10.6* | 3.0* | 47.3* | 22.6* | 48.4* |
| Qwen2-Audio-7B | 8B | - | 7.5 | - | 1.6 | - | - | 45.2 | 24.4 | 55.3 |
| Qwen2-Audio-7B-Instruct | 8B | 2.6* | 6.9* | 10.3* | 3.1* | 9.7* | 5.9* | 39.5* | 22.9* | 17.4* |
| VITA-1.5 | 8B | 2.16 | - | 8.4 | 3.4 | - | - | - | - | - |
| GLM-4-Voice-Base | 9B | 2.5 | - | - | 2.8 | - | - | - | - | - |
| MiniCPM-o 2.6 | 8B | 1.6 | 4.4 | 6.9 | 1.7 | 8.7 | 3.0 | 48.2 | 27.2 | 52.4 |
在绝大多数 ASR/AST 指标上,MiniCPM-o 2.6 都取得最优或次优成绩,其中三项中文 ASR 指标(CER)全部领先,表明其中文语音识别能力尤为突出。
语音生成(SpeechQA 与 AudioArena)
官方文档给出的语音对话评估结果(全部来自 AudioEvals,详见其配套评测工具):
| Task | Size | SpeechQA ACC↑ | G-Eval (10点)↑ | Semantic ELO↑ | Acoustic ELO↑ | Overall ELO↑ | UTMOS↑ | ASR-WER↓ | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Dataset | Speech Llama Q. | Speech Web Q. | Speech Trivia QA | Speech AlpacaEval | AudioArena | |||||
| GPT-4o-Realtime | - | 71.7 | 51.6 | 69.7 | 7.4 | 1157 | 1203 | 1200 | 4.2 | 2.3 |
| GLM-4-Voice | 9B | 50.0 | 32.0 | 36.4 | 5.1 | 999 | 1147 | 1035 | 4.1 | 11.7 |
| Llama-Omni | 8B | 45.3 | 22.9 | 10.7 | 3.9 | 960 | 878 | 897 | 3.2 | 24.3 |
| VITA-1.5 | 8B | 46.7 | 28.1 | 23.3 | 2.0 | - | - | - | - | - |
| Moshi | 7B | 43.7 | 23.8 | 16.7 | 2.4 | 871 | 808 | 875 | 2.8 | 8.2 |
| Mini-Omni | 1B | 22.0 | 12.8 | 6.9 | 2.5 | 926 | 803 | 865 | 3.4 | 10.0 |
| MiniCPM-o 2.6 | 8B | 61.0 | 40.0 | 40.2 | 5.1 | 1088 | 1163 | 1131 | 4.2 | 9.8 |
MiniCPM-o 2.6 在 UTMOS 上追平 GPT-4o-Realtime(4.2),在三个 SpeechQA 问答集合与 AudioArena 语义/声学 ELO 上均大幅领先其他开源模型,是开源社区语音对话的头部选手。
端到端语音克隆
官方文档在 Seed-TTS test-zh / test-en 上以 SIMO 相似度指标对比:
| Model | Seed-TTS test-zh SIMO↑ | Seed-TTS test-en SIMO↑ |
|---|---|---|
| F5-TTS | 76 | 67 |
| CosyVoice | 75 | 64 |
| FireRedTTS | 63 | 46 |
| MiniCPM-o 2.6 | 57 | 47 |
多模态直播流(StreamingBench)
官方文档给出的实时视频/全源/上下文理解对比:
| Model | Size | Real-Time Video Understanding | Omni-Source Understanding | Contextual Understanding | Overall |
|---|---|---|---|---|---|
| Gemini 1.5 Pro | - | 77.4 | 67.8 | 51.1 | 70.3 |
| GPT-4o-202408 | - | 74.5 | 51.0 | 48.0 | 64.1 |
| Claude-3.5-Sonnet | - | 74.0 | 41.4 | 37.8 | 59.7 |
| VILA-1.5 | 8B | 61.5 | 37.5 | 26.7 | 49.5 |
| LongVA | 7B | 63.1 | 35.9 | 30.2 | 50.7 |
| LLaVA-Next-Video-34B | 34B | 69.8 | 41.7 | 34.3 | 56.7 |
| Qwen2-VL-7B | 8B | 71.2 | 40.7 | 33.1 | 57.0 |
| InternVL2-8B | 8B | 70.1 | 42.7 | 34.1 | 57.0 |
| VITA-1.5 | 8B | 70.9 | 40.8 | 35.8 | 57.4 |
| LLaVA-OneVision-7B | 8B | 74.3 | 40.8 | 31.0 | 58.4 |
| InternLM-XC2.5-OL-7B | 8B | 75.4 | 46.2 | 33.6 | 60.8 |
| MiniCPM-V 2.6 | 8B | 72.4 | 40.2 | 33.4 | 57.7 |
| MiniCPM-o 2.6 | 8B | 79.9 | 53.4 | 38.5 | 66.0 |
MiniCPM-o 2.6 在“实时视频理解”维度上取得全场最高分 79.9,并超越 GPT-4o-202408 与 Claude 3.5 Sonnet 的总分,是开源直播流方案的领先者。
本地部署与使用实践
环境依赖
仓库根目录提供了 MiniCPM-o 2.6 的专用依赖清单 requirements_o2.6.txt,核心版本包括:
torch==2.3.1、torchaudio==2.3.1、torchvision==0.18.1transformers==4.44.2、accelerate==1.2.1、sentencepiece==0.2.0vector-quantize-pytorch==1.18.5、vocos==0.1.0(语音解码相关)soundfile==0.12.1、librosa==0.9.0、decord、moviepy(音频/视频处理)- Web Demo 侧:
gradio==4.44.1、fastapi、uvicorn、aiofiles==23.2.1、onnxruntime==1.20.1(VAD 推理)、modelscope_studio与pydantic==2.10.6
安装时可先按该清单锁定版本,再按需补充。注意:本地 Web 演示默认面向 NVIDIA GPU(cuda),如使用其他设备需参考各 demo 脚本中的说明自行调整。
启动 Gradio WebUI Demo
仓库在 web_demos/minicpm-o_2.6/chatbot_web_demo_o2.6.py 提供了开箱即用的聊天演示,其命令行参数如下:
| 参数 | 默认值 | 说明 |
|---|---|---|
--model | openbmb/MiniCPM-o-2_6 | HuggingFace 模型名或本地模型路径 |
--multi-gpus | False | 是否启用多 GPU 张量切分(如两块 10GB 显存) |
启动方式(NVIDIA GPU):
python web_demos/minicpm-o_2.6/chatbot_web_demo_o2.6.py脚本内部使用AutoModel.from_pretrained(model_path, trust_remote_code=True, torch_dtype=torch.bfloat16, init_audio=False, init_tts=False)加载模型,随后调用model.chat(...)完成图文对话推理;多 GPU 场景下通过accelerate的init_empty_weights+load_checkpoint_and_dispatch加载,并将视觉编码器、resampler 与首尾层显式分配到同一设备以保证一致性。从源码可见:
- 支持单图/多图上传与视频上传(
MultimodalInput); - 视频按 FPS 抽帧,最多取
MAX_NUM_FRAMES = 64帧; - 解码方式可在Beam Search / Sampling之间切换,并配有采样温度、top-p、repetition penalty 等滑块参数;
- 输出会自动剥离
<box>/<ref>等定位标记,方便直接阅读。
启动实时语音/直播流模型服务器
若需要实时语音对话与多模态直播流能力,可使用 web_demos/minicpm-o_2.6/model_server.py(FastAPI 服务):
| 参数 | 默认值 | 说明 |
|---|---|---|
--port | 32550 | 服务监听端口 |
--model | openbmb/MiniCPM-o-2_6 | HuggingFace 模型名或本地模型路径 |
python web_demos/minicpm-o_2.6/model_server.py --port 32550服务端在加载模型后调用model.init_tts()启用语音合成,并围绕流式交互做了工程化设计:
- VAD(语音活动检测):依赖 web_demos/minicpm-o_2.6/vad_utils.py 与
silero_vad.onnx,按 5 帧序列判定用户是否开口,实现实时语音打断与预填充(audio_prefill); - 音色参考:预置
assets/ref_audios/下多个参考音频(默认/男/女/视频),支持通过customized_audio注入自定义音色,对应文档所述的“可配置语音”与端到端语音克隆能力; - 会话状态机:
StreamManager统一管理流式输入、回复打断(stop_response)、流超时(无新流 3 秒)与会话超时(900 秒)等状态,支撑连续的实时交互。
量化与生态工具
官方文档与仓库 README 共同确认了以下使用路径(合并上游官方仓库之前,建议优先使用官方文档指明的本地 fork 版本,避免兼容性问题):
- llama.cpp(CPU 推理):适合无 GPU 的本地设备;
- int4 / GGUF 量化:共 16 种尺寸,可显著降低显存占用,便于在端侧或小显存环境运行;
- vLLM(高吞吐服务):适合并发要求高的场景;
- LLaMA-Factory 微调:支持在新领域/新任务上做 SFT 等训练,完整流程见 docs/llamafactory_train_and_infer.md。
端侧 Demo 与官方示例
官方将 MiniCPM-o 2.6 部署在端侧设备上进行了实测演示(iPad Pro 上的原始速度录像),并提供了网页版 Demo:
文档还附带了数学解题、图表/神经网络结构解读、多图(自行车比对)等典型用例截图:
延伸阅读
围绕 MiniCPM-o 2.6 及相关模型,本仓库还提供了以下可继续深入的材料:
- 中文版文档:docs/minicpm_o2dot6_zh.md
- 前代模型文档:docs/minicpm_v2dot6_zh.md、docs/minicpm_v2dot6_en.md
- 微调指南:docs/llamafactory_train_and_infer.md、docs/swift_train_and_infer.md
- 服务化部署:docs/xinference_infer.md、docs/api.md
- 最佳实践汇总:docs/best_practice_summary_zh.md
综上,MiniCPM-o 2.6 以 8B 参数的端到端全模态架构,同时覆盖了旗舰级视觉理解、实时中英双语语音对话、端到端语音克隆与多模态直播流,并通过 llama.cpp、量化(int4/GGUF)、vLLM、Gradio/FastAPI 服务等多条路径降低了落地门槛。开发者可直接基于本仓库的 Demo 脚本与依赖清单,在本地快速复现并二次开发属于自己的实时多模态应用。
【免费下载链接】MiniCPM-VA Pocket-Sized MLLM for Ultra-Efficient Image and Video Understanding on Your Phone项目地址: https://gitcode.com/GitHub_Trending/mi/MiniCPM-V
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考