本地部署Qwen2.5-VL-7B-Instruct多模态视觉大模型

本地部署Qwen2.5-VL-7B-Instruct大模型

Qwen2.5-VL简介

Qwen2.5-VL是由阿里巴巴通义千问团队推出的一款开源视觉语言模型,具有3B、7B和72B三种不同规模。该模型在视觉理解、多模态交互以及自动化任务执行等方面展现出卓越的能力。它能够识别常见物体,分析图像中的文本、图表等元素,并具备作为视觉Agent的能力,可以推理并动态使用工具,初步操作电脑和手机。在视频处理上,Qwen2.5-VL能够理解超过1小时的长视频,精准定位相关片段捕捉事件。此外,它还支持发票、表单等数据的结构化输出。Qwen2.5-VL采用了先进的技术,如动态分辨率和帧速率训练、精简高效的视觉编码器等,使其在处理多模态数据时更加高效和精准。在多个性能测试中,Qwen2.5-VL表现优异,尤其在文档和图表理解方面具有明显优势。相对于之前的版本,升级的能力如下:

  • 强大的文档解析能力: 文本识别升级为全文档解析,擅长处理多场景、多语言以及包含手写、表格、图表、化学公式和乐谱等多种内置元素的文档。
  • 精准的跨格式对象定位: 显著提升物体检测、指向和计数精度,支持绝对坐标和JSON格式,实现更高级的空间推理。
  • 超长视频理解和精细化视频定位: 将原生动态分辨率扩展到时间维度,增强对长达数小时的视频的理解能力,并能以秒级精度提取事件片段。
  • 增强的计算机和移动设备代理功能: 利用先进的定位、推理和决策能力,提升模型在智能手机和计算机上的代理功能。

模型结构图:

image-20250409142125202

之前的文章中部署了Qwen2.5-VL-Chat(通义Qwen-VL-Chat本地部署与测试),为了更好的用API接口编程,本文部署Qwen2.5-VL。

克隆Qwen2.5-VL代码及安装必须依赖

git clone https://github.com/QwenLM/Qwen2.5-VL.git
cd Qwen2.5-VL

修改一下requirements_web_demo.txt,默认安装的Transfomer版本不够,后面加载会出现报错,把其中的transformer删除。

pip install -r 
pip install qwen-vl-utils
pip install -U Transformers

下载模型

Qwen2.5-VL开源三个不同参数的大模型:

  1. 3B模型:在FP32模式下需要约12GB显存,FP16模式下需求减半至约6GB。
  2. 7B模型:通常需要至少24GB显存。
  3. 72B模型:非量化版本需要约160GB显存,而量化版本(如Int4)可以降低至40GB以上。

这里我下载7B模型:https://modelscope.cn/collections/Qwen25-VL-58fbb5d31f1d47

modelscope download --model Qwen/Qwen2.5-VL-7B-Instruct-AWQ

运行gradio demo示例

python web_demo_mm.py

这步时候报错,原因是直接用requirements_web_demo.txt中自动安装的gradio版本太高,而这个源码估计是用低版本写的,不太兼容,所以降低一下版本:

pip uninstall gradio -y
pip install gradio==3.50.2

image-20250409141413164

输入的图片如下:

image-20250409141443106

让模型描述一下这幅图是什么内容,输出:

image-20250409141526076image-20250409141526076

使用的API接口编程使用

通过Transformer接口调用

from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info

# default: Load the model on the available device(s)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype="auto", device_map="auto"
)

# We recommend enabling flash_attention_2 for better acceleration and memory saving, especially in multi-image and video scenarios.
# model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
#     "Qwen/Qwen2.5-VL-7B-Instruct",
#     torch_dtype=torch.bfloat16,
#     attn_implementation="flash_attention_2",
#     device_map="auto",
# )

# default processor
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")

# The default range for the number of visual tokens per image in the model is 4-16384.
# You can set min_pixels and max_pixels according to your needs, such as a token range of 256-1280, to balance performance and cost.
# min_pixels = 256*28*28
# max_pixels = 1280*28*28
# processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", min_pixels=min_pixels, max_pixels=max_pixels)

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
            },
            {"type": "text", "text": "Describe this image."},
        ],
    }
]

# Preparation for inference
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(model.device)

# Inference: Generation of the output
generated_ids = model.generate(**inputs, max_new_tokens=128)
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)

那么,如何系统的去学习大模型LLM?

作为一名从业五年的资深大模型算法工程师,我经常会收到一些评论和私信,我是小白,学习大模型该从哪里入手呢?我自学没有方向怎么办?这个地方我不会啊。如果你也有类似的经历,一定要继续看下去!这些问题啊,也不是三言两语啊就能讲明白的。

所以我综合了大模型的所有知识点,给大家带来一套全网最全最细的大模型零基础教程。在做这套教程之前呢,我就曾放空大脑,以一个大模型小白的角度去重新解析它,采用基础知识和实战项目相结合的教学方式,历时3个月,终于完成了这样的课程,让你真正体会到什么是每一秒都在疯狂输出知识点。

由于篇幅有限,⚡️ 朋友们如果有需要全套 《2025全新制作的大模型全套资料》,扫码获取~
在这里插入图片描述

👉大模型学习指南+路线汇总👈

我们这套大模型资料呢,会从基础篇、进阶篇和项目实战篇等三大方面来讲解。
在这里插入图片描述
在这里插入图片描述

👉①.基础篇👈

基础篇里面包括了Python快速入门、AI开发环境搭建及提示词工程,带你学习大模型核心原理、prompt使用技巧、Transformer架构和预训练、SFT、RLHF等一些基础概念,用最易懂的方式带你入门大模型。
在这里插入图片描述

👉②.进阶篇👈

接下来是进阶篇,你将掌握RAG、Agent、Langchain、大模型微调和私有化部署,学习如何构建外挂知识库并和自己的企业相结合,学习如何使用langchain框架提高开发效率和代码质量、学习如何选择合适的基座模型并进行数据集的收集预处理以及具体的模型微调等等。
在这里插入图片描述

👉③.实战篇👈

实战篇会手把手带着大家练习企业级的落地项目(已脱敏),比如RAG医疗问答系统、Agent智能电商客服系统、数字人项目实战、教育行业智能助教等等,从而帮助大家更好的应对大模型时代的挑战。
在这里插入图片描述

👉④.福利篇👈

最后呢,会给大家一个小福利,课程视频中的所有素材,有搭建AI开发环境资料包,还有学习计划表,几十上百G素材、电子书和课件等等,只要你能想到的素材,我这里几乎都有。我已经全部上传到CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述
相信我,这套大模型系统教程将会是全网最齐全 最易懂的小白专用课!!

### 阿里Qwen2.5-VL-7B多模态大模型本地部署教程 #### 准备工作 为了成功完成阿里Qwen2.5-VL-7B多模态大模型本地部署,需先准备好必要的环境配置以及相关工具。具体操作如下: 1. **克隆代码仓库** 使用Git命令获取官方发布的Qwen2.5-VL项目源码并安装所需依赖项。执行以下命令可以实现这一目标: ```bash git clone https://github.com/QwenLM/Qwen2.5-VL.git cd Qwen2.5-VL pip install -r requirements.txt ``` 这一步骤确保了开发环境中具备运行该模型所需的全部Python包[^3]。 2. **下载模型文件** 下载完整的Qwen2.5-VL-7B模型权重至指定目录下以便后续加载使用。通过ModelScope平台提供的命令行工具可轻松完成此任务: ```bash modelscope download --model Qwen/Qwen2.5-VL-7B-Instruct --local_dir /path/to/local/directory ``` 此处`/path/to/local/directory`应替换为你希望存储模型的实际路径位置[^1]。 #### 启动服务端口 当准备工作完成后,则可以通过启动HTTP API服务器来对外提供推理接口访问权限。利用vLLM框架能够显著提升性能表现水平,在实际测试过程中发现即使是拥有较大规模参数量级的大语言模型也能达到非常理想的响应速度效果。 启动指令如下所示: ```bash vllm serve Qwen/Qwen2.5-VL-7B-Instruct --port 8000 ``` 上述命令将会把监听地址绑定到本机IP上的8000端口号上等待客户端发起请求调用[^2]。 #### 测试验证环节 最后建议编写简单的脚本来检验整个流程是否正常运作无误。下面给出了一段基于Python SDK 的例子供参考学习之用: ```python import requests url = 'http://localhost:8000/v1/completions' payload = { "prompt": "你好", "max_tokens": 50, } headers = {"Content-Type": "application/json"} response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` 以上即为针对阿里巴巴集团推出的最新一代超大规模预训练加微调优化后的版本——Qwen2.5系列中的视觉语言理解方向子型号(Qwen2.5-VL)实施本地化私有云端实例的具体实施方案概述说明文档内容总结整理而成的结果呈现形式之一部分而已[^1]^。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值