Affe
TextMonkey
Mini-Affe
2024.11.27
? Vielen Dank an Fahd Mirza für das Teilen eines Videos zur Ausführung von Monkey.
2024.8.13
? Quellcode für Mini-Monkey wird veröffentlicht.
2024.8.6
? Wir veröffentlichen den Mini-Affen aus Papier.
2024.4.13
? Quellcode für TextMonkey wird veröffentlicht.
2024.4.5
? Monkey ist als CVPR 2024 Highlight Paper nominiert.
2024.3.8
? Wir veröffentlichen das Paper TextMonkey.
2024.2.27
? Monkey wird von CVPR 2024 akzeptiert.
2024.1.3
? Geben Sie die grundlegende Datengenerierungspipeline frei. Datengenerierung
2023.11.06
? Wir veröffentlichen den Papieraffen.
Affen-Chat
Modell | Sprachmodell | Transformatoren (HF) | MMBench-Test | CCBench | MME | SeedBench_IMG | MathVista-MiniTest | HallusionBench-Durchschn | AI2D-Test | OCRBench |
---|---|---|---|---|---|---|---|---|---|---|
Affen-Chat | Qwev-7B | ?echo840/Monkey-Chat | 72,4 | 48 | 1887.4 | 68,9 | 34.8 | 39.3 | 68,5 | 534 |
Mini-Affe | internlm2-chat-1_8b | Mini-Affe | --- | 75,5 | 1881.9 | 71.3 | 47.3 | 38.7 | 74,7 | 802 |
conda create -n Monkey python=3.9conda activate Monkeygit Clone https://github.com/Yuliang-Liu/Monkey.gitcd ./Monkeypip install -r require.txt
Sie können die entsprechende Version von flash_attention von https://github.com/Dao-AILab/flash-attention/releases/ herunterladen und zur Installation den folgenden Code verwenden:
pip install flash_attn-2.3.5+cu117torch2.0cxx11abiFALSE-cp39-cp39-linux_x86_64.whl --no-build-isolation
Wir bieten auch die Modelldefinition und den Trainingscode von Monkey an, die Sie oben erkunden können. Sie können den Trainingscode ausführen, indem Sie finetune_ds_debug.sh
für Monkey und finetune_textmonkey.sh
für TextMonkey ausführen.
Die für das Monkey-Training verwendete JSON-Datei kann unter Link heruntergeladen werden.
Führen Sie den Inferenzcode für Monkey und Monkey-Chat aus:
python ./inference.py --model_path MODEL_PATH --image_path IMAGE_PATH --question "YOUR_QUESTION"
Die Demo ist schnell und einfach zu bedienen. Laden Sie einfach ein Bild von Ihrem Desktop oder Telefon hoch oder nehmen Sie eines direkt auf. Demo_chat wird außerdem als aktualisierte Version der ursprünglichen Demo eingeführt, um ein verbessertes interaktives Erlebnis zu bieten.
Wir stellen auch den Quellcode und die Modellgewichtung für die Originaldemo bereit, sodass Sie bestimmte Parameter für ein einzigartigeres Erlebnis anpassen können. Die spezifischen Vorgänge sind wie folgt:
Stellen Sie sicher, dass Sie die Umgebung konfiguriert haben.
Sie können die Demo offline oder online nutzen:
Offline:
python demo.py
Laden Sie das Modellgewicht herunter.
Ändern Sie DEFAULT_CKPT_PATH="pathto/Monkey"
in der Datei demo.py
in Ihren Modellgewichtungspfad.
Führen Sie die Demo mit dem folgenden Befehl aus:
Online:
python demo.py -c echo840/Monkey
Führen Sie die Demo aus und laden Sie Modellgewichte online mit dem folgenden Befehl herunter:
Für TextMonkey können Sie das Modellgewicht von Model Weight herunterladen und den Democode ausführen:
python demo_textmonkey.py -c model_path
Vor dem 14.11.2023 haben wir beobachtet, dass Monkey bei einigen Zufallsbildern genauere Ergebnisse erzielen kann als GPT4V.
Vor dem 31.01.2024 erreichte Monkey-chat den fünften Platz in der Kategorie „Multimodales Modell“ auf OpenCompass.
Sie können die von Monkey verwendeten Trainings- und Testdaten von Monkey_Data herunterladen.
Die für das Monkey-Training verwendete JSON-Datei kann unter Link heruntergeladen werden.
Die Daten aus unserer mehrstufigen Beschreibungsgenerierungsmethode sind jetzt Open-Source und können unter Link heruntergeladen werden. Wir laden die in der mehrstufigen Beschreibung verwendeten Bilder bereits hoch. Beispiele:
Sie können Zugbilder von Monkey von Train herunterladen. Extraktionscode: 4hdh
Sie können Testbilder und JSONLs von Monkey von Test herunterladen. Extraktionscode: 5h71
Die Bilder stammen von CC3M, COCO Caption, TextCaps, VQAV2, OKVQA, GQA, ScienceQA, VizWiz, TextVQA, OCRVQA, ESTVQA, STVQA, AI2D und DUE_Benchmark. Bei der Nutzung der Daten ist die Einhaltung der Protokolle des Originaldatensatzes erforderlich.
Wir bieten Auswertungscode für 14 Visual Question Answering (VQA)-Datensätze in der Datei evaluate_vqa.py
an, was eine schnelle Überprüfung der Ergebnisse ermöglicht. Die spezifischen Vorgänge sind wie folgt:
Stellen Sie sicher, dass Sie die Umgebung konfiguriert haben.
Ändern Sie sys.path.append("pathto/Monkey")
in den Projektpfad.
Bereiten Sie die für die Auswertung erforderlichen Datensätze vor.
Führen Sie den Evaluierungscode aus.
Nehmen Sie ESTVQA als Beispiel:
Bereiten Sie die Daten gemäß der folgenden Verzeichnisstruktur vor:
├── data | ├── estvqa | ├── test_image | ├── {image_path0} | ├── {image_path1} | · | · | ├── estvqa.jsonl
Beispiel für das Format jeder Zeile der mit Anmerkungen versehenen .jsonl
Datei:
{"image": "data/estvqa/test_image/011364.jpg", "question": "What is this store?", "answer": "pizzeria", "question_id": 0}
Ändern Sie das Wörterbuch ds_collections
:
ds_collections = { 'estvqa_test': { 'test': 'data/estvqa/estvqa.jsonl', 'metric': 'anls', 'max_new_tokens': 100, }, ... }
Führen Sie den folgenden Befehl aus:
bash eval/eval.sh 'EVAL_PTH' 'SAVE_NAME'
Wenn Sie auf die hier veröffentlichten Basisergebnisse verweisen möchten, verwenden Sie bitte die folgenden BibTeX-Einträge:
@inproceedings{li2023monkey, title={Monkey: Bildauflösung und Textbeschriftung sind wichtige Dinge für große multimodale Modelle}, Autor={Li, Zhang und Yang, Biao und Liu, Qiang und Ma, Zhiyin und Zhang, Shuo und Yang , Jingxu und Sun, Yabo und Liu, Yuliang und Bai, Xiang}, booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Erkennung}, Jahr={2024}}@article{liu2024textmonkey, Titel={TextMonkey: Ein OCR-freies großes multimodales Modell zum Verständnis von Dokumenten}, Autor={Liu, Yuliang und Yang, Biao und Liu, Qiang und Li, Zhang und Ma, Zhiyin und Zhang, Shuo und Bai, Xiang}, journal={arXiv preprint arXiv:2403.04473}, Jahr={2024}}@article{huang2024mini, title={Mini-Monkey: Multi-Scale Adaptive Cropping for Multimodal Large Language Models}, Autor={Huang, Mingxin und Liu, Yuliang und Liang, Dingkang und Jin, Lianwen und Bai , Xiang}, journal={arXiv preprint arXiv:2408.02034}, Jahr={2024}}@article{deng2024r, title={R-CoT: Reverse Chain-of-Thought Problem Generation for Geometrisches Denken in großen multimodalen Modellen}, Autor={Deng, Linger und Liu, Yuliang und Li, Bohan und Luo, Dongliang und Wu, Liang und Zhang, Chengquan und Lyu, Pengyuan und Zhang, Ziyang und Zhang, Gang und Ding, Errui und andere}, Zeitschrift={arXiv Preprint arXiv:2410.17885}, Jahr={2024}}
Die Monkey-Reihe konzentriert sich hauptsächlich auf die Erforschung von Techniken wie der Verbesserung der Bildauflösung und Token-Komprimierungsmethoden, um die Leistung bestehender multimodaler großer Modelle zu verbessern. Beispielsweise basierten frühere Versionen von Monkey und TextMonkey auf QwenVL, während MiniMonkey unter anderem auf InternVL2 und miniCPM basierte. Vielen Dank an Qwen-VL, LLAMA, LLaVA, OpenCompass, InternLM und InternVL.
Das Monkey-Projekt ist nur für die nichtkommerzielle Nutzung bestimmt. Für kommerzielle Anfragen oder um fortgeschrittenere Versionen der LMMs der Monkey-Serie (<1b, 2b, 7b, 72b) zu erkunden, wenden Sie sich bitte an Prof. Yuliang Liu unter [email protected].