一、关于 Ovis
Ovis (Open VISion) 是一种新型的多模态大型语言模型 (MLLM) 架构,旨在结构化对齐视觉和文本嵌入。
欲获取全面介绍,请参阅 Ovis 论文。
相关链接
- github : https://github.com/AIDC-AI/Ovis
- 模型:https://huggingface.co/AIDC-AI/Ovis1.6-Gemma2-9B
- 论文:https://arxiv.org/abs/2405.20797
发布信息
- [11/26] 🔥 发布 Ovis1.6-Gemma2-27B!
- [11/04] 🔥 发布 Ovis1.6 的量化版本:Ovis1.6-Gemma2-9B-GPTQ-Int4 和 Ovis1.6-Llama3.2-3B-GPTQ-Int4!
- [10/22] 🔥 发布 Ovis1.6-Llama3.2-3B (模型, 演示)!
- [09/19] 🔥 发布 Ovis1.6-Gemma2-9B (模型, 演示)!这一最新版本进一步增强了高分辨率图像处理,在更大、更丰富、更高品质的数据集上训练,并遵循指令调整后的 DPO 训练优化了训练过程。
- [07/24] 🔥 介绍 Ovis1.5,具有改进的高分辨率图像处理和优化了训练数据以提高性能。
- [06/14] 🔥 Ovis1.0 正式发布,这是 Ovis 模型的首款版本。
二、安装
Ovis 已与 Python 3.10、Torch 2.4.0、Transformers 4.46.2 和 DeepSpeed 0.15.4 测试过。
有关包依赖关系的完整列表,请参阅 requirements.txt
文件。在微调或推理之前,请按以下步骤安装 Ovis。
git clone git@github.com:AIDC-AI/Ovis.git
conda create -n ovis python=3.10 -y
conda activate ovis
cd Ovis
pip install -r requirements.txt
pip install -e .
三、模型
Ovis 可以用流行的 LLMs 实例化。我们提供了以下 Ovis MLLMs:
Ovis MLLMs | ViT | LLM | 模型权重 | Demo |
---|---|---|---|---|
Ovis1.6-Gemma2-27B | Siglip-400M | Gemma2-27B-It | Huggingface | - |
Ovis1.6-Gemma2-9B | Siglip-400M | Gemma2-9B-It | Huggingface | Space |
Ovis1.6-Llama3.2-3B | Siglip-400M | Llama-3.2-3B-Instruct | Huggingface | Space |
四、性能
具有 29B 个参数的 Ovis1.6-Gemma2-27B 在 OpenCompass 基准测试中取得了卓越的性能,排名顶级开源 MLLMs 之列。
[外链图片转存中…(img-6mpxiRJd-1748426537441)]
仅 10B 个参数,Ovis1.6-Gemma2-9B 在 30B 参数范围内的开源 MLLMs 中引领了 OpenCompass 基准测试。
[外链图片转存中…(img-haLxMMez-1748426537442)]
Ovis1.6-Llama3.2-3B 在 4B 参数的开放源代码 MLLM 中领导着 OpenCompass 基准,甚至超越了 Llama-3.2-11B-Vision-Instruct。
[外链图片转存中…(img-JkXxxOvE-1748426537442)]
五、微调
Ovis1.6-Gemma2-9B 的微调在 ms-swift 中得到支持。
六、推理
我们在 ovis/serve/runner.py
中提供了一个推理包装器,它可以被用作:
from PIL import Image
from ovis.serve.runner import RunnerArguments, OvisRunner
image = Image.open('IMAGE_PATH')
text = 'PROMPT'
runner_args = RunnerArguments(model_path='MODEL_PATH')
runner = OvisRunner(runner_args)
generation = runner.run([image, text])
基于 Gradio,Ovis 也可以通过网页用户界面进行访问:
python ovis/serve/server.py --model_path MODEL_PATH --port PORT
七、量化
我们使用AutoGPTQ对Ovis1.6进行了量化。有关运行和创建您自己的量化版本的详细信息,请参阅相应的Huggingface模型卡片:Ovis1.6-Gemma2-9B-GPTQ-Int4 和 Ovis1.6-Llama3.2-3B-GPTQ-Int4。量化后的Ovis1.6在性能上与未量化的版本相当,同时需要更少的GPU内存:
1、基准性能:
[外链图片转存中…(img-ijHBbEr3-1748426537443)]
[外链图片转存中…(img-E7QBB4GM-1748426537443)]
2、GPU内存使用(max_partition=9):
[外链图片转存中…(img-UzNLrgy0-1748426537443)]
其它
团队
这项工作是 MarcoVL 团队共同努力的结果。我们还想提供以下我们团队发表的 MLLM 论文的链接:
- Parrot: Multilingual Visual Instruction Tuning
- Wings: Learning Multimodal LLMs without Text-only Forgetting
许可证
本项目采用 Apache License, Version 2.0 许可协议(SPDX-License-Identifier: Apache-2.0)。
免责声明
我们在训练过程中使用了合规性检查算法,以确保我们所能做到的最佳程度下,训练的模型符合规定。由于数据的复杂性和语言模型使用场景的多样性,我们无法保证该模型完全无版权问题或不适当内容。如果您认为有任何内容侵犯了您的权利或生成了不适当内容,请与我们联系,我们将立即处理此事。