多模态大模型轻量化探索-开源SmolVLM模型架构、数据策略及其衍生物PDF解析模型SmolDocling

在《多模态大模型轻量化探索-视觉大模型SAM的视觉编码器》介绍到,缩小视觉编码器的尺寸,能够有效的降低多模态大模型的参数量。再来看一个整体的工作,从视觉侧和语言模型侧综合考量模型参数量的平衡模式,进一步降低参数量,甚至最小达256M参数量,推理时显存占用<1GB。下面来看看,仅供参考。

模型架构

那么,如何设计一个高效的小型多模态模型架构?

Q1: 如何在视觉和语言模型之间分配计算?

传统大型VLMs(如Flamingo)将90%以上参数分配给语言模型(LM),但SmolVLM发现:小规模LM需重新平衡视觉与语言的计算资源。

研究方法:将三种不同规模的SmolLM2变体(135M、360M和1.7B参数)与两种SigLIP编码器(一个紧凑的93M SigLIP-B/16和一个较大的428M SigLIP-SO400M)进行配对。

发现:通常情况下,较大的VLM会不均衡地将参数分配给语言模型,但在小型模型中,这种分配方式不再适用。当使用大型编码器与最小的LM(135M)时,性能显著下降,表明这种配置效率低下。在中等规模的LM(360M)中,较大的编码器可以提高性能,但会增加66%的参数。只有在最大的LM(1.7B)中,较大的编码器仅增加10%的参数。

结论 :紧凑的多模态模型受益于平衡的编码器-LM参数分配,使得较小的视觉编码器在效率上更具优势。即:模型越小,视觉编码器应更轻量,避免"头重脚轻"。当使用具有最小LM(135M)的大编码器时,性能显著下降,突显了编码器-LM平衡效率低下。在中等LM规模(360M)时,较大的编码器将性能提高了11.6%,但这也伴随着参数增加了66%,使得紧凑型编码器更可取。只有在最大的LM规模(1.7B)时,较大的编码器仅代表参数增加了10%。

Q2: 如何有效地将图像传递给语言模型?

如何支持长上下文与对视觉token进行压缩?为了提高模型的上下文处理能力,采用了自注意力架构,其中视觉Token与文本token连接,并由语言模型共同处理。这种方法需要比SmolLM2的2ktoken限制更多的上下文。

研究方法:通过增加RoPE基数从10k到273k来扩展上下文容量,并在长上下文数据(如Dolma书籍和The Stack)和短上下文数据(如FineWeb-Edu、DCLM和SmolLM2的数学数据)上进行微调。

发现:扩展上下文窗口对紧凑VLM有显著的好处。对于1.7B的LM,微调在16ktoken时表现稳定,但对于较小的模型(135M和360M),在超过8k token时表现不佳。因此,研究者们为SmolVLM采用了16k token的上下文,并为较小的变体设定了8k token的限制。

像素重排:重新排列编码图像,以增加通道深度为代价换取空间分辨率。这减少了视觉标记数量,同时保持信息密度。


原理:将2×2空间区域重组为通道维度(上图),token数减少4倍(r=2时)。

对比基线:InternVL等使用r=2,但SmolVLM证明小模型需更激进压缩。

结论:小型VLM显著受益于扩展的上下文长度。

Q3: 如何有效地编码图像和视频?

在多模态建模中,平衡图像和视频之间的token分配至关重要。图像通常需要更高的分辨率和更多的token来保持质量,而视频则需要更少的token来高效处理长序列。

研究方法:采用了一种图像分割策略,灵感来自UReader和SPHINX,将高分辨率图像分割成多个子图像,并保留原始图像的缩小版本。这种方法在不增加过多计算开销的情况下保持了图像质量。

视频处理:对于视频,研究者们发现帧平均策略会负面影响性能(下图)。因此,选择不采用帧平均策略,而是将视频帧重新缩放到图像编码器的分辨率。

结论:对于小型模型,图像分割增强了视觉任务的表现,而视频帧平均则不适用。

数据策略

数据配比:最终训练集含14%文本、33%视频、53%图像

性能

衍生模型-端到端的PDF解析多模态模型SmolDocling

模型结构:就是SmolVLM

训练数据(该模型核心):训练数据构造上,引入了一种新的文档标记格式DocTags,用于标准化文档转换,这个是核心意义。DocTags定义了一个明确的标签和规则集,以分离文本内容和文档结构,从而提高图像到序列模型的性能,如下图:

对应的语法

从上面类XML标签语法看来,感觉设计的非常冗余。整体上结合模型架构也没什么特殊的创新点,并且,之前被自媒体吹得性能很强,实际上,该模型还是demo玩具。个人使用后观点。

参考文献:SmolVLM: Redefining small and efficient multimodal models,https://arxiv.org/pdf/2504.05299

开源地址:https://github.com/huggingface/smollm

相关推荐
Struart_R1 天前
PAGE-4D、4RC、Track4World论文解读
计算机视觉·多模态·三维重建
千桐科技1 天前
qKnow 知识平台开源版 v1.1.1 发布:多模态知识获取新一步,新增 .docx 解析、重构并发引擎、确立 PR 规范
ai·知识图谱·开源软件·多模态·非结构化数据·qknow·知识平台
袋鼠云数栈3 天前
黄仁勋 GTC 2026 之后,为何AI 时代的数据底座正在被重新定义?
大数据·数据结构·人工智能·架构·多模态
余俊晖5 天前
多模态大模型后训练强化学习训练方法:Shuffle-R1
人工智能·自然语言处理·多模态
余俊晖5 天前
多模态文档解析新进展:多模态OCR解析文档中的任意内容实现方案
人工智能·自然语言处理·多模态
余俊晖5 天前
多模态文档解析最新开源进展:2B参数FireRed-OCR模型方法、数据
人工智能·自然语言处理·ocr·多模态
_张一凡7 天前
【大语言模型学习】一文详解阿里Qwen3大模型以及全参量微调入门实战教程(代码完整)
llm·aigc·大语言模型·多模态·qwen3·大语言模型微调·全参量微调
大傻^7 天前
Spring AI 2.0 企业级 RAG 架构:混合检索、重排序与多模态知识库
人工智能·spring·架构·多模态·rag·混合检索·重排序
人工智能培训咨询叶梓7 天前
SYNCHECK:提升检索增强型语言模型的可信度
人工智能·深度学习·语言模型·大模型·检索增强·多模态·rag
xx_xxxxx_8 天前
多模态动态融合模型Predictive Dynamic Fusion论文阅读与代码分析4-代码架构
论文阅读·机器学习·transformer·多模态