跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

QVQ-72B 视觉推理大模型开源评测与代码实现

QVQ-72B 是通义千问团队发布的视觉推理大模型,基于 Qwen2-VL-72B 训练,参数量达 72B。该模型在 MMMU 榜单突破 70 分,具备较强的多模态逻辑推理能力,但存在中英文混杂、循环推理及幻觉风险。文章详细介绍了模型背景、性能评估及基于 Transformers 库的代码实现流程,涵盖环境配置、Prompt 构造、推理参数设置等关键技术点,为开发者提供完整的接入指南。

dehua dong发布于 2025/2/6更新于 2026/9/1178 浏览
QVQ-72B 视觉推理大模型开源评测与代码实现

QVQ-72B 视觉推理大模型开源评测与代码实现

引言

通义千问团队继开源代码推理模型 QWQ 之后,再次推出视觉推理大模型 QVQ-72B。该模型基于 Qwen2-VL-72B 进一步训练而来,旨在提升多模态场景下的复杂推理能力。本文将对 QVQ-72B 的性能表现、潜在问题及代码实践进行详细解析。

模型背景与架构

参数规模的重要性

QVQ 选择了 72B 参数量级,而非更小的 7B 版本。这主要考虑到 o1 式推理(Chain of Thought)对模型容量的要求。较小的参数量往往难以支撑复杂的思维链生成,导致推理效果不佳。QWQ 系列同样从 32B 起步,验证了大参数在逻辑推理任务中的关键作用。

技术基础

QVQ-72B 并非从零训练,而是建立在成熟的 Qwen2-VL-72B 视觉语言模型基础上。通过引入专门的推理指令微调(Instruction Tuning),模型被赋予了更强的逐步思考能力,使其在处理需要多步逻辑推导的视觉问题时表现更佳。

性能评估

基准测试表现

在 MMMU(Massive Multi-discipline Multimodal Understanding)等权威榜单上,QVQ-72B 取得了突破性成绩,分数突破 70 分。相较于基座模型 Qwen2-VL-72B,其在复杂视觉推理任务上的整体效果有显著提升。同时,该模型在多项指标上能够对标部分闭源商业模型,展现了开源模型的竞争力。

适用场景

  • 复杂图表分析:能够理解包含数据趋势、逻辑关系的图表。
  • 数学几何推理:结合图像信息进行几何证明或计算。
  • 科学实验解读:分析实验装置图并推导结论。

局限性与风险

尽管 QVQ-72B 表现优异,但在当前 Preview 版本中仍存在以下需要注意的问题:

  1. 语言混乱:模型可能在中英文之间出现无意识的切换,影响输出的一致性。
  2. 循环推理:模型容易陷入自我重复的思维循环,导致回复内容冗长,甚至无法给出最终答案。
  3. 安全性考量:作为预览版,安全对齐可能尚未完善,需警惕潜在的有害输出。
  4. 幻觉风险:随着推理步骤的增加,模型可能逐渐偏离图像实际内容,产生幻觉。因此,它不能完全替代 Qwen2-VL-72B 用于简单的视觉问答任务。

快速开始指南

环境依赖

使用前请确保安装以下核心库:

pip install transformers torch qwen-vl-utils accelerate

代码实现

以下是使用 Hugging Face Transformers 加载和运行 QVQ-72B 的标准示例。请注意系统提示词(System Prompt)的特殊设置,这是触发推理模式的关键。

from transformers import Qwen2VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
import torch

# 1. 加载模型
# 使用 device_map="auto" 可自动分配 GPU 资源,适合单卡或多卡环境
model = Qwen2VLForConditionalGeneration.from_pretrained(
    "Qwen/QVQ-72B-Preview",
    torch_dtype="auto",
    device_map="auto"
)

# 2. 加载处理器 (Processor)
processor = AutoProcessor.from_pretrained("Qwen/QVQ-72B-Preview")

# 3. 构建对话消息
# 注意:system prompt 中包含 "think step-by-step" 以激活推理能力
messages = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are a helpful and harmless assistant. You are Qwen developed by Alibaba. You should think step-by-step."}
        ],
    },
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/QVQ/demo.png",
            },
            {"type": "text", "text": "What value should be filled in the blank space?"},
        ],
    }
]

# 4. 输入准备
# apply_chat_template 将消息转换为模型可接受的文本格式
text = processor.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)

# 处理视觉信息
image_inputs, video_inputs = process_vision_info(messages)

inputs = processor(
    text=[text],
    images=image_inputs,
    videos=video_inputs,
    padding=True,
    return_tensors="pt",
)

# 将数据移至指定设备
inputs = inputs.to("cuda")

# 5. 模型推理
# max_new_tokens 设置为 8192 以支持长思维链生成
generated_ids = model.generate(**inputs, max_new_tokens=8192)

# 6. 结果解码
# 移除输入部分的 token,仅保留生成的内容
generated_ids_trimmed = [
    out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]

output_text = processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)

print(output_text)

最佳实践建议

  1. 温度设置 (Temperature):推理任务通常建议使用较低的温度(如 0.1-0.3)以保证逻辑的严谨性,避免发散。
  2. 截断检查:由于模型可能陷入循环,建议在应用层监控输出长度,若超过阈值则强制终止。
  3. 多轮交互:对于复杂问题,可将推理过程拆解为多轮对话,引导模型逐步完成。
  4. 本地部署:72B 模型显存占用较大,建议至少配备双卡 A100/A800 或消费级高端显卡组合,或使用量化版本以降低资源需求。

总结

QVQ-72B 是通义千问在视觉推理领域的重要探索,为开发者提供了强大的开源工具。虽然目前存在语言混合和循环推理等挑战,但其展现出的潜力足以支持科研与工程落地。建议开发者在使用时关注其局限性,并结合具体业务场景进行适当的后处理与优化。

更多模型详情可访问 Hugging Face 官方仓库:https://huggingface.co/Qwen/QVQ-72B-Preview

目录

  1. QVQ-72B 视觉推理大模型开源评测与代码实现
  2. 引言
  3. 模型背景与架构
  4. 参数规模的重要性
  5. 技术基础
  6. 性能评估
  7. 基准测试表现
  8. 适用场景
  9. 局限性与风险
  10. 快速开始指南
  11. 环境依赖
  12. 代码实现
  13. 1. 加载模型
  14. 使用 device_map="auto" 可自动分配 GPU 资源,适合单卡或多卡环境
  15. 2. 加载处理器 (Processor)
  16. 3. 构建对话消息
  17. 注意:system prompt 中包含 "think step-by-step" 以激活推理能力
  18. 4. 输入准备
  19. applychattemplate 将消息转换为模型可接受的文本格式
  20. 处理视觉信息
  21. 将数据移至指定设备
  22. 5. 模型推理
  23. maxnewtokens 设置为 8192 以支持长思维链生成
  24. 6. 结果解码
  25. 移除输入部分的 token,仅保留生成的内容
  26. 最佳实践建议
  27. 总结

更多推荐文章

查看全部
  • ComfyUI 本地部署 Stable Diffusion 的实操记录
  • 前端实战:使用 CSS 实现毛玻璃风格登录页面
  • 快速排序算法原理及多种实现方式
  • Windows 环境 Claude Code Git Bash 依赖修复方案
  • 2024 AI 进阶指南:AIGC、AGI 与 ChatGPT 精选书籍推荐
  • 2026 AI大模型实战:零基础玩转当下最火的AIGC
  • Android 陀螺仪开发:从基础到 VR 运动策略封装
  • 海螺 AI 多模态架构解析与 API 接入指南
  • Coze 工作流实战:逻辑控制、数据处理与 AIGC 多媒体应用
  • 多进制奇偶校验检查器(HTML+CSS+JS 纯前端实现)
  • OpenClaw 多 Agent 协作模式:构建 AI 助手团队
  • DeepSeek 深度使用指南:提示词技巧与本地知识库搭建
  • LoRA 微调 LLaMA 类模型:原理与实战指南
  • Android 陀螺仪开发实战:从传感器数据到角度积分
  • 基于 FPGA 的铝片表面缺陷检测系统设计与实现
  • Spring 整合 Shiro 使用 Redis 缓存会话时报错排查与解决
  • 数据结构初阶:树的概念、术语及表示方法
  • OpenAI 发布 GPT-5 系列:标准版、Mini 与 Nano 解析
  • C++ 继承机制详解:访问权限、同名隐藏与派生类默认成员函数
  • 前端数据可视化工具选型指南:如何匹配需求与性能

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online