【本地部署教程】Qwen2.5-VL 阿里最新开源最强的开源视觉大模型,支持视频!

image.png

简介

Qwen2.5-VL,Qwen 模型家族的旗舰视觉语言模型,对比此前发布的 Qwen2-VL 实现了巨大的飞跃。欢迎访问 Qwen Chat 并选择 Qwen2.5-VL-72B-Instruct 进行体验。此外,阿里在 Hugging Face 和 ModelScope 上开源了 Qwen2.5-VL 的 Base 和 Instruct 模型,包含 3B、7B 和 72B 在内的 3 个模型尺寸。

Qwen2.5-VL 的主要特点如下所示:

  • 感知更丰富的世界:Qwen2.5-VL 不仅擅长识别常见物体,如花、鸟、鱼和昆虫,还能够分析图像中的文本、图表、图标、图形和布局。

  • Agent:Qwen2.5-VL 直接作为一个视觉 Agent,可以推理并动态地使用工具,初步具备了使用电脑和使用手机的能力。

  • 理解长视频和捕捉事件:Qwen2.5-VL 能够理解超过 1 小时的视频,并且这次它具备了通过精准定位相关视频片段来捕捉事件的新能力。

  • 视觉定位:Qwen2.5-VL 可以通过生成 bounding boxes 或者 points 来准确定位图像中的物体,并能够为坐标和属性提供稳定的 JSON 输出。

  • 结构化输出:对于发票、表单、表格等数据,Qwen2.5-VL 支持其内容的结构化输出,惠及金融、商业等领域的应用。

模型性能

通过对视觉语言模型进行了全面的评估,比较了 SOTA 模型以及同尺寸规模模型中表现最好的模型。在旗舰模型 Qwen2.5-VL-72B-Instruct 的测试中,它在一系列涵盖多个领域和任务的基准测试中表现出色,包括大学水平的问题、数学、文档理解、视觉问答、视频理解和视觉 Agent。值得注意的是,Qwen2.5-VL 在理解文档和图表方面具有显著优势,并且能够作为视觉 Agent 进行操作,而无需特定任务的微调。

image.png

在较小的模型方面,Qwen2.5-VL-7B-Instruct 在多个任务中超越了 GPT-4o-mini,而 Qwen2.5-VL-3B 作为端侧 AI 的潜力股,甚至超越了之前版本 Qwen2-VL 的 7B 模型。

image.png

image.png

模型能力案例

1. 万物识别

Qwen2.5-VL 显著增强了其通用图像识别能力,大幅扩大了可识别的图像类别量级。不仅包括植物、动物、著名山川的地标,还包括影视作品中的 IP,以及各种各样的商品。

用户:这些景点是什么?请用中文和英文说出他们的名字。

image.png

Qwen2.5-VL
这些景点是:
1. 左上角: The Great Pyramids of Giza (埃及的吉萨大金字塔)
2. 右上角: The Great Wall of China (中国的长城)
3. 左下角: The Statue of Liberty (美国的自由女神像)
4. 右下角: The Terracotta Army (中国的秦始皇兵马俑)

2. 精准的视觉定位

Qwen2.5-VL 采用矩形框和点的多样化方式对通用物体定位,可以实现层级化定位和规范的 JSON 格式输出。增强的定位能力为复杂场景中的视觉 Agent 进行理解和推理任务提供了基础。

用户:检测图像中的所有摩托车手,
### 部署Qwen2.5-VL模型的本地环境设置 为了在本地环境中成功部署Qwen2.5-VL模型,需先安装必要的依赖库并配置运行环境。通常情况下,这类大型语言模型对于硬件的要求较高,建议使用配备有高性能GPU的工作站来加速推理过程[^1]。 #### 安装Python及相关包 确保已安装最新版本的Python解释器(推荐3.8以上),接着通过pip命令安装所需的软件包: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 pip install transformers sentencepiece ``` 上述指令会下载PyTorch框架及其扩展模块,以及Hugging Face提供的`transformers`库——这是加载预训练模型的关键组件之一[^2]。 #### 下载Qwen2.5-VL模型权重文件 访问官方资源页面获取最新Qwen2.5-VL模型参数,并将其保存至指定目录下。如果网络条件允许的话,也可以利用`transformers`库内置的功能自动拉取远程仓库中的模型实例: ```python from transformers import AutoModelForVision2Seq, AutoProcessor model_name_or_path = "Qwen/Qwen-2.5-VL" processor = AutoProcessor.from_pretrained(model_name_or_path) model = AutoModelForVision2Seq.from_pretrained(model_name_or_path) ``` 这段代码片段展示了如何借助于`AutoModelForVision2Seq`类快速初始化一个多模态视觉转序列生成任务专用的大规模预训练模型对象;而`AutoProcessor`则负责处理输入图像数据以便适配给定架构的需求。 #### 构建服务接口 完成前述准备工作之后,可以考虑构建RESTful API或者其他形式的服务端点用于接收外部请求并向用户提供预测结果。Flask是一个轻量级Web应用开发框架,在此场景中非常适合用来搭建简易服务器原型: ```python from flask import Flask, request, jsonify import base64 from PIL import Image from io import BytesIO app = Flask(__name__) @app.route('/predict', methods=['POST']) def predict(): img_b64 = request.json.get('image') image_data = base64.b64decode(img_b64.split(',')[1]) input_image = Image.open(BytesIO(image_data)) inputs = processor(images=input_image, return_tensors="pt") generated_ids = model.generate(**inputs) output_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0] response = {'output': output_text} return jsonify(response) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) ``` 该脚本定义了一个简单的HTTP POST路由/predict,它接受JSON格式的数据作为输入,其中包含经过Base64编码后的图片字符串。接收到客户端发送过来的消息后,程序会对传入的内容解码成PIL.Image对象再传递给处理器进行前向传播计算最终返回识别出来的文本描述信息。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值