HuggingFace镜像/OmniVLM-968M
模型介绍文件和版本分析
下载使用量0

OmniVLM

🔥 最新动态

  • [2024年12月16日] 我们的研究成果 《OmniVLM:面向高效端侧推理的令牌压缩、十亿参数以下视觉语言模型》 已正式发布于 Arxiv!🚀

  • [2024年11月27日] 模型升级: OmniVLM v3 模型的 GGUF 文件已更新至本 Hugging Face 仓库!✨
    👉 欢迎通过 Hugging Face Space 体验这些令人兴奋的改进!

  • [2024年11月22日] 模型升级: OmniVLM v2 模型的 GGUF 文件已更新至本 Hugging Face 仓库!✨ 主要改进包括:

    • 增强的艺术作品描述能力
    • 更优的复杂图像理解能力
    • 提升的动漫识别能力
    • 更精准的色彩与细节检测
    • 扩展的世界知识库

我们正根据您的宝贵反馈持续优化 OmniVLM-968M!更多精彩更新即将到来——敬请关注! ⭐

模型介绍

OmniVLM 是一款轻量化、十亿参数以下(968M)的多模态模型,可同时处理视觉与文本输入,专为边缘设备优化。基于 LLaVA 架构改进,其核心特性包括:

  • 9 倍令牌压缩:将图像令牌从 729 个压缩至 81 个,显著降低延迟与计算成本。需注意,视觉编码器与投影层的计算量保持不变,但语言模型主干的计算量因图像令牌跨度缩短 9 倍而减少。
  • 可信结果输出:通过基于可信数据的 DPO 训练有效减少幻觉现象。

快速链接:

  1. 交互式演示请访问 Hugging Face Space(2024年11月21日更新)
  2. 本地部署快速指南
  3. 了解更多技术细节请阅读我们的博客文章

反馈渠道:欢迎通过 Discord 提交模型相关问题或建议

适用场景

OmniVLM 适用于视觉问答(回答关于图像的提问)与图像描述生成(描述照片中的场景),是端侧应用的理想选择。

示例演示:
在 M4 Pro 芯片的 MacBook 上为 1046×1568 分辨率图像生成描述仅需 < 2 秒处理时间,且仅占用 988 MB 内存与 948 MB 存储空间。

示例

性能基准测试

下方图表展示了 OmniVLM 与 nanollava 的性能对比。在所有任务中,OmniVLM 的表现均超越了此前全球最小的视觉语言模型。

基准测试雷达图

我们在多个基准数据集上开展了一系列实验,包括 MM-VET、ChartQA、MMMU、ScienceQA、POPE,以评估 OmniVLM 的性能表现。

基准测试Nexa AI OmniVLM v2Nexa AI OmniVLM v1nanoLLAVA
ScienceQA (评估集)71.062.259.0
ScienceQA (测试集)71.064.559.0
POPE93.389.484.1
MM-VET30.927.523.9
ChartQA (测试集)61.959.2不适用
MMMU (测试集)42.141.828.6
MMMU (评估集)40.039.930.4

设备端使用指南

接下来我们将演示如何在您的设备上本地运行 OmniVLM。

第一步:安装 Nexa-SDK(本地设备端推理框架)

安装 Nexa-SDK

Nexa-SDK 是一个开源的本地设备端推理框架,支持文本生成、图像生成、视觉语言模型(VLM)、音频语言模型、语音转写(ASR)以及文本转语音(TTS)功能。可通过 Python 包或可执行安装程序进行安装。

第二步:在终端中运行以下代码

nexa run omniVLM 

模型架构

OmniVLM的架构包含三个核心组件:

  • 基础语言模型:采用Qwen2.5-0.5B-Instruct作为处理文本输入的基础模型
  • 视觉编码器:使用SigLIP-400M,在384分辨率下以14×14的补丁尺寸生成图像嵌入
  • 投影层:通过多层感知机(MLP)将视觉编码器的嵌入与语言模型的标记空间对齐。相比原始Llava架构,我们设计的投影器可将图像标记数量减少9倍。

视觉编码器首先将输入图像转换为嵌入表示,随后由投影层处理以匹配Qwen2.5-0.5B-Instruct的标记空间,从而实现端到端的视觉语言理解。

训练流程

我们通过三阶段训练流程开发OmniVLM:

预训练阶段: 该阶段专注于通过图像-标题对建立基础视觉-语言对齐关系,期间仅解冻投影层参数以学习这些基础关联。

监督微调(SFT)阶段: 使用基于图像的问答数据集增强模型的上下文理解能力。此阶段通过包含图像的结构化对话历史记录进行训练,使模型能生成更符合语境的响应。

直接偏好优化(DPO)阶段: 最终阶段通过基础模型生成图像响应后实施DPO。教师模型随后在保持与原始响应高度语义相似性的前提下,生成经过最小化编辑的修正版本,特别关注准确性关键要素。这些原始输出与修正输出构成"选择-拒绝"配对。微调专注于核心模型输出的本质改进,而不改变模型的核心响应特性。

未来规划

OmniVLM目前处于早期开发阶段,我们正致力于解决现有局限性:

  • 扩展DPO训练:通过迭代过程扩大直接偏好优化(DPO)训练范围,持续提升模型性能和响应质量
  • 增强文档与文本理解能力

长期目标是将OmniVLM打造为完全优化、可用于生产环境的边缘AI多模态应用解决方案。

关注我们

博客 | Discord | X(推特)