Skip to content

Latest commit

 

History

History
177 lines (128 loc) · 20.4 KB

README_ja.md

File metadata and controls

177 lines (128 loc) · 20.4 KB

VLMEvalKit(pythonパッケージ名はvlmeval)は、大規模視覚言語モデル(LVLMs)のオープンソース評価ツールキットです。このツールキットは、複数のリポジトリでのデータ準備という重労働なしに、さまざまなベンチマークでLVLMsのワンコマンド評価を可能にします。VLMEvalKitでは、すべてのLVLMsに対して生成ベースの評価を採用し、正確なマッチングLLMベースの回答抽出の両方で得られた評価結果を提供します。

PS: 日本語の README には最新のアップデートがすべて含まれていない場合があります。英語版をご確認ください。

📊 データセット、モデル、および評価結果

公式のマルチモーダルリーダーボードでのパフォーマンス数値は、ここからダウンロードできます!

OpenVLM Leaderboard: すべての詳細な結果をダウンロード

Supported Image Understanding Dataset

  • デフォルトでは、すべての評価結果はOpenVLM Leaderboardに表示されます。
データセット データセット名 (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 シリーズ 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 キャプション 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 POPE POPE Y/N
Core-MM- CORE_MM VQA MMT-Bench MMT-Bench_[VAL/VAL_MI/ALL/ALL_MI] MCQ
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
BLINK + BLINK MCQ MathVision+ MathVision
MathVision_MINI
VQA
MT-VQA+ MTVQA_TEST VQA MMDU+ MMDU VQA (multi-turn)
Q-Bench1+ Q-Bench1_[VAL/TEST] MCQ A-Bench+ A-Bench_[VAL/TEST] MCQ
TaskMeAnything ImageQA Random+ TaskMeAnything_v1_imageqa_random MCQ

* ゼロショット設定で合理的な結果を出せないVLMの一部の評価結果のみを提供しています

+ 評価結果はまだ利用できません

- VLMEvalKitでは推論のみがサポートされています

VLMEvalKitは、キーを設定すると判定LLMを使用して出力から回答を抽出し、それ以外の場合は正確なマッチングモード(出力文字列で「はい」、「いいえ」、「A」、「B」、「C」...を検索)を使用します。正確なマッチングは、はい/いいえのタスクと多肢選択問題にのみ適用できます。

Supported Video Understanding Dataset

Dataset Dataset Names (for run.py) Task Dataset Dataset Names (for run.py) Task
MMBench-Video MMBench-Video VQA Video-MME Video-MME MCQ

Supported API Models

GPT-4v (20231106, 20240409) 🎞️🚅 GPT-4o 🎞️🚅 Gemini-1.0-Pro 🎞️🚅 Gemini-1.5-Pro 🎞️🚅 Step-1V 🎞️🚅
Reka-[Edge / Flash / Core]🚅 Qwen-VL-[Plus / Max] 🎞️🚅 Claude-3v-[Haiku / Sonnet / Opus] 🎞️🚅 GLM-4v 🚅 CongRong 🎞️🚅
Claude3.5-Sonnet 🎞️🚅 GPT-4o-Mini 🎞️🚅 Yi-Vision🎞️🚅 Hunyuan-Vision🎞️🚅 BlueLM-V 🎞️🚅

Supported PyTorch / HF Models

IDEFICS-[9B/80B/v2-8B]-Instruct🎞️🚅 InstructBLIP-[7B/13B] LLaVA-[v1-7B/v1.5-7B/v1.5-13B] MiniGPT-4-[v1-7B/v1-13B/v2-7B]
mPLUG-Owl2🎞️ 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]🚅 ShareCaptioner🚅 CogVLM-Grounding-Generalist🚅
Monkey🚅, 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]🚅🎞️,
Mini-InternVL-Chat-[2B/4B]-V1-5🚅🎞️
DeepSeek-VL🎞️ LLaVA-NeXT🚅🎞️ Bunny-Llama3🚅 XVERSE-V-13B
PaliGemma-3B 🚅 360VL-70B 🚅 Phi-3-Vision🚅 WeMM🚅
GLM-4v-9B 🚅 Cambrian-[8B/13B/34B] LLaVA-Next-[Qwen-32B] 🎞️ Chameleon-[7B/30B]🚅🎞️
Video-LLaVA-7B-[HF] 🎬 VILA1.5-[8B/13B/40B]🎞️ Ovis1.5-Llama3-8B 🚅🎞 Mantis-8B-[siglip-llama3/clip-llama3/Idefics2/Fuyu] 🎞️

🎞️: 複数の画像を入力としてサポートします。

🚅: 追加の設定/操作なしで使用できるモデルです。

🎬: 入力としてビデオをサポート。

Transformersバージョンの推奨事項:

特定のtransformerバージョンで一部のVLMが実行できない可能性があることに注意してください。各VLMを評価するために、以下の設定を推奨します:

  • transformers==4.33.0を使用してください: Qwenシリーズ, Monkeyシリーズ, InternLM-XComposerシリーズ, mPLUG-Owl2, OpenFlamingo v2, IDEFICSシリーズ, VisualGLM, MMAlaya, ShareCaptioner, MiniGPT-4シリーズ, InstructBLIPシリーズ, PandaGPT, VXVERSE, GLM-4v-9B.
  • transformers==4.37.0を使用してください: LLaVAシリーズ, ShareGPT4Vシリーズ, TransCore-M, LLaVA (XTuner), CogVLMシリーズ, EMU2シリーズ, Yi-VLシリーズ, MiniCPM-[V1/V2], OmniLMM-12B, DeepSeek-VLシリーズ, InternVLシリーズ, Cambrianシリーズ, VILA-VLシリーズ.
  • transformers==4.40.0を使用してください: IDEFICS2, Bunny-Llama3, MiniCPM-Llama3-V2.5, 360VL-70B, Phi-3-Vision, WeMM.
  • transformers==latestを使用してください: LLaVA-Nextシリーズ, PaliGemma-3B, Chameleon-VLシリーズ, Video-LLaVA-7B-HF, Ovis1.5シリーズ, Mantisシリーズ, MiniCPM-V2.6.
# デモ
from vlmeval.config import supported_VLM
model = supported_VLM['idefics_9b_instruct']()
# 単一画像のフォワード
ret = model.generate(['assets/apple.jpg', 'この画像には何がありますか?'])
print(ret)  # この画像には葉がついた赤いリンゴがあります。
# 複数画像のフォワード
ret = model.generate(['assets/apple.jpg', 'assets/apple.jpg', '提供された画像にはリンゴが何個ありますか?'])
print(ret)  # 提供された画像にはリンゴが2個あります。

🏗️ クイックスタート

クイックスタートガイドについては、クイックスタートを参照してください。

🛠️ 開発ガイド

カスタムベンチマーク、VLMsを開発するか、単にVLMEvalKitに他のコードを貢献する場合は、開発ガイドを参照してください。

コミュニティからの共有を奨励し、それに応じたクレジットを共有するために、次回のレポート更新では以下のことを実施します:

  • 全ての貢献に対して感謝の意を示します
  • 新しいモデル、評価セット、または主要な機能への3つ以上の主要な貢献を持つ貢献者は、テクニカルレポートの著者リストに加わることができます。適格な貢献者は、issueを作成するか、またはVLM評価キット ディスコードチャンネルで kennyutc にDMを送ることができます。私たちはそれに応じてフォローアップします。

🎯 VLMEvalKitの目標

このコードベースは以下を目的として設計されています:

  1. 研究者や開発者が既存のLVLMsを評価し、評価結果を簡単に再現できるようにするための使いやすいオープンソースの評価ツールキットを提供します。
  2. VLMの開発者が自分のモデルを簡単に評価できるようにします。複数のサポートされているベンチマークでVLMを評価するには、単一のgenerate_inner()関数を実装するだけで、他のすべてのワークロード(データのダウンロード、データの前処理、予測の推論、メトリックの計算)はコードベースによって処理されます。

このコードベースは以下を目的として設計されていません:

  1. すべての第三者ベンチマークの元の論文で報告された正確な精度数値を再現すること。その理由は2つあります:
    1. VLMEvalKitは、すべてのVLMに対して生成ベースの評価を使用します(オプションでLLMベースの回答抽出を使用)。一方、一部のベンチマークは異なるアプローチを使用する場合があります(SEEDBenchはPPLベースの評価を使用します)。これらのベンチマークについては、対応する結果で両方のスコアを比較します。開発者には、コードベースで他の評価パラダイムをサポートすることをお勧めします。
    2. デフォルトでは、すべてのVLMに対して同じプロンプトテンプレートを使用してベンチマークを評価します。一方、一部のVLMには特定のプロンプトテンプレートがある場合があります(現時点ではコードベースでカバーされていない場合があります)。VLMの開発者には、現在カバーされていない場合でも、VLMEvalKitで独自のプロンプトテンプレートを実装することをお勧めします。これにより、再現性が向上します。

🖊️ 引用

この作業が役立つ場合は、このリポジトリにスター🌟を付けてください。サポートありがとうございます!

Stargazers repo roster for @open-compass/VLMEvalKit

研究でVLMEvalKitを使用する場合、または公開されたオープンソースの評価結果を参照する場合は、以下の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},
}

🔝Top に戻る