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完全开源,所有模型检查点、VLM数据集、训练配方和工具均在Apache 2.0许可证下发布。
- 训练数据集:SmolVLM涵盖了Cauldron和Docmatix,并对SmolLM2进行了上下文扩展,使其能够处理更长的文本序列和多张图像。
SmolVLM的项目地址
- Github仓库:https://github.com/huggingface/blog/blob/main/smolvlm.md
- HuggingFace模型库:https://huggingface.co/blog/smolvlm
- 在线体验Demo:https://huggingface.co/spaces/HuggingFaceTB/SmolVLM
- 数据集完整列表:https://huggingface.co/HuggingFaceTB/SmolVLM-Instruct/blob/main/smolvlm-data.pdf