psd模板免费下载网站,python可以做网站吗,更改WordPress注册页面,甘肃企业网站建设1.简介
在 Qwen2-VL 发布后的五个月里#xff0c;众多开发者基于该视觉语言模型开发了新的模型#xff0c;并向 Qwen 团队提供了极具价值的反馈。在此期间#xff0c;Qwen 团队始终致力于打造更具实用性的视觉语言模型。今天#xff0c;Qwen 家族的最新成员——Qwen2.5-VL…1.简介
在 Qwen2-VL 发布后的五个月里众多开发者基于该视觉语言模型开发了新的模型并向 Qwen 团队提供了极具价值的反馈。在此期间Qwen 团队始终致力于打造更具实用性的视觉语言模型。今天Qwen 家族的最新成员——Qwen2.5-VL正式登场。
主要增强功能
直观地理解事物 Qwen2.5-VL 不仅能熟练识别花、鸟、鱼和昆虫等常见物体还能高度分析文本、图表、图标、图形和图像中的布局。具有代理功能 Qwen2.5-VL 可直接扮演视觉代理能够推理和动态指挥工具既能在电脑上使用也能在手机上使用。理解长视频并捕捉事件 Qwen2.5-VL可以理解1小时以上的视频这次又增加了通过精确定位相关视频片段来捕捉事件的能力。不同格式的可视化定位能力 Qwen2.5-VL 可通过生成边框或点来精确定位图像中的对象并能为坐标和属性提供稳定的 JSON 输出。生成结构化输出用于扫描发票、表格、表格等数据。Qwen2.5-VL 支持对其内容进行结构化输出有利于金融、商业等领域的使用。
相较上一代模型架构更新
动态分辨率和帧速率训练促进视频理解通过采用动态 FPS 采样qwen团队将动态分辨率扩展到了时间维度使模型能够理解各种采样率的视频。相应地qwen团队在时间维度上对 mRoPE 进行了更新增加了 ID 和绝对时间对齐使模型能够学习时间顺序和速度最终获得精确定位特定时刻的能力。精简高效的视觉编码器qwen团队通过在 ViT 中战略性地实施窗口关注提高了训练和推理速度。通过 SwiGLU 和 RMSNorm 进一步优化了 ViT 架构使其与 Qwen2.5 LLM 的结构保持一致。
Qwen2.5-vl有三个模型参数分别为 30、70 和 720 亿。此版本包含经过指令调整的 7B Qwen2.5-VL 模型。 -
模型权重地址魔搭社区魔搭社区
模型权重地址huggingfacehttps://huggingface.co/collections/Qwen/qwen25-vl-6795ffac22b334a837c0f9a5
官方博客Qwen2.5 VL! Qwen2.5 VL! Qwen2.5 VL! | Qwen
github地址https://github.com/QwenLM/Qwen2.5-VL
体验地址Qwen Chat -
-
2.效果
Qwen团队将Qwen2.5-vl模型与 SOTA 模型以及类似模型规模的最佳模型进行了评估。就旗舰模型 Qwen2.5-VL-72B-Instruct 而言它在一系列涵盖领域和任务的基准测试中取得了极具竞争力的性能其中包括大学难题、数学、文档理解、一般问题解答、数学、视频理解和视觉代理。值得注意的是Qwen2.5-VL 在理解文档和图表方面具有显著优势而且无需针对特定任务进行微调就能扮演视觉代理的角色。 在小型模型方面Qwen2.5-VL-7B-Instruct 在多项任务中的表现优于 GPT-4o-mini而作为边缘人工智能解决方案的 Qwen2.5-VL-3B 甚至优于之前版本 Qwen2-VL 的 7B 模型。 全球图像识别
Qwen2.5-VL大幅增强了通用图像识别能力将图像类别扩展到超多。不仅包括植物、动物、名山大川的地标还包括电影和电视剧中的 IP 以及各种产品。 精确的目标定位
Qwen2.5-VL 利用边界框和基于点的表示法进行定位从而实现分层定位和标准化 JSON 输出。这种增强的定位能力为可视化推理奠定了基础。 - - 增强文本识别和理解能力
Qwen2.5-VL将OCR识别能力提升到了一个新的水平增强了多场景、多语言、多方向的文本识别和文本本地化性能。此外Qwen2.5-VL 在信息提取方面也有大幅提升以满足资质审查和金融业务等领域日益增长的数字化和智能化需求。 - - 强大的文档解析功能
Qwen2.5-VL 设计了一种名为 QwenVL HTML 格式的独特文档解析格式可提取基于 HTML 的布局信息。QwenVL HTML 可以在各种场景下执行文档解析如杂志、研究论文、网页甚至手机截图。 - !DOCTYPE html
html langen
headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0title淘宝许愿淘彩头分25亿/titlestylebody {background-color: #4a0d6e;margin: 0;padding: 0;font-family: Arial, sans-serif;color: white;text-align: center;}.header {display: flex;justify-content: space-between;align-items: center;padding: 10px;}.header h1 {margin: 0;color: gold;}.content {padding: 20px;}.wish-options {display: flex;justify-content: center;gap: 10px;margin-top: 20px;}.wish-option {width: 100px;height: 200px;border-radius: 10px;padding: 10px;box-sizing: border-box;cursor: pointer;}.selected {background-color: gold;}.unselected {background-color: purple;}.footer {margin-top: 20px;}.button {background-color: gold;border: none;padding: 10px 20px;border-radius: 5px;cursor: pointer;}/style
/head
bodydiv classheaderdivimg srcback_arrow.png altBack/divh1淘宝·许愿淘彩头分25亿/h1divimg srcmore_options.png altMore Options/div/divdiv classcontentp许下新年心愿得红包/pimg srcgolden_lantern.png altGolden Lanterndiv classwish-optionsdiv classwish-option selected福寿康宁/divdiv classwish-option unselected我想免费周游世界/divdiv classwish-option unselected追随自己的热情/div/divdiv classfooterbutton classbutton换一批 | 定制心愿/buttonp许下你的定制心愿更灵验哦/pbutton classbutton许愿拿红包 /button/div/div
/body
/html增强视频理解能力
Qwen2.5-VL 的视频理解能力得到了全面升级。在时间处理方面Qwen团队引入了动态帧频FPS训练和绝对时间编码技术。因此该模型不仅能支持以小时为单位的超长视频理解还能实现二级事件定位。它能够准确理解长达数小时的超长视频内容搜索视频中的特定事件并总结不同时间段的关键点。这样用户就能快速高效地提取视频中的关键信息。 - -
-
3.使用方法
环境安装
Qwen2.5-VL 的代码已收录在最新的transformers中建议使用命令从源代码构建
pip install githttps://github.com/huggingface/transformers accelerate
否则可能遇到以下错误
KeyError: qwen2_5_vl
Qwen团队提供了一个工具包帮助我们更方便地处理各种类型的可视输入就像使用 API 一样。其中包括 base64、URL 以及交错图片和视频。可以使用以下命令安装它
# Its highly recommanded to use [decord] feature for faster video loading.
pip install qwen-vl-utils[decord]0.0.8
如果您使用的不是 Linux您可能无法从 PyPI 安装 decord。在这种情况下您可以使用 pip install qwen-vl-utils这会退回到使用 torchvision 进行视频处理。不过您仍然可以从源代码中安装 decord以便在加载视频时使用 decord。
-
使用transformers进行推理
单图推理
from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
from modelscope import snapshot_downloadmodel_dirsnapshot_download(Qwen/Qwen2.5-VL-7B-Instruct) # 从modelscope中下载Qwen2.5-VL模型的权重文件并将其保存到本地目录model_dir中。# 默认方法
model Qwen2_5_VLForConditionalGeneration.from_pretrained( # 加载模型。model_dir, torch_dtypeauto, device_mapauto # torch_dtypeauto表示自动选择合适的张量数据类型device_mapauto表示自动将模型分配到可用的设备如GPU上。
)# 以下注释部分提供了另一种加载方式启用了flash_attention_2这是一种优化技术可以提高模型在多图像和视频场景下的加速和内存节省。
# model Qwen2_5_VLForConditionalGeneration.from_pretrained(
# Qwen/Qwen2.5-VL-7B-Instruct,
# torch_dtypetorch.bfloat16,
# attn_implementationflash_attention_2,
# device_mapauto,
# )# 使用AutoProcessor加载处理器它将用于处理文本和视觉输入数据。
processor AutoProcessor.from_pretrained(model_dir)# 模型中每幅图像的视觉token数默认范围为 4-16384。
# 用于设置模型处理图像时的像素范围。通过调整min_pixels和max_pixels可以在性能和成本之间进行平衡。例如设置为256-1280的像素范围。
# min_pixels 256*28*28
# max_pixels 1280*28*28
# processor AutoProcessor.from_pretrained(Qwen/Qwen2.5-VL-7B-Instruct, min_pixelsmin_pixels, max_pixelsmax_pixels)messages [ # 一个messages列表包含了用户输入的内容。其中包含一个图像的URL和一段文字提示“Describe this image.”。{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中的文本内容转换为模型可以理解的格式并添加生成提示。messages, tokenizeFalse, add_generation_promptTrue
)
image_inputs, video_inputs process_vision_info(messages) # 从messages中提取图像和视频信息。
inputs processor( # 将文本、图像和视频输入组合成一个输入字典并将其转换为PyTorch张量。text[text],imagesimage_inputs,videosvideo_inputs,paddingTrue,return_tensorspt,
)
inputs inputs.to(cuda) # 将输入数据移动到GPU上如果可用。generated_ids model.generate(**inputs, max_new_tokens128) # 调用模型生成输出。max_new_tokens128表示生成的输出最多包含128个新token。
generated_ids_trimmed [ # 从生成的generated_ids中移除输入部分只保留生成的输出部分。out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text processor.batch_decode( # 将生成的token ID解码为文本。generated_ids_trimmed, skip_special_tokensTrue, clean_up_tokenization_spacesFalse
)
print(output_text)
多图推理
# Messages containing multiple images and a text query
messages [{role: user,content: [{type: image, image: file:///path/to/image1.jpg}, # file:///协议指定本地路径{type: image, image: file:///path/to/image2.jpg},{type: text, text: Identify the similarities between these images.},],}
]# Preparation for inference
text processor.apply_chat_template( # 将messages中的文本内容转换为模型可以理解的格式并添加生成提示。messages, tokenizeFalse, add_generation_promptTrue
)
image_inputs, video_inputs process_vision_info(messages) # 从messages中提取图像和视频信息。在这个例子中video_inputs为空因为输入中没有视频。
inputs processor( # 将文本、图像和视频输入组合成一个输入字典并将其转换为PyTorch张量。text[text],imagesimage_inputs,videosvideo_inputs,paddingTrue,return_tensorspt,
)
inputs inputs.to(cuda) # 将输入数据移动到GPU上如果可用。# Inference
generated_ids model.generate(**inputs, max_new_tokens128) # 调用模型生成输出。max_new_tokens128表示生成的输出最多包含128个新token。
generated_ids_trimmed [ # 从生成的generated_ids中移除输入部分只保留生成的输出部分。out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text processor.batch_decode( # 将生成的token ID解码为文本。generated_ids_trimmed, skip_special_tokensTrue, clean_up_tokenization_spacesFalse
)
print(output_text)
视频推理
对于视频文件我们可以使用3种方法引入模型
视频由图像帧列表组成本地视频文件路径视频URL
# 视频由图像帧列表组成
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 [{role: user,content: [{type: video,video: file:///path/to/video1.mp4,max_pixels: 360 * 420,fps: 1.0,},{type: text, text: Describe this video.},],}
]# 视频URL
messages [{role: user,content: [{type: video,video: https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-VL/space_woaudio.mp4,},{type: text, text: Describe this video.},],}
]#在 Qwen 2.5 VL 中帧频信息也被输入到模型中以便与绝对时间保持一致。
# Preparation for inference
text processor.apply_chat_template( 将messages中的文本内容转换为模型可以理解的格式并添加生成提示。messages, tokenizeFalse, add_generation_promptTrue
)
image_inputs, video_inputs, video_kwargs process_vision_info(messages, return_video_kwargsTrue) # process_vision_info从messages中提取图像和视频信息。return_video_kwargsTrue表示返回与视频处理相关的参数如帧率fps
inputs processor( # processor将文本、图像和视频输入组合成一个输入字典并将其转换为PyTorch张量。fps参数用于指定视频的帧率。text[text],imagesimage_inputs,videosvideo_inputs,fpsfps,paddingTrue,return_tensorspt,**video_kwargs,
)
inputs inputs.to(cuda) # inputs.to(cuda)将输入数据移动到GPU上如果可用# Inference
generated_ids model.generate(**inputs, max_new_tokens128) # 调用模型生成输出。max_new_tokens128表示生成的输出最多包含128个新token。
generated_ids_trimmed [ # 从生成的generated_ids中移除输入部分只保留生成的输出部分。out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text processor.batch_decode( # 将生成的token ID解码为文本。generated_ids_trimmed, skip_special_tokensTrue, clean_up_tokenization_spacesFalse
)
print(output_text)
注意视频 URL 兼容性主要取决于第三方库的版本。如果不想使用默认后端可通过 FORCE_QWENVL_VIDEO_READERtorchvision 或 FORCE_QWENVL_VIDEO_READERdecord 更改后端。 批量推理 # 代码中定义了两组不同的输入消息用于批量处理
messages1 [{role: user,content: [{type: image, image: file:///path/to/image1.jpg},{type: image, image: file:///path/to/image2.jpg},{type: text, text: What are the common elements in these pictures?},],}
]
messages2 [{role: system, content: You are a helpful assistant.},{role: user, content: Who are you?},
]# 将两组消息合并为一个列表用于批量处理。
messages [messages1, messages2]# Preparation for batch inference
texts [processor.apply_chat_template(msg, tokenizeFalse, add_generation_promptTrue)for msg in messages
] # 对每组消息应用模板将文本内容转换为模型可以理解的格式并添加生成提示。
image_inputs, video_inputs process_vision_info(messages) # 从所有消息中提取图像和视频信息。
inputs processor( # 将文本、图像和视频输入组合成一个输入字典并将其转换为PyTorch张量。texttexts,imagesimage_inputs,videosvideo_inputs,paddingTrue,return_tensorspt,
)
inputs inputs.to(cuda) # 将输入数据移动到GPU上如果可用。# Batch Inference
generated_ids model.generate(**inputs, max_new_tokens128) # 调用模型生成输出。max_new_tokens128表示生成的输出最多包含128个新token。
generated_ids_trimmed [ # 从生成的generated_ids中移除输入部分只保留生成的输出部分。out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_texts processor.batch_decode( # 将生成的token ID解码为文本。generated_ids_trimmed, skip_special_tokensTrue, clean_up_tokenization_spacesFalse
)
print(output_texts) 图片调用方法
Qwen2.5-vl支持的图片调用有三种以下是他们的详细使用方法
本地文件路径URL网页Base64编码图像
# 你可以在文本中想要插入的位置直接插入本地文件路径、URL 或 base64 编码的图片。
## 本地文件路径
messages [{role: user,content: [{type: image, image: file:///path/to/your/image.jpg},{type: text, text: Describe this image.},],}
]
## URL
messages [{role: user,content: [{type: image, image: http://path/to/your/image.jpg},{type: text, text: Describe this image.},],}
]
## Base64 encoded image
messages [{role: user,content: [{type: image, image: data:image;base64,/9j/...},{type: text, text: Describe this image.},],}
]
图像分辨率 该模型支持多种分辨率输入。默认情况下它使用本机分辨率进行输入但更高的分辨率会以更多计算量为代价提高性能。用户可以根据自己的需要设置最小和最大像素数以达到最佳配置例如令牌数范围为 256-1280从而在速度和内存使用之间取得平衡。
min_pixels 256 * 28 * 28
max_pixels 1280 * 28 * 28
processor AutoProcessor.from_pretrained(Qwen/Qwen2.5-VL-7B-Instruct, min_pixelsmin_pixels, max_pixelsmax_pixels
) 此外Qwen团队还提供了两种方法来精细控制输入模型的图像尺寸
定义 min_pixels 和 max_pixels 图像将在 min_pixels 和 max_pixels 的范围内调整大小以保持长宽比。注意这个是保持长宽比进行缩放指定精确尺寸 直接设置 resized_height 和 resized_width。这些值将四舍五入为最接近的 28 的倍数。注意这个不会保持长宽比进行缩放
# min_pixels and max_pixels
messages [{role: user,content: [{type: image,image: file:///path/to/your/image.jpg,resized_height: 280,resized_width: 420,},{type: text, text: Describe this image.},],}
]
# 调整高度和宽度
messages [{role: user,content: [{type: image,image: file:///path/to/your/image.jpg,min_pixels: 50176,max_pixels: 50176,},{type: text, text: Describe this image.},],}
]
处理长文本
当前的 config.json 设置为上下文长度不超过 32,768 个字节。为了处理超过 32,768 个字节的大范围输入Qwen团队使用了 YaRN这是一种增强模型长度外推的技术可确保在处理长文本时获得最佳性能。
对于支持的框架可在 config.json 中添加以下内容以启用 YaRN
{ ..., “type” “yarn“, ”mrope_section [ 16, 24, 24 ], “factor” 4,“original_max_position_embeddings” 32768 }
不过需要注意的是这种方法对时间和空间定位任务的性能有很大影响因此不建议使用。
同时对于长视频输入由于 MRoPE 本身更节省 id因此可直接将 max_position_embeddings 修改为更大的值如 64k。 -
使用魔搭社区API进行推理
可在对应界面点开API-Inference直接复制代码 代码如下记得将api_key替换掉
from openai import OpenAIclient OpenAI(base_urlhttps://api-inference.modelscope.cn/v1/,api_keyYour Key, # ModelScope Token
)response client.chat.completions.create(modelQwen/Qwen2.5-VL-7B-Instruct, # ModelScope Model-Idmessages[{role:user,content: [{type: text,text: 描述这幅图,}, {type: image_url,image_url: {url:https://modelscope.oss-cn-beijing.aliyuncs.com/demo/images/audrey_hepburn.jpg,},}],}],streamTrue
)for chunk in response:print(chunk.choices[0].delta.content, end, flushTrue) API-Inference文档https://www.modelscope.cn/docs/model-service/API-Inference/intro
-
微调
接下来介绍使用ms-swift对Qwen/Qwen2.5-VL-7B-Instruct进行微调。ms-swift是魔搭社区官方提供的大模型与多模态大模型微调部署框架。
ms-swift开源地址https://github.com/modelscope/ms-swift
首先安装ms-swift的环境
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e . 图像OCR微调
安装完成后直接在命令行使用
MAX_PIXELS1003520 \CUDA_VISIBLE_DEVICES0 \swift sft \ --model Qwen/Qwen2.5-VL-7B-Instruct \ --dataset AI-ModelScope/LaTeX_OCR:human_handwrite#20000 \ --train_type lora \ --torch_dtype bfloat16 \ --num_train_epochs 1 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --learning_rate 1e-4 \ --lora_rank 8 \ --lora_alpha 32 \ --target_modules all-linear \ --freeze_vit true \ --gradient_accumulation_steps 16 \ --eval_steps 50 \ --save_steps 50 \ --save_total_limit 5 \ --logging_steps 5 \ --max_length 2048 \ --output_dir output \ --warmup_ratio 0.05 \ --dataloader_num_workers 4
自定义数据集格式如下system字段可选只需要指定--dataset dataset_path即可
{messages: [{role: user, content: 浙江的省会在哪}, {role: assistant, content: 浙江的省会在杭州。}]}
{messages: [{role: user, content: imageimage两张图片有什么区别}, {role: assistant, content: 前一张是小猫后一张是小狗}], images: [/xxx/x.jpg, xxx/x.png]}视频微调
参数含义可以查看https://swift.readthedocs.io/zhcn/latest/Instruction/%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0.html#id18nproc_per_node2
命令行使用
CUDA_VISIBLE_DEVICES0,1 \NPROC_PER_NODE$nproc_per_node \VIDEO_MAX_PIXELS100352 \FPS_MAX_FRAMES24 \swift sft \ --model Qwen/Qwen2.5-VL-7B-Instruct \ --dataset swift/VideoChatGPT:all \ --train_type lora \ --torch_dtype bfloat16 \ --num_train_epochs 1 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --learning_rate 1e-4 \ --lora_rank 8 \ --lora_alpha 32 \ --target_modules all-linear \ --freeze_vit true \ --gradient_accumulation_steps $(expr 16 / $nproc_per_node) \ --eval_steps 50 \ --save_steps 50 \ --save_total_limit 5 \ --logging_steps 5 \ --max_length 2048 \ --output_dir output \ --warmup_ratio 0.05 \ --dataloader_num_workers 4 \ --deepspeed zero2
自定义数据集格式如下system字段可选只需要指定--dataset dataset_path即可
{messages: [{role: system, content: 你是个有用无害的助手}, {role: user, content: video视频中是什么}, {role: assistant, content: 视频中是一只小狗在草地上奔跑}], videos: [/xxx/x.mp4]} grounding任务微调
即目标检测等定位任务命令行使用
CUDA_VISIBLE_DEVICES0 \MAX_PIXELS1003520 \swift sft \ --model Qwen/Qwen2.5-VL-7B-Instruct \ --dataset AI-ModelScope/coco#20000 \ --train_type lora \ --torch_dtype bfloat16 \ --num_train_epochs 1 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --learning_rate 1e-4 \ --lora_rank 8 \ --lora_alpha 32 \ --target_modules all-linear \ --freeze_vit true \ --gradient_accumulation_steps 16 \ --eval_steps 100 \ --save_steps 100 \ --save_total_limit 2 \ --logging_steps 5 \ --max_length 2048 \ --output_dir output \ --warmup_ratio 0.05 \ --dataloader_num_workers 4 \ --dataset_num_proc 4
自定义数据集格式如下system字段可选只需要指定--dataset dataset_path即可
{messages: [{role: system, content: You are a helpful assistant.}, {role: user, content: image描述图像}, {role: assistant, content: ref-objectbbox和ref-objectbbox正在沙滩上玩耍}], images: [/xxx/x.jpg], objects: {ref: [一只狗, 一个女人], bbox: [[331.5, 761.4, 853.5, 1594.8], [676.5, 685.8, 1099.5, 1427.4]]}}
{messages: [{role: system, content: You are a helpful assistant.}, {role: user, content: image找到图像中的ref-object}, {role: assistant, content: bboxbbox}], images: [/xxx/x.jpg], objects: {ref: [羊], bbox: [[90.9, 160.8, 135, 212.8], [360.9, 480.8, 495, 532.8]]}}
{messages: [{role: system, content: You are a helpful assistant.}, {role: user, content: image帮我打开谷歌浏览器}, {role: assistant, content: Action: click(start_boxbbox)}], images: [/xxx/x.jpg], objects: {ref: [], bbox: [[615, 226]]}}
验证
训练完成后使用以下命令对训练时的验证集进行推理
这里--adapters需要替换成训练生成的last checkpoint文件夹.
由于adapters文件夹中包含了训练的参数文件因此不需要额外指定--model
命令行使用
CUDA_VISIBLE_DEVICES0 \swift infer \ --adapters output/vx-xxx/checkpoint-xxx \ --stream false \ --max_batch_size 1 \ --load_data_args true \ --max_new_tokens 2048
-
-
4.总结
Qwen2.5-VL是由阿里巴巴通义千问团队推出的一款开源视觉语言模型它在视觉理解、多模态交互以及自动化任务执行等方面展现出卓越的能力。
该模型不仅能够识别常见的物体如花卉、鸟类、鱼类、昆虫等还能深入分析图像中的文本、图表、图标、图形和布局其通用图像识别能力得到了显著增强大幅扩展了可识别的图像类别范围。此外Qwen2.5-VL还具备强大的智能代理能力能够直接作为视觉Agent进行操作推理并动态使用工具支持在计算机和手机上完成多步骤的复杂任务例如自动查询天气、预订机票、发送消息等这种能力无需对特定任务进行微调。
在长视频理解方面Qwen2.5-VL表现尤为出色能够理解超过1小时的长视频内容并通过精准定位相关视频片段来捕捉事件。它引入了动态帧率FPS训练和绝对时间编码技术能够定位秒级事件并在长视频中搜索具体事件。这种时间感知能力使得模型在处理视频内容时更加精准和高效。同时Qwen2.5-VL在视觉定位方面也表现出色采用矩形框和点的多样化方式对通用物体进行定位能够实现层级化定位并输出规范的JSON格式坐标和属性。这种精准的视觉定位能力使其在多个领域具有广泛的应用前景。
Qwen2.5-VL在处理结构化数据方面同样表现出色能够高效解析发票、表格、文档等结构化数据并生成准确的结构化输出广泛适用于金融、商业等领域的数字化信息处理。与Qwen2-VL相比Qwen2.5-VL在多个技术维度上进行了优化。它的时间和空间感知能力得到了显著提升模型能够动态地将不同尺寸的图像转换为不同长度的token并直接使用图像的实际尺寸表示检测框和点等坐标。在时间维度上引入了动态FPS训练和绝对时间编码使得模型在处理视频内容时更加精准和高效。
综上所述Qwen2.5-VL凭借其强大的视觉理解能力、智能代理功能和技术创新为多模态AI的发展提供了新的思路和解决方案适用于多种复杂的应用场景展现了其在人工智能领域的巨大潜力和价值。 如果你觉得我的内容对你有帮助或者让你眼前一亮那就太好了 点赞 是对我最大的鼓励你的每一个赞都是我继续努力的动力 关注 我这样你就不会错过我接下来的精彩内容啦我会持续分享更多有趣、有用的知识和见解。 收藏 这篇文章以后需要的时候可以随时回顾方便又实用
如果你还有任何问题或想法欢迎随时在评论区留言我会第一时间回复你。让我们一起交流、一起进步
感谢你的支持希望我们都能在这个知识的海洋里收获满满