项目介绍:Groma
Groma 是一款突破性的多模态大语言模型,它在视觉区域理解和视觉标定能力上表现出色。该模型能够处理用户定义的特定区域输入(例如框选的区域),并可以生成与视觉上下文相关的长篇回答。这种能力使 Groma 成为一种新型的多模态大模型,它采用了独特的视觉标定方法。
Groma 的创新点
Groma 引入了一个新颖的多模态大语言模型范式。按照模型的构建方式,可以分为以下几种:
- 传统的多模态大语言模型通过位置信息(如 Kosmos-2、Shikra)来定位;
- 一些使用外部模块(如 Lisa)进行定位;
- 而 Groma 采用视觉标记器来进行本地化,即通过图像中的视觉信息进行定位。
这种方法让 Groma 在任务处理上更加灵活和直观。
性能表现
在多模态大语言模型中,Groma 在参考表达理解(REC)基准测试中取得了显著的效果,比如在 RefCOCO、RefCOCO+ 和 RefCOCOg 等数据集上的表现都超越了许多现有的模型。
方法 | RefCOCO (val) | RefCOCO (testA) | RefCOCO (testB) | RefCOCO+ (val) | RefCOCO+ (testA) | RefCOCO+ (testB) | RefCOCOg (val) | RefCOCOg (test) | 平均 |
---|---|---|---|---|---|---|---|---|---|
Groma | 89.53 | 92.09 | 86.26 | 83.90 | 88.91 | 78.05 | 86.37 | 87.01 | 86.52 |
模型安装和使用
要使用 Groma,可通过以下步骤进行安装和配置:
- 克隆项目仓库并创建虚拟环境。
- 安装必要的 PyTorch 相关依赖。
- 下载 Groma 的模型权重和训练中间检查点。
- 准备所需的数据集。
数据准备
Groma 的训练数据包括多种类型和来源的数据集,涵盖检测、图像描述、区域描述和参考表达理解等任务。这些数据集的准备详情可在项目的文档中找到。用户可以根据自己的需求选择性下载和使用这些数据集。
训练流程
Groma 的训练分为几个阶段:
- 检测预训练阶段
- 对齐预训练阶段
- 指导微调阶段
每个阶段都有相应的脚本和数据要求,用户可以根据指南进行特定阶段的训练。
推理和评估
Groma 支持在单张图像上进行推理,并生成用户指定的查询答案。用户可以根据需要选择不同的量化类型进行推理过程。对于评估细节,用户可以参考项目文档中的评估说明。
结语
Groma 的开发基于 LLaVA 和 GPT4ROI 等优秀项目,感谢这些项目的贡献。如果 Groma 对您的研究有帮助,请给予项目支持或引用相关的论文。
Groma 项目由 Apache License 2.0 授权发布,详情请查阅许可证文件。