Un conjunto de herramientas para evaluar grandes modelos en idioma de visión.
• • • •
Inglés | 简体中文 | 日本語
? OC Learderboard • Quickstart • conjuntos de datos y modelos • Desarrollo • Objetivo • Cita
? Tablero de clasificación HF •? Registros de evaluación •? Tablero de clasificación de videos HF •? Discordia • Informe
VLMEVALKIT (el nombre del paquete Python es VlMeVal ) es un conjunto de herramientas de evaluación de código abierto de grandes modelos en idioma de visión (LVLMS) . Permite la evaluación de un mando de LVLM en varios puntos de referencia, sin la gran carga de trabajo de la preparación de datos bajo múltiples repositorios. En VLMevalkit, adoptamos una evaluación basada en generaciones para todos los LVLM, y proporcionamos los resultados de la evaluación obtenidos con la extracción de respuesta exacta y de respuesta basada en LLM .
VLMEVALKIT_USE_MODELSCOPE . Al configurar esta variable de entorno, puede descargar los puntos de referencia de video compatibles con ModelsCopepython run.py --help para más detallesVer [QuickStart | 快速开始] Para una guía de inicio rápido.
¡Los números de rendimiento en nuestras tablas de clasificación multimodales oficiales se pueden descargar desde aquí!
Raeperboard OpenVLM : descargue todos los resultados detallados .
Conjunto de datos de comprensión de imagen compatible
MCQ : cuestión múltiple; Y/N : sí-o-no preguntas; MTT : punto de referencia con conversaciones múltiples; MTI : punto de referencia con múltiples imágenes como entradas.| Conjunto de datos | Nombres de conjuntos de datos (para run.py) | Tarea | Conjunto de datos | Nombres de conjuntos de datos (para run.py) | Tarea |
|---|---|---|---|---|---|
| Serie Mmbench : 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 |
| Mete | Mete | Y/N | Serie de bancos de semillas | Seedbench_img Semillabench2 Seedbench2_plus | MCQ |
| Mm-vet | Mmvet | VQA | Mmmu | Mmmu_ [dev_val/test] | MCQ |
| Mathvista | Mathvista_mini | VQA | Scienceqa_img | Scienceqa_ [val/test] | MCQ |
| Subtítulos | Coco_val | Subtítulo | 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 | Bancarro | Bancarro | VQA |
| Realworldqa | Realworldqa | MCQ | PAPA | PAPA | Y/N |
| Core -MM - | Core_mm (MTI) | VQA | Banco mmt | 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) |
| PARPADEAR | PARPADEAR | MCQ (MTI) | MathVision + | Mathvision MathVision_mini | VQA |
| Mt-vqa | Mtvqa_test | VQA | MMDU + | Mmdu | VQA (MTT, MTI) |
| Q-Bench1 | Q-Bench1_ [Val/Test] | MCQ | Bancos a | A-bench_ [val/test] | MCQ |
| Amigo + | DUDAR | VQA (MTI) | Slidevqa + | Slidevqa Slidevqa_mini | VQA (MTI) |
| TareaMeanything Imageqa Random + | TaskMeanyThing_V1_Imageqa_random | MCQ | Mmmb y mmbench multilingüe + | Mmmb_ [ar/cn/en/pt/ru/tr] Mmbench_dev_ [ar/cn/en/pt/ru/tr] Mmmb Mtl_mmbench_dev PD: MMMB y MTL_MMBIPH_DEV son nombres todo en uno para 6 langs | MCQ |
| A-okvqa + | A-okvqa | MCQ | Muirbench + | Muir | 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_intensive Mathverse_mini_text_lite Mathverse_mini_text_dominant | VQA | Ámbar + | ÁMBAR | Y/N |
| CRPE + | CRPE_ [existir/relación] | VQA | Mmsearch | - | - |
| B-Bench + | B-Bench- [DIS/REF] | MCQ | WorldMedqa-V + | Worldmedqa-V | MCQ |
| GQA + | Gqa_testdev_balanced | VQA | Mia-Bench + | Mia-Bench | VQA |
| Vestible + | Vía silvestre | VQA | Olympiadbench + | Bobina de la Olimpiada | VQA |
| Mm-mate + | Mm-mate | VQA | Dinamata | Dinamata | VQA |
| MMGenBench - | Prueba de mmgenbench Dominio de mmgenbench | - | Qspacial + | QSpatial_ [Plus/Scannet] | VQA |
| Vizwiz + | Vizwiz | VQA |
* Solo proporcionamos un subconjunto de los resultados de la evaluación, ya que algunos VLM no producen resultados razonables bajo la configuración de disparo cero
+ Los resultados de la evaluación aún no están disponibles
- Solo la inferencia se admite en VlMevalkit (que incluye las divisiones TEST de algunos puntos de referencia que no incluyen las respuestas de la verdad del suelo).
VLMEVALKIT usará un juez LLM para extraer la respuesta de la salida si establece la clave, de lo contrario usa el modo de coincidencia exacta (busque "sí", "no", "a", "b", "c" ... en las cadenas de salida). La coincidencia exacta solo se puede aplicar a las tareas de sí o no y las tareas múltiples.
Conjunto de datos de comprensión de video compatible
| Conjunto de datos | Nombres de conjuntos de datos (para run.py) | Tarea | Conjunto de datos | Nombres de conjuntos de datos (para run.py) | Tarea |
|---|---|---|---|---|---|
| Mmbench-video | Mmbench-video | VQA | Videocams | Videocams | MCQ |
| Mvbench | Mvbench/mvbench_mp4 | MCQ | Mlvu | Mlvu | MCQ y VQA |
| Tempcom Pass | Tempcom Pass | MCQ & Y/N & Tittition | Longvideobench | Longvideobench | MCQ |
Modelos API compatibles
| GPT-4V (20231106, 20240409) ? | GPT-4O ? | GEMINI-1.0-Pro ? | Géminis-1.5-pro ? | Paso-1v ? |
|---|---|---|---|---|
| Reka- [Edge / Flash / Core] ? | QWEN-VL- [más / max] ? QWEN-VL- [más / max] -0809 ? | Claude3- [Haiku / Sonnet / Opus] ? | GLM-4V ? | ¿ Congracia ? |
| Claude3.5-Sonnet (20240620, 20241022) ? | GPT-4O-Mini ? | Yi-visión ? | Visión de Hunyuan ? | Bluelm-V ? |
| Telemm ? |
Modelos Pytorch / HF compatibles
| IDEFICS- [9B/80B/V2-8B/V3-8B] -Instructo ? | 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/LLAMA3] ? | ¿ Actualidad ? | ¿COGVLM-GRANDING Generalista ? |
| Mono ? ¿Monkey-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-visión ? Phi-3.5-visión ? | ¿ Wemm ? |
| GLM-4V-9B ? | Cambrian- [8B/13B/34B] | Llava-Next- [QWEN-32B] | Camaleón- [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] |
| LLAMA-3-MIXSENSEV1_1 ? | Parrot-7b ? | OMCHAT-V2.0-13B-SINLGE-BETA ? | ¿Video-Chatgpt ? |
| Chat-univi-7b [-v1.5] ? | LLAMA-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 ? | ¿Instructo xinyuan-vl-2b ? | Llama-3.2- [11B/90B] -Vision-Instructo ? |
| Kosmos2 ? | H2OVL-Mississippi- [0.8B/2B] ? | ** PIXTRAL-12B ** | ** Falcon2-Vlm-11b **? |
| ** Minimonkey **? | ** Llava-Anevision **? | ** Llava-Video **? | ** aquila-vl-2b **? |
| Mini-INTERNVL-CHAT- [2B/4B] -V1-5 ? | ¿Serie Internvl2 ? | ** Janus-1.3b **? | ** Molmoe-1b/Molmo-7b/Molmo-72b **? |
| ** Puntos- [Yi-1.5-9b/Qwen-2.5-7b] **? | ** nvlm **? | ** Vintern **? | **Aria**? |
: Admite múltiples imágenes como entradas.
?: Los modelos se pueden usar sin ninguna configuración/operación adicional.
?: Video de soporte como entradas.
Recomendación de la versión Transformers:
Tenga en cuenta que algunos VLM pueden no poder ejecutarse bajo ciertas versiones del transformador, recomendamos la siguiente configuración para evaluar cada VLM:
transformers==4.33.0 para : 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 para : Moondream1 .transformers==4.37.0 para : LLaVA series , ShareGPT4V series , TransCore-M , LLaVA (XTuner) , CogVLM Series , EMU2 Series Series, Yi-VL Series , MiniCPM-[V1/V2] , OmniLMM-12B , DeepSeek-VL series InternVL series , Cambrian, Serie, VILA, LLAMA-31, 3-MIXSEV1_1, Serie Internvl, VILA Series Cambrian Series , VILA, Llama-3-MixSenseV1_1 , Parrot-7B , PLLaVA Series .transformers==4.40.0 para : IDEFICS2 , Bunny-Llama3 , MiniCPM-Llama3-V2.5 , 360VL-70B , Phi-3-Vision , WeMM .transformers==4.44.0 para : Moondream2 , H2OVL series .transformers==4.45.0 para : Aria .transformers==latest para : 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 .Recomendación de la versión de Vision de TorchVision:
Tenga en cuenta que algunos VLM pueden no poder ejecutarse bajo ciertas versiones de Vision de Torch, recomendamos la siguiente configuración para evaluar cada VLM:
torchvision>=0.16 para : Moondream series y AriaRecomendación de la versión Flash-Attn:
Tenga en cuenta que algunos VLM pueden no ser capaces de ejecutarse bajo ciertas versiones de Flash-Atention, recomendamos la siguiente configuración para evaluar cada VLM:
pip install flash-attn --no-build-isolation para : 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. Para desarrollar puntos de referencia personalizados, VLMS o simplemente contribuir con otros códigos a VLMevalkit , consulte [Desarrollo_Guide | 开发指南].
Llamar a las contribuciones
Para promover la contribución de la comunidad y compartir el crédito correspondiente (en la próxima actualización del informe):
Aquí hay una lista de contribuyentes que comisariamos en función de los registros.
La base de código está diseñada para:
generate_inner() , la base de la base de la base de la base de la base de la descarga de datos, la descarga de datos, el preprocesamiento de datos, la inferencia de predicción, el cálculo métrico).La base de código no está diseñada para:
Si encuentra útil este trabajo, ¿considere estrella? este repositorio. ¡Gracias por tu apoyo!
Si usa VLMeValkit en su investigación o desea consultar los resultados de evaluación de OpenSource publicados, utilice la siguiente entrada de Bibtex y la entrada de Bibtex correspondiente al VLM / punto de referencia específico que utilizó.
@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 } ,
}? De vuelta a la cima