대규모 비전 언어 모델을 평가하기위한 툴킷.
• • • • •
영어 | 简体中文 | 日本語
? OC Learderboard • QuickStart • 데이터 세트 및 모델 • 개발 • 목표 • 인용
? HF 리더 보드 •? 평가 기록 •? HF 비디오 리더 보드 •? 불화 • 보고서
Vlmevalkit (Python 패키지 이름은 Vlmeval ) 은 LVLM (Large Vision-Language Models) 의 오픈 소스 평가 툴킷 입니다. 여러 리포지토리에서 데이터 준비가 많지 않으면 서 다양한 벤치 마크에서 LVLM을 한 명에 대한 명령을 평가할 수 있습니다. Vlmevalkit에서는 모든 LVLM에 대한 생성 기반 평가를 채택하고 정확한 일치 및 LLM 기반 답변 추출 으로 얻은 평가 결과를 제공합니다.
VLMEVALKIT_USE_MODELSCOPE . 이 환경 변수를 설정하면 ModelScope 에서 지원되는 비디오 벤치 마크를 다운로드 할 수 있습니다.python run.py --help[QuickStart | 快速开始] 빠른 시작 가이드.
공식 멀티 모달 리더 보드의 성능 번호는 여기에서 다운로드 할 수 있습니다!
OpenVLM 리더 보드 : 모든 자세한 결과를 다운로드하십시오 .
지원되는 이미지 이해 데이터 세트
MCQ : 다중 체이스 질문; Y/N : 예 또는 아니오 질문; MTT : 다중 회전 대화와 함께 벤치 마크; MTI : 입력으로 다중 이미지가있는 벤치 마크.| 데이터 세트 | 데이터 세트 이름 (run.py 용) | 일 | 데이터 세트 | 데이터 세트 이름 (run.py 용) | 일 |
|---|---|---|---|---|---|
| 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 |
| mme | mme | Y/N | 시드 벤치 시리즈 | seedbench_img 시드 벤치 2 SeedBench2_Plus | MCQ |
| MM-VET | MMVET | VQA | 음 | mmmu_ [dev_val/test] | MCQ |
| Mathvista | mathvista_mini | VQA | Scienceqa_img | Scienceqa_ [val/test] | MCQ |
| 코코 캡션 | coco_val | 표제 | hallusionbench | hallusionbench | Y/N |
| OCRVQA * | OCRVQA_ [TestCore/Test] | VQA | textvqa * | TextVqa_val | VQA |
| 차트 Qa * | 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 | 로마 교황 | 로마 교황 | Y/N |
| Core -MM- | Core_mm (MTI) | VQA | 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) |
| 깜박거리다 | 깜박거리다 | MCQ (MTI) | MathVision + | 수학 Mathvision_mini | VQA |
| MT-VQA | mtvqa_test | VQA | MMDU + | MMDU | VQA (MTT, MTI) |
| q-bench1 | q-bench1_ [val/test] | MCQ | A- 벤치 | a-bench_ [val/test] | MCQ |
| 친구 + | 녀석 | VQA (MTI) | 슬라이드 VQA + | 슬라이드 VQA 슬라이드 VQA_MINI | VQA (MTI) |
| TaskMeanything ImageQa Random + | taskmeanything_v1_imageqa_random | MCQ | MMMB 및 다국어 mmbench + | MMMB_ [AR/CN/EN/PT/RU/TR] MMBENCH_DEV_ [AR/CN/EN/PT/RU/TR] 음 mtl_mmbench_dev 추신 : MMMB & MTL_MMBENCH_DEV 6 개의 랑의 올인원 이름입니다 | MCQ |
| a-kvqa + | a-kvqa | MCQ | 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_intensive mathverse_mini_text_lite mathverse_mini_text_dominant | VQA | 앰버 + | 호박색 | Y/N |
| CRPE + | CRPE_ [존재/관계] | VQA | mmsearch | - | - |
| r-bench + | r-bench- [dis/ref] | MCQ | WorldMedqa-v + | WorldMedqa-v | MCQ |
| GQA + | gqa_testdev_balanced | VQA | 미아 벤치 + | 미아 벤치 | VQA |
| WildVision + | Wildvision | VQA | 올림피아 벤치 + | 올림피아 벤치 | VQA |
| mm-math + | MM-Math | VQA | Dynamath | Dynamath | VQA |
| mmgenbench- | mmgenbench-test mmgenbench-domain | - | qspatial + | qspatial_ [plus/scannet] | VQA |
| vizwiz + | Vizwiz | VQA |
* 일부 VLM은 제로 샷 설정에서 합리적인 결과를 얻지 않기 때문에 평가 결과의 하위 집합 만 제공합니다.
+ 평가 결과는 아직 사용할 수 없습니다
- Vlmevalkit에서는 추론 만 지원됩니다 (지상 진실 답변을 포함하지 않는 일부 벤치 마크의 TEST 분할이 포함됨).
Vlmevalkit은 키를 설정하면 판사 LLM을 사용하여 출력에서 답을 추출합니다. 그렇지 않으면 정확히 일치하는 모드를 사용합니다 ( "예", "아니오", "A", "B", "C"... 출력 문자열). 정확히 일치하는 것은 예 또는 no 작업 및 다중 체이스 작업에만 적용될 수 있습니다.
지원되는 비디오 이해 데이터 세트
| 데이터 세트 | 데이터 세트 이름 (run.py 용) | 일 | 데이터 세트 | 데이터 세트 이름 (run.py 용) | 일 |
|---|---|---|---|---|---|
| Mmbench-Video | Mmbench-Video | VQA | 비디오 MME | 비디오 MME | MCQ |
| mvbench | mvbench/mvbench_mp4 | MCQ | MLVU | MLVU | MCQ & VQA |
| 온도 | 온도 | MCQ & Y/N & 캡션 | longvideobench | longvideobench | MCQ |
지원되는 API 모델
| GPT-4V (20231106, 20240409) ? | GPT-4O ? | Gemini-1.0-pro ? | Gemini-1.5-Pro ? | STEP-1V ? |
|---|---|---|---|---|
| reka- [Edge / Flash / Core] ? | Qwen-VL- [Plus / Max] ? Qwen-VL- [Plus / Max] -0809 ? | Claude3- [Haiku / Sonnet / Opus] ? | GLM-4V ? | 합동 해 ? |
| Claude3.5-Sonnet (20240620, 20241022) ? | GPT-4O- 미니 ? | Yi-Vision ? | hunyuan-vision ? | Bluelm-V ? |
| Telemm ? |
지원되는 Pytorch / HF 모델
| Idefics- [9b/80b/v2-8b/v3-8b]-무인 ? | 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] ? | 트랜스 코어 -M |
| llava (xtuner) ? | cogvlm- [채팅/llama3] ? | ShareCaptioner ? | Cogvlm-grounding-Generalist ? |
| 원숭이 ? 원숭이 차트 ? | 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 ? | 버니-롤라 마3 ? | Xverse-V-13B |
| Paligemma-3b ? | 360VL-70B ? | PHI-3- 비전 ? PHI-3.5 vision ? | wemm ? |
| GLM-4V-9B ? | Cambrian- [8B/13B/34B] | llava-next- [Qwen-32b] | 카멜레온-[7B/30B] ? |
| 비디오 -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/idfics2/fuyu] |
| llama-3-mixsensev1_1 ? | 앵무새 -7b ? | OMCHAT-V2.0-13B-SINLGE-BETA ? | 비디오 chatgpt ? |
| chat-univi-7b [-v1.5] ? | llama-vid-7b ? | videochat2-hd ? | pllava- [7b/13b/34b] ? |
| RBDASH_72B ? | XGEN-MM-PHI3- [인터 리브/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-비 구역 ? | llama-3.2- [11b/90b]-vision-instruct ? |
| KOSMOS2 ? | H2OVL-mississippi- [0.8B/2B] ? | ** pixtral-12b ** | ** falcon2-vlm-11b **? |
| ** 미니 몬키 **? | ** llava-onevision **? | ** llava-video **? | ** aquila-vl-2b **? |
| Mini-Internvl-Chat- [2b/4b] -v1-5 ? | Internvl2 시리즈 ? | ** Janus-1.3b **? | ** molmoe-1b/molmo-7b/molmo-72b **? |
| ** 포인트-[YI-1.5-9B/Qwen-2.5-7B] **? | ** nvlm **? | ** Vintern **? | **아리아**? |
: 여러 이미지를 입력으로 지원합니다.
? : 모델은 추가 구성/작동없이 사용할 수 있습니다.
? : 비디오를 입력으로 지원합니다.
Transformers 버전 추천 :
일부 VLM은 특정 변압기 버전에서 실행되지 않을 수 있습니다. 각 VLM을 평가하기 위해 다음 설정을 권장합니다.
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.33.0 하십시오 .transformers==4.36.2 사용 하십시오 : Moondream1 .LLaVA series , ShareGPT4V series , TransCore-M , LLaVA (XTuner) , CogVLM Series , EMU2 Series , Yi-VL Series , Minicpm- [ V1 MiniCPM-[V1/V2] , Omnilmm transformers==4.37.0 OmniLMM-12B , DeepSeek-VL series , InternVL series , Cambrian Series , VILA Series , Llama-3-MixSenseV1_1 . Parrot-7B , PLLaVA Series .IDEFICS2 , Bunny-Llama3 , MiniCPM-Llama3-V2.5 , 360VL-70B , Phi-3-Vision , WeMM 의 경우 transformers==4.40.0 사용하십시오 .transformers==4.44.0 사용하십시오 : Moondream2 , H2OVL series .transformers==4.45.0 사용하십시오 : Aria .transformers==latest LLaVA-Next series , PaliGemma-3B , Chameleon series , video 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 , llacat2b, Llama-3.2 series . Kosmos series .Torchvision 버전 추천 :
일부 VLM은 특정 토치 버전에서 실행되지 않을 수 있습니다. 각 VLM을 평가하기 위해 다음 설정을 권장합니다.
torchvision>=0.16 은 : Moondream series 및 Aria 사용하십시오Flash-Attn 버전 추천 :
일부 VLMS는 특정 플래시 항목 버전에서 실행되지 않을 수 있습니다. 각 VLM을 평가하기 위해 다음 설정을 권장합니다.
pip install flash-attn --no-build-isolation : 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. 사용자 정의 벤치 마크, VLM을 개발하거나 단순히 다른 코드를 VLMevalkit 에 기여하려면 [Development_Guide | 开发指南].
기부금을 요청하십시오
커뮤니티의 기여를 촉진하고 해당 크레딧을 공유하기 위해 (다음 보고서 업데이트에서) :
다음은 레코드를 기반으로 우리가 선별 한 기고자 목록입니다.
코드베이스는 다음과 같이 설계되었습니다.
generate_inner() 함수를 구현하면 다른 모든 워크로드 (데이터 다운로드, 데이터 전처리, 예측 추론, 메트릭 계산)는 코드베이스에 의해 처리됩니다.코드베이스는 다음과 같이 설계되지 않았습니다.
이 작업이 도움이된다면 별을 고려해보십시오. 이 repo. 지원해 주셔서 감사합니다!
연구에서 VLMevalkit을 사용하거나 게시 된 OpenSource 평가 결과를 참조하려면 다음 Bibtex 항목 및 사용한 특정 VLM / 벤치 마크에 해당하는 Bibtex 항목을 사용하십시오.
@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 } ,
}? 위로 돌아갑니다