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 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

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

相关文章
|
算法 数据库 计算机视觉
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
Dataset之COCO数据集:COCO数据集的简介、下载、使用方法之详细攻略
|
5月前
|
人工智能 Linux API
小白都能看懂的“养龙虾”教程:OpenClaw保姆级部署(阿里云+Windows/Mac/Linux)+ 免费大模型接入+全场景落地指南
2026年,AI智能体领域最火的词非“养龙虾”莫属。这里的“龙虾”,不是餐桌上的海鲜,而是开源AI智能体OpenClaw的中文昵称——因图标形似小龙虾得名,更因“能动手、真干活”的核心能力,成为个人与企业追捧的“专属数字员工”。它彻底打破了传统AI“只说不做”的局限,不再是单纯的聊天工具,而是能直接操控电脑、自主完成任务的自动化引擎,核心价值可概括为“语言指令→AI自主规划→自动操作→完成反馈”的全闭环。
4153 3
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
大模型应用:轻量化视觉语言模型(VLM):基于Qwen2-VL多模态模型实践.87
超紧凑视觉语言模型(如Qwen2-VL-2B)以仅20亿参数、约4GB体积,实现本地化图文理解与生成,支持CPU/入门GPU实时推理,兼顾精度与轻量部署,推动多模态AI走向终端、离线与普惠应用。
1262 2
|
编解码 边缘计算 文字识别
SmolVLM:资源受限环境下的高效多模态模型研究
SmolVLM是一系列专为资源受限设备多模态模型,通过优化架构与训练策略,在图像和视频处理任务中表现出接近大型模型的性能。该系列包含三种变体:SmolVLM-256M、500M和2.2B,分别适用于极端边缘计算、中等资源设备及高端边缘系统。研究探索了视觉与语言组件间的参数分配、高效视觉信息传递机制、视频编码策略等关键技术,并在多个基准测试中展现出卓越性能。SmolVLM不仅在计算效率和内存占用上具有显著优势,还在设备端部署中表现出高吞吐量和广泛适用性,适用于智能手机、笔记本电脑以及专业领域如文档理解与生物医学视觉问答等场景。论文由Ritvik Rastogi发布,详细探讨了模型设计与实验结果。
855 3
SmolVLM:资源受限环境下的高效多模态模型研究
|
机器学习/深度学习 人工智能 编解码
智谱AI发布新版VLM开源模型GLM-4.1V-9B-Thinking,引入思考范式,性能提升8倍
视觉语言大模型(VLM)已经成为智能系统的关键基石。
1713 0
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
17935 81
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
人工智能 Linux iOS开发
exo:22.1K Star!一个能让任何人利用日常设备构建AI集群的强大工具,组成一个虚拟GPU在多台设备上并行运行模型
exo 是一款由 exo labs 维护的开源项目,能够让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群,支持多种大模型和分布式推理。
4736 101
|
12月前
|
数据可视化 物联网 开发者
深度解析四大LLM微调工具:从单卡到千亿级训练的四大解决方案
本文详解大语言模型微调四大工具——Unsloth、Axolotl、LlamaFactory、DeepSpeed,覆盖从单卡实验到万亿参数分布式训练场景,助你掌握主流框架选型策略,提升微调效率。建议点赞收藏。
3692 1

热门文章

最新文章