MG-LLaVA

MG-LLaVA

融合多粒度视觉特征的大语言模型

MG-LLaVA是一种创新的多模态大语言模型,通过整合低分辨率、高分辨率和物体中心特征,显著提升了视觉处理能力。模型引入高分辨率视觉编码器捕捉细节,并利用Conv-Gate网络融合视觉特征。同时集成离线检测器的物体级特征,增强了物体识别能力。仅基于公开多模态数据进行指令微调,MG-LLaVA在多项基准测试中展现出优异的感知表现。

MG-LLaVA多粒度视觉指令调优多模态大语言模型视觉处理性能提升Github开源项目
<div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/ae68c95d-233c-466a-a455-5ee089279108.png" alt="您的图片" width="70px" style="float: left; margin-right: 1px;"/> </div>

MG-LLaVA:面向多粒度视觉指令微调

Xiangyu Zhao, Xiangtai Li, Haodong Duan, Haian Huang, Yining Li, Kai Chen, Hua Yang

<p align="center"> <a href='https://arxiv.org/abs/2406.17770'> <img src='https://img.shields.io/badge/论文-PDF-green?style=flat&logo=arXiv&logoColor=green' alt='arXiv PDF'> </a> <a href='https://phoenixz810.github.io/MGLLaVA/'> <img src='https://img.shields.io/badge/项目-主页-blue?style=flat&logo=webpack' alt='项目主页'> </a> <a href='https://www.youtube.com/watch?v=WI-65Jk0j50'> <img src='https://img.shields.io/badge/视频-YouTube-red?style=flat&logo=YouTube' alt='视频'> </a> </p> <br /> <div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/6ec6007f-d2b6-40f8-bcc3-2198147c6e63.png" width="90%"> </div>

🎉 新闻

📖 简介

我们提出了 MG-LLaVA,这是一种创新的多模态大语言模型,通过整合多粒度视觉流来增强模型的视觉处理能力,包括低分辨率、高分辨率和以对象为中心的特征。我们提出引入额外的高分辨率视觉编码器来捕捉细粒度细节,然后通过 Conv-Gate 融合网络将这些细节与基本视觉特征融合。为进一步提升模型的对象识别能力,我们还整合了来自离线检测器识别的边界框的对象级特征。通过仅在公开可用的多模态数据上进行指令微调,MG-LLaVA 展现出了卓越的感知技能。

<div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/764467f0-4959-4cd4-8f6d-f2b8e155ca2b.png" width="80%"> </div>

🔥 主要结果

<div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/cdcf61d2-72fe-4eb5-8c3f-fe08c9d31af4.png" width="60%"> </div> <div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/1f40b942-8a4f-4fe6-bc82-5d88899829d6.png" width="90%"> </div>

🛠️ 快速开始

安装

  • 建议使用 conda 创建 Python-3.10 虚拟环境

    conda create --name mgllava-env python=3.10 -y conda activate mgllava-env
  • 从源代码安装 XTuner

    git clone https://github.com/PhoenixZ810/MG-LLaVA.git cd MG-LLaVA pip install -e '.[all]'

数据准备

请参考 dataset_prepare.md

模型权重

我们的检查点可在 ModelZoo 获取。

训练前准备

MG-LLaVA 使用了多个范围从 3.8B 到 34B 的 LLM,包括 Phi-3-3.8BVicuna1.5-7BVicuna1.5-13Bllama3-8BYi1.5-34B。我们采用 CLIP-Large-336CLIP-ConvNext-320-d 作为视觉编码器,在训练前你需要下载 LLM 和 CLIP 的检查点。

训练过程与原始 XTuner 类似。在训练之前,你应该检查 configs 并修改以下变量为你自己的设置。你也可以修改 configs 以使用自己的设置训练模型。

# LLM 和 CLIP 的路径 llm_name_or_path visual_encoder_name_or_path visual_encoder_aux_path prompt_template # 数据 data_path box_json_path image_folder offline_processed_text_folder(可选) # 训练 pretrained_pth(微调)

在训练之前,你可以使用以下命令预处理文本数据以加快训练过程。你可以通过运行以下命令预处理文本数据:

python xtuner/tools/process_untokenized_llava_data.py CONFIG --save-folder TEXT-PATH

然后在配置文件中将 offline_processed_text_folder 设置为 TEXT-PATH

训练与评估

MG-LLaVA 遵循两阶段训练过程,使用 Vicuna1.5-7B 模型在 8×A100 GPU 上训练整个过程大约需要 23 小时。例如,要使用 Vicuna1.5-7B 训练 MG-LLaVA 模型,你可以使用以下命令:

  • 完整流程:预训练 + 微调 + 评估

    bash script/train_vicuna7B.sh

如果你想逐步训练我们的模型,可以按照以下说明进行:

  • 第一步,开始预训练。

    bash script/train_pretrain.sh mg_llava/config/vicuna/fuse_vicuna7b_clip_L_14_336_pretrain_padding.py
  • 第二步,开始微调。

    bash script/train_sft.sh mg_llava/config/vicuna/fuse_vicuna7b_clip_L_14_336_sft_padding.py
    • --deepspeed 表示使用 DeepSpeed 🚀 优化训练。XTuner 集成了几种策略,包括 ZeRO-1、ZeRO-2 和 ZeRO-3。如果你想禁用此功能,只需删除这个参数。

    • 更多示例,请参见 finetune.md

  • 第三步,评估。评估指标在 sft 配置中指定,包括 MMBench、SEED、SQA、AI2D、TextVQA、POPE、GQA、VQAv2 等。请参考 evaluation.md

    你可以将保存的 PTH 模型(如果使用 DeepSpeed,它将是一个目录)转换为 Hugging Face 模型,方法如下:

    xtuner convert pth_to_hf CONFIG_NAME_OR_PATH CHECKPOINT SAVE_PATH

引用

如果您发现 MG-LLaVA 有用,请使用以下 BibTeX 进行引用:

@article{zhao2024mg, title={MG-LLaVA: Towards Multi-Granularity Visual Instruction Tuning}, author={Zhao, Xiangyu and Li, Xiangtai and Duan, Haodong and Huang, Haian and Li, Yining and Chen, Kai and Yang, Hua}, journal={arXiv preprint arXiv:2406.17770}, year={2024} }

致谢

  • Xtuner:我们基于此代码库进行开发。
  • LLaVA:基础模型结构。

编辑推荐精选

Manus

Manus

全面超越基准的 AI Agent助手

Manus 是一款通用人工智能代理平台,能够将您的创意和想法迅速转化为实际成果。无论是定制旅行规划、深入的数据分析,还是教育支持与商业决策,Manus 都能高效整合信息,提供精准解决方案。它以直观的交互体验和领先的技术,为用户开启了一个智慧驱动、轻松高效的新时代,让每个灵感都能得到完美落地。

飞书知识问答

飞书知识问答

飞书官方推出的AI知识库 上传word pdf即可部署AI私有知识库

基于DeepSeek R1大模型构建的知识管理系统,支持PDF、Word、PPT等常见文档格式解析,实现云端与本地数据的双向同步。系统具备实时网络检索能力,可自动关联外部信息源,通过语义理解技术处理结构化与非结构化数据。免费版本提供基础知识库搭建功能,适用于企业文档管理和个人学习资料整理场景。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

TraeAI IDE协作生产力转型热门AI工具
酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

使用教程AI工具酷表ChatExcelAI智能客服AI营销产品
DeepEP

DeepEP

DeepSeek开源的专家并行通信优化框架

DeepEP是一个专为大规模分布式计算设计的通信库,重点解决专家并行模式中的通信瓶颈问题。其核心架构采用分层拓扑感知技术,能够自动识别节点间物理连接关系,优化数据传输路径。通过实现动态路由选择与负载均衡机制,系统在千卡级计算集群中维持稳定的低延迟特性,同时兼容主流深度学习框架的通信接口。

DeepSeek

DeepSeek

全球领先开源大模型,高效智能助手

DeepSeek是一家幻方量化创办的专注于通用人工智能的中国科技公司,主攻大模型研发与应用。DeepSeek-R1是开源的推理模型,擅长处理复杂任务且可免费商用。

KnowS

KnowS

AI医学搜索引擎 整合4000万+实时更新的全球医学文献

医学领域专用搜索引擎整合4000万+实时更新的全球医学文献,通过自主研发AI模型实现精准知识检索。系统每日更新指南、中英文文献及会议资料,搜索准确率较传统工具提升80%,同时将大模型幻觉率控制在8%以下。支持临床建议生成、文献深度解析、学术报告制作等全流程科研辅助,典型用户反馈显示每周可节省医疗工作者70%时间。

Windsurf Wave 3

Windsurf Wave 3

Windsurf Editor推出第三次重大更新Wave 3

新增模型上下文协议支持与智能编辑功能。本次更新包含五项核心改进:支持接入MCP协议扩展工具生态,Tab键智能跳转提升编码效率,Turbo模式实现自动化终端操作,图片拖拽功能优化多模态交互,以及面向付费用户的个性化图标定制。系统同步集成DeepSeek、Gemini等新模型,并通过信用点数机制实现差异化的资源调配。

AI IDE
腾讯元宝

腾讯元宝

腾讯自研的混元大模型AI助手

腾讯元宝是腾讯基于自研的混元大模型推出的一款多功能AI应用,旨在通过人工智能技术提升用户在写作、绘画、翻译、编程、搜索、阅读总结等多个领域的工作与生活效率。

AI 办公助手AI对话AI助手AI工具腾讯元宝智能体热门
Grok3

Grok3

埃隆·马斯克旗下的人工智能公司 xAI 推出的第三代大规模语言模型

Grok3 是由埃隆·马斯克旗下的人工智能公司 xAI 推出的第三代大规模语言模型,常被马斯克称为“地球上最聪明的 AI”。它不仅是在前代产品 Grok 1 和 Grok 2 基础上的一次飞跃,还在多个关键技术上实现了创新突破。

下拉加载更多