SmolVLM2轻量级视频多模态模型

.     前言

  SmolVLM2 是由 Hugging Face 开发的一系列紧凑型但功能强大的大型模型,旨在为资源受限的设备(如智能手机和嵌入式系统)带来先进的语言和视觉语言处理能力。这些模型以其小型化设计著称,适合在设备上运行,填补了大型模型与小型设备性能差距的空白。本文将详细介绍这两个系列的背景、技术细节、性能和应用,旨在为研究者和开发者提供全面的理解。

  SmolVLM2 扩展了 Smol 系列的能力,专注于视觉语言任务,可处理视频、图像和文本输入,生成文本输出。模型提供三种参数规模:2.2B、500M 和 256M,旨在实现高效的多模态处理。相较于前代产品,新版 22 亿模型在图像数学解题、图片文字识别、复杂图表解析和科学视觉问答方面表现显著提升。

2.     应用部署

模型下载:HuggingFaceTB/SmolVLM2-2.2B-Instruct · Hugging Face

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
print(DEVICE)
model_path = "models/SmolVLM2-2.2B-Instruct"
processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForImageTextToText.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    _attn_implementation="flash_attention_2" if DEVICE == "cuda" else "eager",
   device_map="cuda").to(DEVICE)
#model = AutoModelForImageTextToText.from_pretrained(
#    model_path,
#    torch_dtype=torch.bfloat16,
#   _attn_implementation="flash_attention_2" if DEVICE == "cuda" else "eager").to(DEVICE)

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "5.png"},
            {"type": "text", "text": "结合图像上的内容,请问简单iNeuOS是什么?"},
        ]
    },
]

inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device, dtype=torch.bfloat16)

generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=5000)
generated_texts = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
)
print(generated_texts[0])

3.     应用效果

1.1       风景图像理解

User:请描述这张图像?

Assistant: 这张图片是一张美丽的花朵照片,其中主要的是一棵树的枝条和花朵。树枝的颜色是深红色,而花朵的颜色是白色和红色。树枝上有一层雪,雪的颜色是白色,这使得树枝和花朵的颜色显得更加美丽。花朵的颜色是红色和白色,这使得花朵的颜色显得更加独特。这张图片的背景是白色的,这使得树枝和花朵的颜色更加显得突出。这张图片的风格是美丽和美感的,它让人感受到花朵的美丽和树枝的美丽。

1.2       事故现场理解

User:请描述这个事故现场?

Assistant: 这是一次火灾事故的事实场景,其中包含一个大型的炉子和一个高的柱子。炉子的外壁是灰色的,而柱子的外壁是黑色的。(注:后面有冗余的回复

1.3       仿真图像理解

User:这是温度场仿真,请描述温度变化趋势?

Assistant: 温度变化趋势可以从图像中看出,温度在右侧高于左侧,这表明右侧的温度更高,左侧的温度更低。(注:后面有冗余和重复数据

1.4       数量统计描述

User:这是虾苗养殖图像,请分析虾苗数量?

Assistant: 虾苗数量为1000多个。

1.5       图像文字理解

User:结合图像上的内容,请问简单iNeuOS是什么?

Assistant: iNeuOS是一种操作系统,它是一种高级的操作系统,它可以被用来管理和管理计算机的系统,包括内存、硬盘和网络等。(注:后面是冗余和重复的数据

User:图像上的文字是什么?

Assistant: 这是一个英文和中文的图像,其中包含一些文字和图片。图像的左侧有一些英文文字,包括"iNeuOS"、"OS"和"NeuOS"。(注:毕竟不是OCR,所以文字识别和提取有限

1.6       物体识别理解

User:图像上的铅笔有多长?

Assistant: 铅笔的长度是约10厘米。(注:实际长度为14.7厘米

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

meslog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值