Omnivision-968M:最小多模态模型,为边缘设备而生! 原创 精华

发布于 2024-11-19 15:47
浏览
0收藏

最近在HuggingFace上有一个开源多模态模型引起了广泛关注:Omnivision-968M。这款模型以其不到1B参数量的小巧体积(仅968M参数量)脱颖而出,成为目前市场上最小的视觉语言模型之一。

Blog: ​https://nexa.ai/blogs/omni-vision​

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

Omnivision-968M

🚀 Omnivision-968M是由Nexa AI这家创业公司推出(与国内做CMOS闻名的同名半导体企业Omnivision无关)。Nexa AI的愿景是打造先进的端侧AI模型,让AI技术不再局限于云端,而是能够直接在本地设备上运行。这不仅意味着成本的降低,更重要的是,它能够更好地保护用户的隐私安全。

💻Omnivision-968M由于体积较小,所以模型在推理速度上,有着非常不错的表现。在Apple最新M4 Pro处理器的MacBook上,它能够以不到2秒的惊人速度,生成一张1046×1568像素图像的语言描述。它在处理过程中仅占用988MB的统一内存空间。

🔍Omnivision在LLaVA架构的基础上进行了改进,带来了以下两大改进:【9倍Token缩减】:Omnivision将图像Token从729减少到81,这一改进大幅降低了延迟和计算成本,让模型运行更加高效。【更少幻觉】:通过使用来自可信数据的DPO训练,Omnivision减少了幻觉现象,提高了结果的可靠性。

模型结构

Omnivision-968M:最小多模态模型,为边缘设备而生!-AI.x社区

OmniVision的架构由以下三个关键组件构成:

基础语言模型:Qwen2.5-0.5B-Instruct作为基础语言模型,用于自回归输出文本。这款强大的语言模型为OmniVision提供了强大的文本处理能力。

视觉编码器:SigLIP-400M,分辨率384,以14×14的patch大小生成图像embedding。这一组件负责将输入的图像转换成embedding。

投影层:MLP将视觉编码器的嵌入与语言模型的Token空间对齐。与标准的LLaVA架构相比,能够将图像Token数目减少9倍。

视觉编码器首先将输入的图像转换成嵌入,然后这些嵌入通过投影层处理,以匹配Qwen2.5-0.5B-Instruct的Token空间,从而实现端到端的视觉-语言理解。

训练方法

预训练阶段:OmniVision的训练始于预训练阶段,这一阶段的核心任务是建立基本的视觉-语言对齐。我们使用图像-文本描述对来进行训练,仅解冻MLP投影层参数,以便学习图像文本Token空间映射关系。

SFT:在预训练的基础上,通过图像问答数据集来增强模型的上下文理解能力。在SFT阶段,模型会在包含图像的结构化聊天记录上进行训练,以生成更符合上下文的响应。

DPO:训练流程的最后阶段是直接偏好优化(DPO)。首先,基础模型会针对图像生成响应。然后,教师模型会产生最小编辑的修正,同时保持与原始响应的高语义相似性,特别关注准确性至关重要的元素。这些原始和修正后的输出形成选择-拒绝对(chosen-rejected pair)。微调的目标是在不改变模型核心响应特征的情况下,针对模型输出进行必要的改进。纠正预测分布,减少模型幻觉。

特色方法

上述模型结构和训练方法和主流方法比没有太多特殊之处,Omnivision除了模型参数量小之外,还应用了这些方法:

9x图像Token压缩: 在边缘设备部署多模态模型时,处理太大的图像Token数目会产生显著的计算开销,因为计算复杂度为O(N**2)的序列长度。标准LLaVA架构中,每张图像生成729个Token(27x27),导致高延迟和高计算成本。OmniVision使用了和InternVL类似的方法,在投影阶段使用pixel unshuffle机制,将图像嵌入从[batch_size, 729, hidden_size]转换为[batch_size, 81, hidden_size*9],这样减少了9倍的Token数量,但保持信息量没有被减少,只是挪动到了通道上,不牺牲模型性能。实验表明,这种压缩方法极大地提高了模型推理速度。分析表明,这种改进源于基础Qwen模型对较短序列的处理能力,其中压缩格式提供了更集中的信息表示。

最小编辑DPO: 传统的DPO方法可能导致模型行为的显著变化。OmniVision的DPO实现使用最小编辑对进行训练。教师模型在保持原始结构的同时,对基础模型的输出进行小的、有针对性的改进。这种方法确保了精确的质量改进,而不破坏模型的核心能力。

性能评测

Omnivision-968M:最小多模态模型,为边缘设备而生!-AI.x社区

Omnivision-968M:最小多模态模型,为边缘设备而生!-AI.x社区

在所有任务中,OmniVision的表现都优于之前世界上最小的视觉语言模型nanoLLAVA。但略逊于Qwen2-VL-2B

Omnivision-968M:最小多模态模型,为边缘设备而生!-AI.x社区

(OmniVision生成图像描述)

Omnivision-968M:最小多模态模型,为边缘设备而生!-AI.x社区

(OmniVision可以寻找图像中出现的目标)

Omnivision-968M:最小多模态模型,为边缘设备而生!-AI.x社区

(OmniVision分析食物图像并生成食谱)

Omnivision-968M:最小多模态模型,为边缘设备而生!-AI.x社区

(OmniVision确定了正确的HDMI端口位置)


本文转载自公众号思源数据科学 作者:思源Source

原文链接:​​https://mp.weixin.qq.com/s/IclLU-FQd2X6zRZgg4zVtg​


©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
相关推荐