猴
文本猴子
迷你猴子
2024.11.27
?感谢 Fahd Mirza 分享有关如何运行 Monkey 的视频。
2024.8.13
? Mini-Monkey 的源代码已发布。
2024.8.6
?我们发布了《迷你猴子》论文。
2024.4.13
? TextMonkey 的源代码已发布。
2024.4.5
? Monkey 被提名为 CVPR 2024 亮点论文。
2024.3.8
?我们发布了论文 TextMonkey。
2024.2.27
? Monkey 已被 CVPR 2024 接受。
2024.1.3
?发布基础数据生成管道。数据生成
2023.11.06
?我们发布了论文《猴子》。
猴子聊天
模型 | 语言模型 | 变压器(高频) | MMBench测试 | CC基准测试 | 微机电系统 | SeedBench_IMG | MathVista-MiniTest | 幻觉基准平均 | AI2D测试 | OCRBench |
---|---|---|---|---|---|---|---|---|---|---|
猴子聊天 | Qwev-7B | ?echo840/猴子聊天 | 72.4 | 48 | 1887.4 | 68.9 | 34.8 | 39.3 | 68.5 | 第534章 |
迷你猴子 | internlm2-chat-1_8b | 迷你猴子 | --- | 75.5 | 1881.9 | 71.3 | 47.3 | 38.7 | 74.7 | 802 |
conda create -n Monkey python=3.9conda激活monkeygit克隆 https://github.com/Yuliang-Liu/Monkey.gitcd ./Monkeypip install -rrequirements.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 的模型定义和训练代码,您可以在上面进行探索。您可以通过对 Monkey 执行finetune_ds_debug.sh
和对 TextMonkey 执行finetune_textmonkey.sh
来执行训练代码。
用于 Monkey 训练的 json 文件可以在链接下载。
运行 Monkey 和 Monkey-Chat 的推理代码:
python ./inference.py --model_path MODEL_PATH --image_path IMAGE_PATH --question "YOUR_QUESTION"
演示快速且易于使用。只需从桌面或手机上传图像,或直接捕获图像即可。 Demo_chat 也作为原始演示的升级版本推出,以提供增强的交互体验。
我们还提供原始演示的源代码和模型权重,允许您自定义某些参数以获得更独特的体验。具体操作如下:
确保您已经配置好环境。
您可以选择离线或在线使用演示:
离线:
python demo.py
下载模型重量。
将demo.py
文件中的DEFAULT_CKPT_PATH="pathto/Monkey"
修改为您的模型权重路径。
使用以下命令运行演示:
在线的:
python demo.py -c echo840/Monkey
使用以下命令运行演示并在线下载模型权重:
对于 TextMonkey,您可以从 Model Weight 下载模型权重并运行演示代码:
python demo_textmonkey.py -c model_path
在2023年11月14日之前,我们观察到对于一些随机图片,Monkey可以取得比GPT4V更准确的结果。
2024 年 1 月 31 日之前,Monkey-chat 在 OpenCompass 的多模式模型类别中排名第五。
您可以从Monkey_Data下载monkey使用的训练和测试数据。
用于 Monkey 训练的 json 文件可以在链接下载。
我们的多级描述生成方法的数据现已开源,可在链接下载。我们已经上传了多级描述中使用的图像。示例:
您可以从 Train 下载 Monkey 的火车图像。提取码:4hdh
您可以从 Test 下载 Monkey 的测试图像和 jsonls。提取码:5h71
图像来自 CC3M、COCO Caption、TextCaps、VQAV2、OKVQA、GQA、ScienceQA、VizWiz、TextVQA、OCRVQA、ESTVQA、STVQA、AI2D 和 DUE_Benchmark。使用数据时,需要遵守原始数据集的协议。
我们在evaluate_vqa.py
文件中提供了14个视觉问答(VQA)数据集的评估代码,以便于快速验证结果。 具体操作如下:
确保您已经配置好环境。
修改sys.path.append("pathto/Monkey")
为项目路径。
准备评估所需的数据集。
运行评估代码。
以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'
如果您想参考此处发布的基线结果,请使用以下 BibTeX 条目:
@inproceedings{li2023monkey,title={Monkey:图像分辨率和文本标签对于大型多模态模型来说很重要},author={Li、Zhang 和 Yang、Biao 和 Liu、Qiang 和 Ma、Zhiyin 和 Zhang、Shuo 和 Yang ,Jingxu 和 Sun,Yabo 和 Liu,Yuliang 和 Bai,Xiang},booktitle={IEEE/CVF 计算机视觉和模式识别会议论文集}, year={2024}}@article{liu2024textmonkey, title={TextMonkey: 一种用于理解文档的无 OCR 的大型多模态模型},author={刘、玉良和杨、彪和刘、强和李、张和马、志银和张硕和白翔},journal={arXiv 预印本 arXiv:2403.04473}, year={2024}}@article{huang2024mini, title={Mini-Monkey: Multi-Scale Adaptive Cropping for Multimodal Large Language Models}, 作者={Huang, Mingxin and Liu, Yuliang and Liang, Dingkang and Jin, Lianwen and Bai , 翔}, 期刊={arXiv预印本arXiv:2408.02034},年={2024}}@article{deng2024r,title={R-CoT:大型多模态模型中几何推理的反向思维链问题生成},作者={Deng、Linger 和 Liu、Yuliang 和 Li、Bohan 和罗栋梁与吴、梁与张、成全与吕、彭远与张、紫阳与张、刚与丁、二瑞等},期刊={arXiv预印本arXiv:2410.17885},年份={2024}}
Monkey系列主要致力于探索图像分辨率增强和令牌压缩方法等技术,以提高现有多模态大型模型的性能。例如,早期版本的 Monkey 和 TextMonkey 基于 QwenVL,而 MiniMonkey 基于 InternVL2 和 miniCPM 等。感谢 Qwen-VL、LLAMA、LLaVA、OpenCompass、InternLM 和 InternVL。
Monkey 项目仅供非商业用途。如需商业咨询或探索 Monkey 系列 LMM(<1b、2b、7b、72b)的更高级版本,请联系 Yuliang Liu 教授,邮箱:[email protected]。