Ovis1.6-Gemma2-9B 项目介绍
项目简介
Ovis1.6-Gemma2-9B 是一个新发布的多模态大语言模型,属于 Ovis 系列中的最新版本。该项目的独特之处在于其多模态大的语言模型(MLLM)架构,旨在有效地将视觉和文本嵌入结构性地对齐。
Ovis1.6 相较于前一版本进行了显著的功能提升,包括依靠更大和更多样化的数据集进行训练,以及改进的训练步骤,特别是在高分辨率图像处理的能力上。
模型概述
Ovis1.6-Gemma2-9B 构建于 Ovis1.5 的基础上,进一步提升了图像处理的精度,并通过更高质量的数据集训练,优化了指令微调后的 DPO 训练过程。因此,它不仅仅在视觉-文本融合作用上领先,还成为了在 30 亿参数以内开源 MLLMs 中的性能佼佼者。
模型名称 | 图片模块 | 语言模块 | 模型权重链接 | 在线演示 |
---|---|---|---|---|
Ovis1.6-Gemma2-9B | Siglip-400M | Gemma2-9B-It | Huggingface | Space |
性能表现
Ovis1.6-Gemma2-9B 在参数量仅为 10 亿的情况下,能够在 OpenCompass 基准测试中领先其他同类的开源多模态大语言模型,表现十分优秀。
使用方法
Ovis1.6 提供了多模态输入条件下的使用范例,用户只需安装必要的包即可运行模型,接着可以输入图像路径和文本提示来生成对应的输出。此外,Ovis 的 GitHub 页面还提供了更详细的使用说明,包括推理封装和 Gradio 用户界面。
以下是简要的运行示例代码:
import torch
from PIL import Image
from transformers import AutoModelForCausalLM
# 加载模型
model = AutoModelForCausalLM.from_pretrained("AIDC-AI/Ovis1.6-Gemma2-9B",
torch_dtype=torch.bfloat16,
multimodal_max_length=8192,
trust_remote_code=True).cuda()
text_tokenizer = model.get_text_tokenizer()
visual_tokenizer = model.get_visual_tokenizer()
# 输入图像路径和提示文本
image_path = input("Enter image path: ")
image = Image.open(image_path)
text = input("Enter prompt: ")
query = f'<image>\n{text}'
# 格式化对话
prompt, input_ids, pixel_values = model.preprocess_inputs(query, [image])
# ..其余部分保持不变
许可证和提醒
项目在 Apache License 2.0 下发布,开发团队在训练过程中使用了合规性检查算法,以确保模型在最大程度上的合规性。但由于语言模型应用场景的多样性和数据的复杂性,无法完全保证模型无版权问题或不当内容。如果发现可能侵权或不当的地方,请及时联系我们。