Ein Toolkit zur Bewertung großer Sichtsprachmodelle.
• • • •
Englisch | 简体中文 | 日本語
? OC Learderboard • QuickStart • Datensätze und Modelle • Entwicklung • Ziel • Zitat
? HF Rangliste •? Bewertungsunterlagen •? HF Video Rangliste •? Zwietracht • Bericht
VlMevalkit (der Python-Paketname ist VlMeval ) ist ein Open-Source-Bewertungs-Toolkit von großen Sehvermögensmodellen (LVLMs) . Es ermöglicht eine Eintragsbewertung von LVLMs an verschiedenen Benchmarks, ohne dass die Datenvorbereitung in mehreren Repositories starke Datenvorbereitung ist. In VLMevalkit übernehmen wir eine generellbasierte Bewertung für alle LVLMs und liefern die Bewertungsergebnisse mit der exakten Übereinstimmung und LLM-basierten Antwortextraktion .
VLMEVALKIT_USE_MODELSCOPE . Durch das Festlegen dieser Umgebungsvariablen können Sie die von ModelsCope unterstützten Video -Benchmarks herunterladenpython run.py --help für weitere Details ausSiehe [QuickStart | 快速开始] für einen Kurzanleitung.
Die Leistungsnummern in unseren offiziellen multimodalen Bestenlisten können von hier heruntergeladen werden!
OpenVLM Rangliste : Laden Sie alle detaillierten Ergebnisse herunter .
Unterstütztes Bildverständnis -Datensatz
MCQ : Multi-Choice-Frage; Y/N : Ja-oder-Nein-Fragen; MTT : Benchmark mit Multiturn-Gesprächen; MTI : Benchmark mit Multi-Image als Eingaben.| Datensatz | Datensatznamen (für run.py) | Aufgabe | Datensatz | Datensatznamen (für run.py) | Aufgabe |
|---|---|---|---|---|---|
| MMBench -Serie : Mmbench, Mmbench-CN, CCBench | Mmbench_dev_ [en/cn] Mmbench_test_ [en/cn] Mmbench_dev_ [en/cn] _v11 Mmbench_test_ [en/cn] _v11 Ccbench | MCQ | Mmstar | Mmstar | MCQ |
| Mme | Mme | Y/n | Seedbench -Serie | SeedBench_img SeedBench2 SeedBench2_plus | MCQ |
| MM-VET | Mmvet | VQA | MMMU | MMMU_ [dev_val/test] | MCQ |
| Mathvista | Mathvista_mini | VQA | Scienceqa_img | Scienceqa_ [Val/Test] | MCQ |
| Coco caption | Coco_val | Untertitel | HallusionBench | HallusionBench | Y/n |
| Ocrvqa * | Ocrvqa_ [testcore/test] | VQA | Textvqa * | Textvqa_val | VQA |
| Chartqa * | Chartqa_test | VQA | Ai2d | AI2D_ [test/test_no_mask] | MCQ |
| Llavabench | Llavabench | VQA | Docvqa + | Docvqa_ [val/test] | VQA |
| Infovqa + | Infovqa_ [Val/Test] | VQA | Ocrbench | Ocrbench | VQA |
| Realworldqa | Realworldqa | MCQ | PAPST | PAPST | Y/n |
| Core -mm - | Core_mm (MTI) | VQA | MMT-Bench | MMT-Bench_ [Val/All] MMT-Bench_ [Val/All] _mi | MCQ (MTI) |
| Mllmguard - | Mllmguard_ds | VQA | Aesbench + | Aesbench_ [Val/Test] | MCQ |
| VCR-Wiki + | VCR_ [EN/ZH] _ [Easy/Hard] _ [All/500/100] | VQA | Mmlongbench-doc + | Mmlongbench_doc | VQA (MTI) |
| BLINKEN | BLINKEN | MCQ (MTI) | Mathvision + | Mathematik Mathvision_mini | VQA |
| MT-VQA | Mtvqa_test | VQA | Mmdu + | Mmdu | VQA (MTT, MTI) |
| Q-Bench1 | Q-Bench1_ [Val/Test] | MCQ | A-Bank | A-Bench_ [Val/Test] | MCQ |
| Typ + | ALTER | VQA (MTI) | SlideVQA + | Slidevqa Slidevqa_Mini | VQA (MTI) |
| TaskMeanything ImageQa Random + | TaskMeanyThing_V1_IMAGEQA_RANDOM | MCQ | Mmmb und mehrsprachig mmbench + | MMMB_ [AR/CN/EN/PT/RU/Tr] Mmbench_dev_ [ar/cn/en/pt/ru/tr] Mmmb Mtl_mmbench_dev PS: MMMB & MTL_MMBENCH_DEV sind All-in-One -Namen für 6 Langs | MCQ |
| A-OKVQA + | A-OKVQA | MCQ | Muirbench + | Muirbench | MCQ |
| Gmai-mmbench + | Gmai-mmbench_val | MCQ | Tablevqabench + | Tablevqabench | VQA |
| Mme-realworld + | Mme-realworld [-cn] Mme-realworld-Lite | MCQ | Hrbench + | Hrbench [4K/8K] | MCQ |
| Mathverse + | Mathverse_mini Mathverse_mini_vision_only Mathverse_mini_vision_dominant Mathverse_mini_vision_intensiv Mathverse_mini_text_lite Mathverse_mini_text_dominant | VQA | Bernstein + | BERNSTEIN | Y/n |
| CRPE + | Crpe_ [exist/relation] | VQA | Mmssearch | - - | - - |
| R-Bench + | R-Bench- [dis/ref] | MCQ | WorldMedqa-V + | WorldMedqa-V | MCQ |
| GQA + | Gqa_testdev_balanced | VQA | Mia-Bench + | Mia-Bench | VQA |
| Wildvision + | Wildvision | VQA | Olympiadbench + | Olympiadbench | VQA |
| Mm-math + | Mm-math | VQA | Dynamath | Dynamath | VQA |
| Mmgenbench - | MMGenbench-Test MMGenbench-Domain | - - | Qspatial + | Qspatial_ [plus/scannet] | VQA |
| Vizwiz + | Vizwiz | VQA |
* Wir liefern nur eine Teilmenge der Bewertungsergebnisse, da einige VLMs im Rahmen der Null-Shot-Einstellung keine angemessenen Ergebnisse liefern
+ Die Bewertungsergebnisse sind noch nicht verfügbar
- In VlMevalkit wird nur Inferenz unterstützt (einschließlich der TEST einiger Benchmarks, die nicht die Grundwahrheitsantworten enthalten).
VlMeValkit verwendet ein Richter -LLM , um eine Antwort aus der Ausgabe zu extrahieren, wenn Sie den Schlüssel festlegen. Andernfalls verwendet er den genauen Matching -Modus (finden Sie "Ja", "Nein", "A", "B", "C" ... in den Ausgangszeichenfolgen). Die genaue Übereinstimmung kann nur auf die Ja-oder-Nr-Aufgaben und die Multi-Choice-Aufgaben angewendet werden.
Unterstütztes Videoverständnis -Datensatz
| Datensatz | Datensatznamen (für run.py) | Aufgabe | Datensatz | Datensatznamen (für run.py) | Aufgabe |
|---|---|---|---|---|---|
| Mmbench-video | Mmbench-video | VQA | Video-Mme | Video-Mme | MCQ |
| Mvbench | Mvbench/mvbench_mp4 | MCQ | MLVU | MLVU | MCQ & VQA |
| Temperatur | Temperatur | MCQ & Y/N & Caption | Longvideobench | Longvideobench | MCQ |
Unterstützte API -Modelle
| GPT-4V (20231106, 20240409) ? | Gpt-4o ? | Gemini-1.0-pro ? | Gemini-1.5-pro ? | Schritt 1V ? |
|---|---|---|---|---|
| Reka- [Edge / Flash / Core] ? | Qwen-vl- [plus / max] ? Qwen-vl- [plus / max] -0809 ? | Claude3- [Haiku / Sonnet / Opus] ? | GLM-4V ? | Herzlichen Glückwunsch ? |
| Claude3.5-SONNET (20240620, 20241022) ? | Gpt-4o-mini ? | Yi-vision ? | Hunyuan-Vision ? | Bluelm-V ? |
| Telemm ? |
Unterstützte Pytorch / HF -Modelle
| IDEFICS- [9B/80B/V2-8B/V3-8B] -Instruktur ? | InstructBlip- [7b/13b] | LLaVA-[v1-7B/v1.5-7B/v1.5-13B] | MiniGPT-4-[v1-7B/v1-13B/v2-7B] |
|---|---|---|---|
| mPLUG-Owl[2/3] | OpenFlamingo-v2 | PandaGPT-13B | Qwen-VL ? Qwen-VL-Chat ? |
| Visualglm-6b ? | Internlm-xcomposer- [1/2] ? | Sharegpt4V- [7b/13b] ? | Transcore-m |
| Llava (Xtuner) ? | COGVLM- [CHAT/Lama3] ? | ShareCaptioner ? | COGVLM-Grounding-Generalist ? |
| Affe ? Affen-Chat ? | Emu2-Chat ? | Yi-vl- [6b/34b] | Mmalaya ? |
| Internlm-Xcomposer-2.5 ? | Minicpm- [v1/v2/v2.5/v2.6] ? | Omnilmm-12b | Internvl-chat- [v1-1/v1-2/v1-5/v2] ? |
| Deepseek-vl | Llava-Next ? | Bunny-Llama3 ? | Xverse-V-13b |
| Paligemma-3b ? | 360vl-70b ? | PHI-3-Vision ? PHI-3.5-Vision ? | WEMM ? |
| GLM-4V-9b ? | Cambrian- [8b/13b/34b] | Llava-next- [Qwen-32b] | Chamäleon- [7b/30b] ? |
| Video-llava-7b- [HF] ? | VILA1.5- [3B/8B/13B/40B] | OVIS [1,5-Llama3-8b/1,5-GEMMA2-9B/1,6-GEMMA2-9B/1,6-LlAMA3.2-3B/1,6-GEMMA2-27B] ? | Mantis-8b- [Siglip-Llama3/Clip-Llama3/idefics2/fuyu] |
| Lama-3-mixsensev1_1 ? | Papagei-7b ? | Omchat-v2.0-13b-sinlge-beta ? | Video-Chatgpt ? |
| Chat-univi-7b [-v1.5] ? | Lama-vid-7b ? | VideoChat2-HD ? | Pllava- [7b/13b/34b] ? |
| Rbdash_72b ? | Xgen-MM-Phi3- [Interleave/DPO] -R-V1.5 ? | Qwen2-vl- [2b/7b/72b] ? | Slime_ [7b/8b/13b] |
| Eagle-X4- [8b/13b] ?, Eagle-X5- [7b/13b/34b] ? | Moondream1 ?, Moondream2 ? | Xinyuan-VL-2B-Instruktur ? | LLAMA-3.2- [11B/90B] -VISION-Instruct ? |
| Kosmos2 ? | H2ovl-mississippi [0,8b/2b] ? | ** pixtral-12b ** | ** Falcon2-VLM-11b **? |
| ** minimonkey **? | ** llava-Onevision **? | ** llava-video **? | ** aquila-vl-2b **? |
| Mini-internvl-chat- [2b/4b] -v1-5 ? | Internvl2 -Serie ? | ** Janus-1.3b **? | ** molmoe-1b/molmo-7b/molmo-72b **? |
| ** Punkte- [yi-1.5-9b/qwen-2.5-7b] **? | ** nvlm **? | ** Vintern **? | **Arie**? |
: Unterstützen Sie mehrere Bilder als Eingaben.
?: Modelle können ohne zusätzliche Konfiguration/Operation verwendet werden.
?: Unterstützen Sie Video als Eingaben.
Empfehlung von Transformers Version:
Beachten Sie, dass einige VLMs möglicherweise nicht unter bestimmten Transformatorversionen ausgeführt werden können. Wir empfehlen die folgenden Einstellungen, um jedes VLM zu bewerten:
transformers==4.33.0 für : Qwen series , Monkey series , InternLM-XComposer Series , mPLUG-Owl2 , OpenFlamingo v2 , IDEFICS series , VisualGLM , MMAlaya , ShareCaptioner , MiniGPT-4 series , InstructBLIP series , PandaGPT , VXVERSE .transformers==4.36.2 für : Moondream1 .transformers==4.37.0 for : LLaVA series , ShareGPT4V series , TransCore-M , LLaVA (XTuner) , CogVLM Series , EMU2 Series , Yi-VL Series , MiniCPM-[V1/V2] , OmniLMM-12B , DeepSeek-VL series , InternVL series , Cambrian Series , VILA Series , Llama-3-MixSenseV1_1 , Parrot-7B , PLLaVA Series .transformers==4.40.0 für : IDEFICS2 , Bunny-Llama3 , MiniCPM-Llama3-V2.5 , 360VL-70B , Phi-3-Vision , WeMM .transformers==4.44.0 für : Moondream2 , H2OVL series .transformers==4.45.0 für : Aria .transformers==latest for : LLaVA-Next series , PaliGemma-3B , Chameleon series , Video-LLaVA-7B-HF , Ovis series , Mantis series , MiniCPM-V2.6 , OmChat-v2.0-13B-sinlge-beta , Idefics-3 , GLM-4v-9B , VideoChat2-HD , RBDash_72b , Llama-3.2 series , Kosmos series .Empfehlung von Torchvision -Version:
Beachten Sie, dass einige VLMs möglicherweise nicht unter bestimmten Torchvision -Versionen ausgeführt werden können. Wir empfehlen die folgenden Einstellungen, um jedes VLM zu bewerten:
torchvision>=0.16 für : Moondream series und AriaEmpfehlung von Flash-Ack-Version:
Beachten Sie, dass einige VLMs möglicherweise nicht in bestimmten Flash-Befragungsversionen ausgeführt werden können. Wir empfehlen die folgenden Einstellungen, um jedes VLM zu bewerten:
pip install flash-attn --no-build-isolation für : Aria # Demo
from vlmeval . config import supported_VLM
model = supported_VLM [ 'idefics_9b_instruct' ]()
# Forward Single Image
ret = model . generate ([ 'assets/apple.jpg' , 'What is in this image?' ])
print ( ret ) # The image features a red apple with a leaf on it.
# Forward Multiple Images
ret = model . generate ([ 'assets/apple.jpg' , 'assets/apple.jpg' , 'How many apples are there in the provided images? ' ])
print ( ret ) # There are two apples in the provided images. Um benutzerdefinierte Benchmarks, VLMs oder einfach andere Codes zu VLMeValkit beizutragen, lesen Sie bitte [Development_Guide | 开发指南].
Fordern Sie Beiträge
Um den Beitrag der Community zu fördern und den entsprechenden Kredit zu teilen (im nächsten Bericht Update):
Hier ist eine Mitwirkungsliste, die wir basierend auf den Aufzeichnungen kuratiert haben.
Die Codebasis ist ausgelegt:
generate_inner() -Funktion implementieren , alle anderen Workloads (Daten -Downloading, Datenvorverarbeitung, Vorhersageinferenz, Metrikberechnung) werden von der Codebasis behandelt.Die Codebasis ist nicht so konzipiert:
Wenn Sie diese Arbeit hilfreich finden, denken Sie bitte an Star? Dieses Repo. Vielen Dank für Ihre Unterstützung!
Wenn Sie vlMevalkit in Ihrer Forschung verwenden oder sich auf veröffentlichte OpenSource -Bewertungsergebnisse beziehen möchten, verwenden Sie bitte den folgenden Bibtex -Eintrag und den Bibtex -Eintrag, der dem spezifischen VLM / Benchmark entspricht, den Sie verwendet haben.
@misc { duan2024vlmevalkit ,
title = { VLMEvalKit: An Open-Source Toolkit for Evaluating Large Multi-Modality Models } ,
author = { Haodong Duan and Junming Yang and Yuxuan Qiao and Xinyu Fang and Lin Chen and Yuan Liu and Xiaoyi Dong and Yuhang Zang and Pan Zhang and Jiaqi Wang and Dahua Lin and Kai Chen } ,
year = { 2024 } ,
eprint = { 2407.11691 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CV } ,
url = { https://arxiv.org/abs/2407.11691 } ,
}? Zurück nach oben