SmolVLM:Hugging Face推出的轻量级视觉语言模型

简介: SmolVLM是Hugging Face推出的轻量级视觉语言模型,专为设备端推理设计。以20亿参数量,实现了高效内存占用和快速处理速度。SmolVLM提供了三个版本以满足不同需求,并完全开源,所有模型检查点、VLM数据集、训练配方和工具均在Apache 2.0许可证下发布。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

模型简介:SmolVLM是Hugging Face推出的轻量级视觉语言模型,专为设备端推理设计,具有高效内存占用和快速处理速度。
主要功能:提供设备端推理、微调能力、优化的架构设计、处理长文本和多张图像、低内存占用和高吞吐量。
应用场景:视频分析、视觉语言处理、本地部署和AI普及化。

正文(附运行示例)

SmolVLM 是什么

公众号: 蚝油菜花 - SmolVLM

SmolVLM是Hugging Face推出的轻量级视觉语言模型,专为设备端推理设计。以20亿参数量,实现了高效内存占用和快速处理速度。SmolVLM提供了三个版本以满足不同需求:SmolVLM-Base:适用于下游任务的微调。SmolVLM-Synthetic:基于合成数据进行微调。SmolVLM-Instruct:指令微调版本,可直接应用于交互式应用中。

模型借鉴Idefics3理念,采用SmolLM2 1.7B作为语言主干,通过像素混洗技术提升视觉信息压缩效率。在Cauldron和Docmatix数据集上训练,优化了图像编码和文本处理能力。

SmolVLM 的主要功能

  • 设备端推理:SmolVLM专为设备端推理设计,能在笔记本电脑、消费级GPU或移动设备等资源有限的环境下有效运行。
  • 微调能力:模型提供三个版本以满足不同需求:SmolVLM-Base用于下游任务的微调;SmolVLM-Synthetic基于合成数据进行微调;SmolVLM-Instruct指令微调版本,可直接应用于交互式应用中。
  • 优化的架构设计:借鉴Idefics3的理念,使用SmolLM2 1.7B作为语言主干,通过像素混洗策略提高视觉信息的压缩率,实现更高效的视觉信息处理。
  • 处理长文本和多张图像:训练数据集包括Cauldron和Docmatix,对SmolLM2进行上下文扩展,能处理更长的文本序列和多张图像。
  • 内存占用低:SmolVLM将384×384像素的图像块编码为81个tokens,相比之下,Qwen2-VL需要1.6万个tokens,显著降低了内存占用。
  • 高吞吐量:在多个基准测试中,SmolVLM的预填充吞吐量比Qwen2-VL快3.3到4.5倍,生成吞吐量快7.5到16倍。

SmolVLM 的技术原理

  • 架构设计:借鉴Idefics3的架构,使用SmolLM2 1.7B作为语言主干,通过像素混洗策略提高视觉信息的压缩率。
  • 图像编码:将384×384像素的图像块编码为81个tokens,显著降低内存占用。
  • 上下文扩展:通过扩展上下文窗口至16k tokens,支持处理更长的文本序列和多张图像。

如何运行 SmolVLM

以下是一个简单的代码示例,展示如何使用SmolVLM进行图像和文本的交互式处理。

from transformers import AutoProcessor, AutoModelForVision2Seq
import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

processor = AutoProcessor.from_pretrained("HuggingFaceTB/SmolVLM-Instruct")
model = AutoModelForVision2Seq.from_pretrained("HuggingFaceTB/SmolVLM-Instruct",
                                                torch_dtype=torch.bfloat16,
                                                _attn_implementation="flash_attention_2" if DEVICE == "cuda" else "eager").to(DEVICE)

from PIL import Image
from transformers.image_utils import load_image

# Load images
image1 = load_image("https://huggingface.co/spaces/HuggingFaceTB/SmolVLM/resolve/main/example_images/rococo.jpg")
image2 = load_image("https://huggingface.co/spaces/HuggingFaceTB/SmolVLM/blob/main/example_images/rococo_1.jpg")

# Create input messages
messages = [
    {
   
        "role": "user",
        "content": [
            {
   "type": "image"},
            {
   "type": "image"},
            {
   "type": "text", "text": "Can you describe the two images?"}
        ]
    },
]

# Prepare inputs
prompt = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(text=prompt, images=[image1, image2], return_tensors="pt")
inputs = inputs.to(DEVICE)

# Generate outputs
generated_ids = model.generate(**inputs, max_new_tokens=500)
generated_texts = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
)

print(generated_texts[0])

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
12月前
|
编解码 边缘计算 文字识别
SmolVLM:资源受限环境下的高效多模态模型研究
SmolVLM是一系列专为资源受限设备多模态模型,通过优化架构与训练策略,在图像和视频处理任务中表现出接近大型模型的性能。该系列包含三种变体:SmolVLM-256M、500M和2.2B,分别适用于极端边缘计算、中等资源设备及高端边缘系统。研究探索了视觉与语言组件间的参数分配、高效视觉信息传递机制、视频编码策略等关键技术,并在多个基准测试中展现出卓越性能。SmolVLM不仅在计算效率和内存占用上具有显著优势,还在设备端部署中表现出高吞吐量和广泛适用性,适用于智能手机、笔记本电脑以及专业领域如文档理解与生物医学视觉问答等场景。论文由Ritvik Rastogi发布,详细探讨了模型设计与实验结果。
610 3
SmolVLM:资源受限环境下的高效多模态模型研究
|
9月前
|
机器学习/深度学习 人工智能 编解码
智谱AI发布新版VLM开源模型GLM-4.1V-9B-Thinking,引入思考范式,性能提升8倍
视觉语言大模型(VLM)已经成为智能系统的关键基石。
1417 0
|
Linux C语言 内存技术
Linux下使用alsa-lib库完成音频开发: 实现放音和录音(从声卡获取PCM数据保存、向声卡写PCM数据输出)
Linux下使用alsa-lib库完成音频开发: 实现放音和录音(从声卡获取PCM数据保存、向声卡写PCM数据输出)
2084 0
|
9月前
|
人工智能 运维 安全
高压电线电力巡检六类图像识别数据集(2000张图片已划分、已标注)【数据集分享】
随着电力巡检场景对智能识别系统的需求不断增长,构建高质量、真实场景覆盖的数据集变得尤为重要。我们发布的这套高压电力巡检六类图像数据集,旨在为研究者与开发者提供一个标准化、实用性强的实验平台。
高压电线电力巡检六类图像识别数据集(2000张图片已划分、已标注)【数据集分享】
|
人工智能 Linux iOS开发
exo:22.1K Star!一个能让任何人利用日常设备构建AI集群的强大工具,组成一个虚拟GPU在多台设备上并行运行模型
exo 是一款由 exo labs 维护的开源项目,能够让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群,支持多种大模型和分布式推理。
3497 101
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
12640 81
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
11月前
|
存储 机器学习/深度学习 人工智能
多模态RAG实战指南:完整Python代码实现AI同时理解图片、表格和文本
本文探讨了多模态RAG系统的最优实现方案,通过模态特定处理与后期融合技术,在性能、准确性和复杂度间达成平衡。系统包含文档分割、内容提取、HTML转换、语义分块及向量化存储五大模块,有效保留结构和关系信息。相比传统方法,该方案显著提升了复杂查询的检索精度(+23%),并支持灵活升级。文章还介绍了查询处理机制与优势对比,为构建高效多模态RAG系统提供了实践指导。
2590 0
多模态RAG实战指南:完整Python代码实现AI同时理解图片、表格和文本
|
机器学习/深度学习 人工智能 自然语言处理
GLM-4V-Flash:智谱 AI 免费开放的图像理解大模型 API 接口
智谱AI推出的GLM-4V-Flash是一款专注于图像理解的免费开放大模型,提供API接口支持用户上传图片URL或Base64编码图片获取详细的图像描述。该模型通过深度学习和卷积神经网络技术,简化了图像分析流程,提高了开发效率,适用于内容审核、辅助视障人士、社交媒体、教育和电子商务等多个应用场景。
6501 14
GLM-4V-Flash:智谱 AI 免费开放的图像理解大模型 API 接口

热门文章

最新文章