- 大模型
- 多模态
- 基础模型
- 模型量化
- 本地部署
- 计算机视觉
- openBMB
【免费下载链接】MiniCPM-V-4.7-35B-A3B-GPTQ
MiniCPM-V-4.7-35B-A3B-GPTQ 是 MiniCPM-V 4.7 视觉多模态 MoE 大模型的 GPTQ(W4A16)量化版本。本文整理该模型的完整参数配置清单:包括官方推荐的采样参数(temperature、top_p、top_k 等)默认值与调优建议、apply_chat_template的高级参数,以及 GPTQ 量化方案的完整解读,帮你快速完成推理配置。
模型概况:35B 总参数、3B 激活的 MoE 多模态模型
MiniCPM-V 4.7 是 MiniCPM-V 系列的首个 MoE 架构模型,支持单图、多图与视频理解。仓库中的关键信息:
| 项目 | 数值 | 说明 |
|---|---|---|
| 总参数 / 激活参数 | 35B / A3B | MoE 混合专家,每 token 仅激活约 3B 参数 |
| 专家数量 | 256 个,每 token 选 8 个 | 见 config.jsonnum_experts、num_experts_per_tok |
| 上下文长度 | 262144 | max_position_embeddings,超 25 万 token 长上下文 |
| 量化方式 | GPTQ W4A16(int4 权重 / 16 位激活) | group_size=128、actorder=static |
| 注意力 | 线性注意力 + 每 4 层 1 次全注意力 | full_attention_interval=4 |
💡 由于 MoE 的稀疏激活特性,该模型在 iPhone 17 Pro Max 上可跑出 13+ tokens/s 的解码速度(约 3 GB 内存),这也是"35B-A3B"命名的由来。
配置文件清单:仓库里有哪些关键文件
| 文件 | 作用 |
|---|---|
| config.json | 模型结构、视觉编码器、GPTQ 量化配置 |
| generation_config.json | 默认生成/采样参数 |
| recipe.yaml | GPTQ 量化方案(llm-compressor) |
| preprocessor_config.json | 图像/视频预处理默认值 |
| processor_config.json | 处理器与切图(slice)默认值 |
| chat_template.jinja | 对话模板 |
| README.md | 官方用法与推荐参数说明 |
| model.safetensors.index.json | 两个分片权重的索引映射 |
推荐采样参数清单:官方 instruct 模式参数表
官方在 README.md 中给出的 instruct 模式推荐采样参数如下,直接照抄即可:
| 参数 | 推荐值 | 作用 | 调优建议 |
|---|---|---|---|
do_sample | True | 启用随机采样 | 贪心解码可设为False,结果更确定但易重复 |
temperature | 0.7 | 采样温度 | 偏低(0.5–0.7)更稳定;偏高(0.8–1.0)更发散 |
top_p | 0.95 | 核采样阈值 | 与top_k同时生效时取更严格者 |
top_k | 100 | 候选词数量上限 | 小样本场景可降到 20–50 收敛输出 |
min_p | 0.0 | 相对概率下限 | 默认关闭即可 |
presence_penalty | 0 | 话题惩罚 | 出现跑题/复读时可调到 0.3–1.0 |
repetition_penalty | 1.03 | 重复惩罚 | 轻惩罚抑制套话,过高会损伤自然度 |
⚠️ 注意 generation_config.json 中的默认值是temperature=1.0、top_k=20、top_p=0.95(见 generation_config.json#L3-L10)。默认配置更"随机保守",而官方推荐值(temperature=0.7、top_k=100)在问答与视觉理解任务上表现更好。建议在generate()中显式传入上表参数覆盖默认值。
最小可运行的推理片段
generated_ids = model.generate( **inputs, downsample_mode="16x", # 必须与 apply_chat_template 保持一致 max_new_tokens=512, # 官方推荐 instruct 模式采样参数 do_sample=True, temperature=0.7, top_p=0.95, top_k=100, min_p=0.0, presence_penalty=0, repetition_penalty=1.03, )高级参数调优:图像与视频处理参数
除采样参数外,README.md 提供了 5 个高级参数,全部通过apply_chat_template传入,用于在"视觉细节"与"推理成本"之间权衡:
| 参数 | 默认值 | 适用范围 | 说明与推荐 |
|---|---|---|---|
downsample_mode | "16x" | 图像 + 视频 | 视觉 token 压缩比:"16x"省算力,"4x"保留 4 倍 token 看更细细节。必须同时传给generate() |
max_slice_nums | 9 | 图像 + 视频 | 高分辨率图切分数上限。官方推荐:图像 36、视频 1 |
max_num_frames | 128 | 仅视频 | 主帧采样上限,长视频可下调以省显存 |
stack_frames | 1 | 仅视频 | 每秒采样点数:1仅主帧;推荐3或5(主帧+子帧网格合成) |
use_image_id | True | 图像 + 视频 | 是否在每张图前加<image_id>N标签。推荐:图像True,视频False |
默认值可在 processor_config.json 中核对,例如downsample_mode="16x"、max_slice_nums=9、max_num_frames=128、stack_frames=1、use_image_id=true。
按场景的参数组合(速查)
- 🔍OCR / 文档 / 小目标识别:
downsample_mode="4x"+max_slice_nums=36+use_image_id=True,牺牲速度换细节。 - 🖼️常规图像问答:
downsample_mode="16x"+max_slice_nums=9(默认)即可。 - 🎬长视频理解:
max_slice_nums=1+max_num_frames=128+use_image_id=False;动作快的视频把stack_frames提到3或5,max_new_tokens相应放大到 2048。 - ⚡端侧 / 低显存:保持
16x压缩 + 适度降低max_num_frames,配合 GPTQ 4 位权重可显著降低内存占用。
📌 常见坑:
downsample_mode只传给apply_chat_template而没传给generate(),会导致占位 token 数量与视觉编码器输出不匹配而报错。
GPTQ 量化配置详解:recipe.yaml 与 config.json
本仓库是 W4A16 GPTQ 量化版本,量化方案由 recipe.yaml 定义(llm-compressor 的GPTQModifier):
| 配置项 | 值 | 含义 |
|---|---|---|
scheme | W4A16 | 权重 4 位整型、激活 16 位,通用且兼容性好 |
block_size | 128 | 每 128 个权重共享一组 scale/zero-point(对应config.json中group_size: 128) |
actorder | static | 静态排序优化 GPTQ 误差传播 |
dampening_frac | 0.01 | Hessian 阻尼系数,提升量化数值稳定性 |
requires_calibration_data | true | 量化时使用校准数据集 |
targets/ignore | 仅Linear | 视觉塔、merger、self_attn、linear_attn、mlp.gate、shared_expert、lm_head等保持 BF16 不量化 |
量化后的完整配置记录在 config.json 的quantization_config字段(quant_method: compressed-tensors,format: pack-quantized)。
🧠解读:只对专家路由的专家矩阵做 4 位量化,注意力、门控、视觉编码器保留全精度——这既省显存,又保住了 MoE 路由精度与视觉质量,是端侧流畅推理的关键设计之一。
架构参数速查:text_config 关键项
以下为 config.jsontext_config中值得了解的结构参数(一般无需改动,供排查问题与估算显存时参考):
| 参数 | 值 | 说明 |
|---|---|---|
hidden_size | 2048 | 语言模型隐层维度 |
num_hidden_layers | 40 | 40 层,layer_types中标注线性/全注意力分布 |
num_attention_heads/num_key_value_heads | 16 / 2 | GQA,KV 头压缩利于长上下文缓存 |
head_dim | 256 | 每头维度 |
rope_theta | 10000000 | 大 RoPE 基频,支撑 262144 上下文 |
partial_rotary_factor | 0.25 | 仅 25% 维度应用旋转位置编码 |
vocab_size | 248144 | 含图像/视频特殊 token(image_token_id=248056、video_token_id=248057) |
mrope_section | [11, 11, 10] | 多模态 RoPE 的 t/h/w 分段(mrope_mode: canvas) |
视觉侧(vision_config):27 层 ViT、hidden_size=1152、patch_size=14,原始输入分辨率 980、缩放基准 448,并通过merge_kernel_size=[2,2]+merger_times=1做视觉 token 合并。
常见问题速答
Q1:为什么建议用官方推荐参数而不是 generation_config 默认值?默认temperature=1.0 + top_k=20适合探索性生成;官方推荐的temperature=0.7 + top_k=100 + top_p=0.95是在图像/视频问答基准上验证过的 instruct 模式最优组合,回答更准确稳定。
Q2:4 位量化会明显掉点吗?本仓库采用"W4 权重 + BF16 激活 + 关键模块不量化"的策略,配合block_size=128细粒度分组,精度损失远小于整层粗粒度量化,官方也将其定位为性能-效率帕累托前沿方案。
Q3:显存不够怎么办?依次尝试:downsample_mode="16x"(已是高压缩)、降低max_slice_nums、视频降低max_num_frames、单卡改为device_map="auto"多卡分片。
总结
配置 MiniCPM-V-4.7-35B-A3B-GPTQ 的核心就三件事:
- 采样参数:
temperature=0.7, top_p=0.95, top_k=100, min_p=0.0, presence_penalty=0, repetition_penalty=1.03; - 视觉参数:按任务在
4x/16x压缩与max_slice_nums之间权衡,图像 36 / 视频 1; - 量化参数:无需干预,
recipe.yaml已定义好 W4A16、block_size=128、静态 actorder 的 GPTQ 方案。
照着本文清单配置,即可在图像、视频、OCR 等不同场景下快速获得稳定输出。
- 大模型
- 多模态
- 基础模型
- 模型量化
- 本地部署
- 计算机视觉
- openBMB
【免费下载链接】MiniCPM-V-4.7-35B-A3B-GPTQ
相关推荐
MiniCPM-V-4.7-35B-A3B-mxfp4配置文件详解:config.json与量化配置关键参数完全参考
MiniCPM V 4.7 35B A3B mxfp4配置文件详解:config.json与量化配置关键参数完全参考 MiniCPM V 4.7 35B A3B
downsample_mode、max_slice_nums、stack_frames都怎么用:MiniCPM-V 4.7-35B-A3B-FP8高级参数调优手册
downsample_mode、max_slice_nums、stack_frames都怎么用:MiniCPM V 4.7 35B A3B FP8高级参数调优手
大模型多模态模型量化本地部署openBMB图片细节识别不准怎么办?MiniCPM-V-4.7-35B-A3B-mxfp8下采样模式与采样参数调优完全指南
图片细节识别不准怎么办?MiniCPM V 4.7 35B A3B mxfp8下采样模式与采样参数调优完全指南 用 MiniCPM V 4.7 35B A3B
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考