小白学大模型:多模态 Qwen2.5-VL

Qwen-VL 是阿里云研发的大规模视觉语言模型(Large Vision Language Model, LVLM)。Qwen-VL 可以以图像、文本、检测框作为输入,并以文本和检测框作为输出。Qwen-VL 系列模型性能强大,具备多语言对话、多图交错对话等能力,并支持中文开放域定位和细粒度图像识别与理解。

https://github.com/QwenLM/Qwen2.5-VL

技术交流

节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。

针对新人如何快速入门算法岗、如何准备面试攻略、面试常考点、大模型项目落地经验分享等热门话题进行了深入的讨论。

总结链接:《算法岗面试宝典》重磅发布!

喜欢本文记得收藏、关注、点赞。

在这里插入图片描述

安装方法

pip install git+https://github.com/huggingface/transformers accelerate
pip install qwen-vl-utils[decord]

模型硬件要求:

在这里插入图片描述

模型特性

  • 强大的文档解析能力:将文本识别升级为全文档解析,擅长处理多场景、多语言以及包含各种内置元素(手写文字、表格、图表、化学公式和乐谱)的文档。

  • 精准的对象定位跨格式支持:提升了检测、指向和计数对象的准确性,支持绝对坐标和JSON格式,以实现高级空间推理。

  • 超长视频理解和细粒度视频定位:将原生动态分辨率扩展到时间维度,增强对时长数小时的视频的理解能力,同时能够在秒级提取事件片段。

  • 增强的计算机和移动设备代理功能:借助先进的定位、推理和决策能力,为模型赋予智能手机和计算机上更出色的代理功能。

unsetunset使用案例unsetunset

基础图文问答

from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info

model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype="auto", device_map="auto"
)

# 传入文本、图像或视频
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)

多图输入

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "file:///path/to/image1.jpg"},
            {"type": "image", "image": "file:///path/to/image2.jpg"},
            {"type": "text", "text": "Identify the similarities between these images."},
        ],
    }
]

视频理解

  • Messages containing a images list as a video and a text query
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "video",
                "video": [
                    "file:///path/to/frame1.jpg",
                    "file:///path/to/frame2.jpg",
                    "file:///path/to/frame3.jpg",
                    "file:///path/to/frame4.jpg",
                ],
            },
            {"type": "text", "text": "Describe this video."},
        ],
    }
]

  • Messages containing a local video path and a text query
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "video",
                "video": "file:///path/to/video1.mp4",
                "max_pixels": 360 * 420,
                "fps": 1.0,
            },
            {"type": "text", "text": "Describe this video."},
        ],
    }
]

  • Messages containing a video url and a text query
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "video",
                "video": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-VL/space_woaudio.mp4",
                "min_pixels": 4 * 28 * 28,
                "max_pixels": 256 * 28 * 28,
                "total_pixels": 20480 * 28 * 28,
            },
            {"type": "text", "text": "Describe this video."},
        ],
    }
]

物体检测

  • 定位最右上角的棕色蛋糕,以JSON格式输出其bbox坐标

图片

  • 请以JSON格式输出图中所有物体bbox的坐标以及它们的名字,然后基于检测结果回答以下问题:图中物体的数目是多少?

图片

图文解析OCR

  • 请识别出图中所有的文字

图片

  • Spotting all the text in the image with line-level, and output in JSON format.

图片

  • 提取图中的:[‘发票代码’,‘发票号码’,‘到站’,‘燃油费’,‘票价’,‘乘车日期’,‘开车时间’,‘车次’,‘座号’],并且按照json格式输出。

图片

Agent & Computer Use

The user query:在盒马中,打开购物车,结算(到付款页面即可) (You have done the following operation on the current device):

图片

编辑推荐

系统地介绍大语言模型的提示词工程以及AI Agent的基本概念和设计方法论。许多用户在使用ChatGPT等AI工具时,常常感到困惑:为什么有时候能得到满意的回答,有时候却答非所问?通过本书,读者将学习如何构建有效的AI提示词,以及如何设计合理的对话流程,从而更好地驾驭AI工具。

### 阿里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]^。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值