Inference

命令行、Transformers 与 WebUI

MiniMind-V 支持原生 PyTorch 权重推理,也可以转换或下载 Transformers 格式模型,用 Gradio WebUI 做交互式图片问答。

1. 下载发布权重

modelscope download --model gongjy/minimind-3v-pytorch --local_dir ./out

原生 PyTorch 权重放在 out/,视觉编码器仍需要放在 model/siglip2-base-p32-256-ve/

2. 命令行推理

python eval_vlm.py --load_from model --weight sft_vlm

eval_vlm.py 会遍历 dataset/eval_images/ 下的图片,使用默认 prompt:

<image>
请描述这张图中的主要物体和场景。

脚本中 prompt.replace('<image>', image_special_token * image_token_len) 对应教程前面讲过的占位符展开。

3. Transformers 格式

git clone https://huggingface.co/jingyaogong/minimind-3v
python eval_vlm.py --load_from minimind-3v

--load_from 不是 model 时,脚本走 AutoModelForCausalLM.from_pretrained(..., trust_remote_code=True),然后补上本地视觉编码器。

4. 启动 WebUI

cp -r minimind-3v ./scripts/minimind-3v
cd scripts
python web_demo_vlm.py

scripts/web_demo_vlm.py 会扫描 scripts/ 下包含权重文件的模型目录,并在界面里提供模型切换。它使用 Gradio 的聊天组件,上传图片后把图像转成 pixel values,再走 model.generate

5. 权重格式转换

scripts/convert_vlm.py 提供 PyTorch 权重与 Transformers 格式之间的转换。转换到 Transformers 时会注册 VLMConfigMiniMindVLM,保存 tokenizer,并写入必要的 config 字段。

转换前确认路径:脚本默认从 ../out/sft_vlm_768_moe.pth 这类文件读取,并依赖 ../model/siglip2-base-p32-256-ve

6. 常用生成参数

参数默认值影响
--max_new_tokens512回答最长生成 token 数。
--temperature0.7越高越随机,越低越稳定。
--top_p0.85nucleus sampling 阈值。
--use_moe0加载 MoE 权重时需要设为 1。
--open_thinking0是否开启 tokenizer chat template 的 thinking 相关选项。