Project Icon

Monkey

利用高分辨率图像和优质文本标签增强多模态模型性能

Monkey是一个开源的多模态大模型项目,通过提高图像分辨率和优化文本标签来改善模型性能。该项目在MMBench、CCBench和MME等基准测试中表现优异。Monkey提供完整的模型定义、训练代码和演示系统,支持离线和在线部署。此外,项目还开源了多级描述生成数据集,并提供了针对多个视觉问答数据集的评估工具,方便研究人员进行实验和改进。

Monkey:图像分辨率和文本标签对大型多模态模型至关重要

请为最新更新点亮星标 ⭐

arXiv License GitHub issues GitHub closed issues

💡 Monkey系列项目:✨

[CVPR'24] Monkey:图像分辨率和文本标签对大型多模态模型至关重要
张力, 杨彪, 刘强, 马志银, 张硕, 杨敬旭, 孙亚博, 刘玉良, 白翔
Paper Source_code Demo Detailed Caption Model Weight Model Weight in Wisemodel Demo in Wisemodel

TextMonkey:无需OCR的大型多模态文档理解模型
刘玉良, 杨彪, 刘强, 张力, 马志银, 张硕, 白翔
arXiv Source_code Data Model Weight

Mini-Monkey:多模态大语言模型的多尺度自适应裁剪
黄明鑫, 刘玉良, 梁定康, 金连文, 白翔
arXiv Source_code Demo Model Weight

新闻

  • 2024.8.13 🚀 Mini-Monkey的源代码已发布。
  • 2024.8.6 🚀 我们发布了Mini-Monkey论文。
  • 2024.4.13 🚀 TextMonkey的源代码已发布。
  • 2024.4.5 🚀 Monkey被提名为CVPR 2024亮点论文。
  • 2024.3.8 🚀 我们发布了TextMonkey论文。
  • 2024.2.27 🚀 Monkey被CVPR 2024接收。
  • 2024.1.3 🚀 发布基础数据生成流程。数据生成
  • 2023.12.16 🚀 Monkey现可使用8张NVIDIA 3090 GPU进行训练。详见训练小节。
  • 2023.11.06 🚀 我们发布了Monkey论文。

🐳 模型库

Monkey-Chat

模型语言模型Transformers(HF)MMBench-TestCCBenchMMESeedBench_IMGMathVista-MiniTestHallusionBench-AvgAI2D TestOCRBench
Monkey-ChatQwev-7B🤗echo840/Monkey-Chat72.4481887.468.934.839.368.5534
Mini-Monkeyinternlm2-chat-1_8bMini-Monkey---75.51881.971.347.338.774.7802

环境

conda create -n monkey python=3.9
conda activate monkey
git clone https://github.com/Yuliang-Liu/Monkey.git
cd ./Monkey
pip install -r requirements.txt

您可以从https://github.com/Dao-AILab/flash-attention/releases/下载相应版本的flash_attention,并使用以下代码安装:

pip install flash_attn-2.3.5+cu117torch2.0cxx11abiFALSE-cp39-cp39-linux_x86_64.whl --no-build-isolation

训练

我们还提供了Monkey的模型定义和训练代码,您可以在上面探索。您可以通过执行finetune_ds_debug.sh来执行Monkey的训练代码,通过执行finetune_textmonkey.sh来执行TextMonkey的训练代码。

用于Monkey训练的json文件可以在此链接下载。

推理

运行Monkey和Monkey-Chat的推理代码:

python ./inference.py --model_path 模型路径 --image_path 图像路径 --question "您的问题"

演示

演示快速且易于使用。只需从桌面或手机上传图像,或直接拍摄一张。 Demo_chat作为原始演示的升级版本也已启动,以提供增强的交互体验。

我们还提供了原始演示的源代码和模型权重,允许您自定义某些参数以获得更独特的体验。具体操作如下:

  1. 确保您已配置环境
  2. 您可以选择离线或在线使用演示:
  • 离线:
    • 下载模型权重
    • 修改demo.py文件中的DEFAULT_CKPT_PATH="pathto/Monkey"为您的模型权重路径。
    • 使用以下命令运行演示:
    python demo.py
    
  • 在线:
    • 使用以下命令运行演示并在线下载模型权重:
    python demo.py -c echo840/Monkey 
    

对于TextMonkey,您可以从模型权重下载模型权重,并运行演示代码:

python demo_textmonkey.py -c 模型路径

在2023年11月14日之前,我们观察到对于一些随机图片,Monkey可以比GPT4V获得更准确的结果。


在2024年1月31日之前,Monkey-chat在OpenCompass的多模态模型类别中排名第五。


数据集

你可以从Monkey_Data下载Monkey使用的训练和测试数据。

Monkey训练所用的json文件可以在此链接下载。

我们多层次描述生成方法的数据现已开源,可在此链接下载。我们已上传了多层次描述中使用的图片。示例:



你可以从此链接下载Monkey的训练图片。提取码:4hdh

你可以从此链接下载Monkey的测试图片和jsonl文件。提取码:5h71

这些图片来自CC3M、COCO Caption、TextCaps、VQAV2、OKVQA、GQA、ScienceQA、VizWiz、TextVQA、OCRVQA、ESTVQA、STVQA、AI2D和DUE_Benchmark。使用数据时,需遵守原始数据集的协议。

评估

我们在evaluate_vqa.py文件中提供了14个视觉问答(VQA)数据集的评估代码,便于快速验证结果。具体操作如下:

  1. 确保已配置环境
  2. 修改sys.path.append("pathto/Monkey")为项目路径。
  3. 准备评估所需的数据集。
  4. 运行评估代码。

以ESTVQA为例:

  • 按以下目录结构准备数据:
├── data
|	├── estvqa
|		├── test_image
|			├── {image_path0}
|			├── {image_path1}
|				  ·
|				  ·
|	├── estvqa.jsonl
  • 注释.jsonl文件每行格式示例:
{"image": "data/estvqa/test_image/011364.jpg", "question": "What is this store?", "answer": "pizzeria", "question_id": 0}
  • 修改字典ds_collections
ds_collections = {
	'estvqa_test': {
		'test': 'data/estvqa/estvqa.jsonl',
		'metric': 'anls',
		'max_new_tokens': 100,
	},
	...
}
  • 运行以下命令:
bash eval/eval.sh 'EVAL_PTH' 'SAVE_NAME'

引用Monkey

如果你想引用此处发布的基准结果,请使用以下BibTeX条目:

@inproceedings{li2023monkey,
  title={Monkey: Image Resolution and Text Label Are Important Things for Large Multi-modal Models},
  author={Li, Zhang and Yang, Biao and Liu, Qiang and Ma, Zhiyin and Zhang, Shuo and Yang, Jingxu and Sun, Yabo and Liu, Yuliang and Bai, Xiang},
  booktitle={proceedings of the IEEE/CVF conference on computer vision and pattern recognition},
  year={2024}
}
@article{liu2024textmonkey,
  title={TextMonkey: An OCR-Free Large Multimodal Model for Understanding Document},
  author={Liu, Yuliang and Yang, Biao and Liu, Qiang and Li, Zhang and Ma, Zhiyin and Zhang, Shuo and Bai, Xiang},
  journal={arXiv preprint arXiv:2403.04473},
  year={2024}
}
@article{huang2024mini,
  title={Mini-Monkey: Multi-Scale Adaptive Cropping for Multimodal Large Language Models},
  author={Huang, Mingxin and Liu, Yuliang and Liang, Dingkang and Jin, Lianwen and Bai, Xiang},
  journal={arXiv preprint arXiv:2408.02034},
  year={2024}
}

致谢

Qwen-VLLLAMALLaVAOpenCompassInternLMInternVL

版权

我们欢迎提出建议以帮助我们改进Monkey。如有任何疑问,请联系刘玉良博士:ylliu@hust.edu.cn。如果你发现有趣的内容,也欢迎通过电子邮件或提出问题与我们分享。谢谢!

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号