又一个多模态模型在HuggingFace上火了:参数量只有968M!

IMG_256

这两天,有一个开源的多模态模型Omnivision在HuggingFace上比较火,这个模型参数量只有968M,也是目前我所看到的最小的多模态模型。Omnivision-968M是由创业公司Nexa AI所发布,这家公司的使命就是开发先进的端侧AI模型,端侧AI模型不需要部署在云端,而是可以直接跑在本地设备上,不仅成本低,而且也可以保护用户的隐私。这次发布的Omnivision-968M可以在 M4 Pro MacBook 上运行,为一张 1046×1568 的图像生成描述仅需不到 2 秒处理时间,而且只占用 988 MB 内存。

IMG_257

而且,在一些多模态评测集上,Omnivision 的表现均优于此前全球最小的视觉语言模型nanoLLAVA(1B参数):

IMG_258

部分指标也接近参数量更大的Qwen2-VL-2B:

IMG_259

下面Omnivision-968M的一些demo:

给图片生成描述:

IMG_260

找到图片中的特定物体:

IMG_261

分析食物图像并生成食谱:

IMG_262

识别物体位置:

IMG_263

为什么Omnivision-968M可以这么小?这里我们可以看一下Omnivision-968M的模型架构,它是基于LLava架构,主要包括三个组件:

IMG_264

基础LLM:Qwen2.5-0.5B-Instruct。

视觉编码器:SigLIP-400M,处理384×384分辨率图像,patch size是14×14。

投影层:采用MLP将视觉编码器的特征与语言模型的embedding进行对齐。与原始的Llava架构相比,这里的投射层将将图像tokens从729减少到81(减少9倍),降低了延迟和计算成本。

此外,Omnivision的训练也采用三阶段的策略:预训练 -> SFT -> DPO。预训练阶段使用图像-文本对建立基本的视觉-语言对齐,在这个阶段,只有投影层的参数是可训练的。SFT阶段使用基于图像的问答数据集来增强模型的上下文理解,这个阶段涉及在包含图像的结构化聊天记录上进行训练,以便模型生成更符合上下文的响应。最后的DPO阶段,先使用基础模型对图像生成输出,然后采用Qwen2-VL-72B-Instruct作为教师模型对输出结果修正,这里只修正输出的准确性,而尽量持与原始响应的高度语义相似性。原始输出和修正结果就构成了DPO训练的pair对。

目前Omnivision可以直接在HuggingFace上下载:

https://huggingface.co/NexaAIDev/omnivision-968M

如果要使用,要首先安装Nexa-SDK,它是一个开源的、本地设备上的推理框架。安装后就可以在终端直接运行:

nexa run omnivision

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容