ParGo:字节与中山大学联合推出的多模态大模型连接器,高效对齐视觉与语言模态

193 阅读3分钟

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:ParGo 通过全局与局部视角联合,高效连接视觉与语言模态,提升多模态大语言模型的效果。
  2. 技术:采用 Partial-Global Perception Block 和 Cascaded Partial Perception Block 模块,结合自监督学习策略,增强模型对上下文的理解。
  3. 应用:适用于视觉问答、图像字幕生成、跨模态检索等任务,显著提升细节感知能力。

正文(附运行示例)

ParGo 是什么

ParGo

ParGo 是字节团队与中山大学合作推出的多模态大语言模型连接器,旨在提升视觉和语言模态在多模态大语言模型(MLLMs)中的对齐效果。通过结合局部 token 和全局 token,使用精心设计的注意力掩码分别提取局部和全局信息,在控制 token 数量的同时增强了局部区域之间的关系建模。

ParGo 充分考虑了图像的细节与全局视角,克服了传统方法中忽视细节的问题。其核心在于通过 Partial-Global Perception Block(PGP)和 Cascaded Partial Perception Block(CPP)两个关键模块,将视觉特征映射为 Partial token 和 Global token,分别提取图像的局部和全局信息。

ParGo 的主要功能

  • 高效连接视觉与语言模态:通过全局与局部视角联合,ParGo 实现了视觉特征和大语言模型(LLM)的高效连接,克服了传统方法对显著区域的过度聚焦问题。
  • 提升多模态大语言模型效果:在多个 MLLM 基准测试中表现出色,特别是在强调细节感知能力的任务中,显著优于其他投影器。
  • 自监督学习增强上下文理解:通过预测遮挡部分的内容,增强模型对上下文的理解能力,减少了对大规模标注数据的依赖。

ParGo 的技术原理

  • 全局+局部视角联合:ParGo 采用两种类型的可学习 token,基于 attention 机制,同时从局部和全局视角将视觉特征映射到大语言模型(LLM)中。
  • Partial-Global Perception Block (PGP):将视觉编码器的特征映射为 Partial token 和 Global token,分别提取图像的局部和全局信息。
  • Cascaded Partial Perception Block (CPP):通过带有特殊设计掩码的自注意力机制,逐步扩展 Partial token 的感知范围。
  • 自监督学习策略:在训练阶段引入自监督学习策略,通过预测遮挡部分的内容来增强模型对上下文的理解能力。

如何运行 ParGo

1. 环境配置

首先,克隆 ParGo 仓库并创建虚拟环境:

cd ParGo
conda create -n ParGo_env python=3.10 -y
conda activate ParGo_env
pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
pip install -r ./requirements.txt
2. 下载模型

需要提前下载 LLM(internlm2-7b)和视觉编码器(eva-clip-l-14-336)。

3. 评估 MME 基准

将基准数据放置在 benchmarks 目录下,数据结构如下:

├── benchmarks
│   ├── MMEBenmark
│       └── images
│       └── Data_json

然后生成响应并计算分数:

python3 eval/eval_mme_finetuning.py --config ./configs/MMEBench_interLM2-7B.json
python3 eval/calculation_mme.py --results_dir ./output/internlm2-MME

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦