讲师中心 微信公众号
AI工具推荐 视频效率加速

Python 多模态大模型的 LLaVA / Qwen-VL 推理

星晨吖_9149

星晨吖_9149

发布时间:2026-02-16 12:12:52

|

1063人浏览过

|

来源于php中文网

原创

多模态模型部署常见问题包括:AutoProcessor加载失败需手动构造;Qwen-VL属性名不匹配需查dir(model);多图输入须单图处理;显存优化需降精度、调图像尺寸并避免torch.compile。

python 多模态大模型的 llava / qwen-vl 推理

LLaVA 加载模型时卡在 AutoProcessor.from_pretrained

常见现象是下载卡住、报 ConnectionError 或返回空 processor。这不是代码写错了,而是 Hugging Face 默认尝试加载远程 tokenizer + image processor 配置,但部分多模态模型(如原始 LLaVA-1.5)没把 processor 配置推到 Hub,或用了非标准字段。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 手动构造 processor:用 CLIPImageProcessor 处理图像,LlamaTokenizer(或对应 base 模型的 tokenizer)处理文本,别依赖 AutoProcessor
  • 检查模型路径是否含 llava-v1.5 类字样——这类权重通常不带完整 processor,得按其 GitHub README 手动拼接组件
  • 若用 llava-hf/llava-1.5-7b-hf 这类 HF 官方封装版,确认 transformers >= 4.36,旧版本会因缺少 LlavaProcessor 类而 fallback 失败

Qwen-VL 推理时报错 AttributeError: 'Qwen2VLForConditionalGeneration' object has no attribute 'model'

这是 transformers 版本和模型结构不匹配的典型症状。Qwen-VL 系列(尤其是 Qwen2-VL)内部结构和 LLaMA 不同,它的语言模型主干叫 language_model,不是通用的 model 属性。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 别直接调 model.model 或 model.transformer ——先 print dir(model) 看真实属性名
  • 图像 token 插入逻辑必须走 model.get_vision_tower() 和 model.get_mm_projector(),不能硬套 LLaVA 的 model.vision_tower
  • 使用 qwen-vl 官方 repo 的 QwenVLProcessor,而非 transformers 自带的 AutoProcessor,后者不识别 image 字段的嵌套格式

多图输入时 batch 推理崩掉或输出错乱

LLaVA / Qwen-VL 均不原生支持「单 prompt + 多图」的 batch 维度对齐。你传入 [img1, img2] 和一个 prompt,模型内部会把两张图 flatten 成一串 patch tokens,但 attention mask 和 position id 很容易没对齐,导致生成乱码或 CUDA error。

Generate images & videos with: Gemini 3 Pro Image + Qwen Wan 2.6 (video) via one API key
Generate images & videos with: Gemini 3 Pro Image + Qwen Wan 2.6 (video) via one API key

使用AIsa生成图像与视频。仅需一个API密钥即可调用Gemini 3 Pro Image(图像)和Qwen Wan 2.6(视频)。

下载

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 强制单图 per sample:哪怕你要比对两张图,也拆成两个独立样本,用 torch.cat 合并 logits 再后处理
  • Qwen-VL 支持 patch_size 动态缩放,但 batch 内所有图必须等宽高比,否则 image_grid_thw 计算会出错;预处理时统一 resize + pad,别只 crop
  • LLaVA 的 image_newline token 是 per-image 插入的,batch 中某张图缺这个 token,整个 batch 的 token offset 就全偏了

本地部署时显存爆掉,OOM when allocating tensor

多模态模型的视觉编码器(ViT)本身就很吃显存,再加上大语言模型,哪怕 7B 参数 + 448×448 图像,A100 80G 也可能扛不住。问题常出在图像预处理阶段:默认用 float32 加载 PIL 图,再转 tensor,中间没释放。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 图像加载后立刻 .to(torch.bfloat16) 或 .half(),ViT encoder 通常兼容,别等进 model 才转
  • 禁用 torch.compile:目前多模态 forward 中存在动态 shape(如不同图 patch 数不同),torch.compile 会反复 recompile 导致显存泄漏
  • Qwen-VL 的 max_image_size 默认是 1280,实际推理时设成 448 或 512 能省一半显存,但注意别小到让文字区域被裁掉

真正麻烦的是图像 token 和文本 token 的长度耦合——改图尺寸不仅影响 vision encoder,还牵连 language model 的 KV cache 长度。这点很容易被忽略,调参时得两边一起看。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

3040

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

269

2026.02.03

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1009

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3080

2023.10.25

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

14206

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

1685

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

3917

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

6081

2024.03.01

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn