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

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

通义千问团队继开源代码推理模型 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 版本中仍存在以下需要注意的问题:
使用前请确保安装以下核心库:
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)
QVQ-72B 是通义千问在视觉推理领域的重要探索,为开发者提供了强大的开源工具。虽然目前存在语言混合和循环推理等挑战,但其展现出的潜力足以支持科研与工程落地。建议开发者在使用时关注其局限性,并结合具体业务场景进行适当的后处理与优化。
更多模型详情可访问 Hugging Face 官方仓库:https://huggingface.co/Qwen/QVQ-72B-Preview

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online