VLMEvalKit: 大規模視覚言語モデルの評価ツールキット
🏆 OpenCompass Learderboard • 📊Datasets & Models • 🏗️Quickstart • 🛠️Development • 🎯Goal • 🖊️Citation
🤗 HF Leaderboard • 🤗 Evaluation Records • 🔊 Discord Channel • 📝 Technical Report
VLMEvalKit(pythonパッケージ名はvlmeval)は、大規模視覚言語モデル(LVLMs)のオープンソース評価ツールキットです。このツールキットは、複数のリポジトリでのデータ準備という重労働なしに、さまざまなベンチマークでLVLMsのワンコマンド評価を可能にします。VLMEvalKitでは、すべてのLVLMsに対して生成ベースの評価を採用し、正確なマッチングとLLMベースの回答抽出の両方で得られた評価結果を提供します。
PS: 日本語の README には最新のアップデートがすべて含まれていない場合があります。英語版をご確認ください。
公式のマルチモーダルリーダーボードでのパフォーマンス数値は、ここからダウンロードできます!
OpenVLM Leaderboard: すべての詳細な結果をダウンロード。
Supported Benchmarks in VLMEvalKit Features を確認して、すべてのサポートされているベンチマーク(70以上)を表示してください。
Supported LMMs in VLMEvalKit Features を確認して、すべてのサポートされている LMMs(200以上)を表示してください。
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を送ることができます。私たちはそれに応じてフォローアップします。
このコードベースは以下を目的として設計されています:
- 研究者や開発者が既存のLVLMsを評価し、評価結果を簡単に再現できるようにするための使いやすい、オープンソースの評価ツールキットを提供します。
- VLMの開発者が自分のモデルを簡単に評価できるようにします。複数のサポートされているベンチマークでVLMを評価するには、単一の
generate_inner()
関数を実装するだけで、他のすべてのワークロード(データのダウンロード、データの前処理、予測の推論、メトリックの計算)はコードベースによって処理されます。
このコードベースは以下を目的として設計されていません:
- すべての第三者ベンチマークの元の論文で報告された正確な精度数値を再現すること。その理由は2つあります:
- VLMEvalKitは、すべてのVLMに対して生成ベースの評価を使用します(オプションでLLMベースの回答抽出を使用)。一方、一部のベンチマークは異なるアプローチを使用する場合があります(SEEDBenchはPPLベースの評価を使用します)。これらのベンチマークについては、対応する結果で両方のスコアを比較します。開発者には、コードベースで他の評価パラダイムをサポートすることをお勧めします。
- デフォルトでは、すべてのVLMに対して同じプロンプトテンプレートを使用してベンチマークを評価します。一方、一部のVLMには特定のプロンプトテンプレートがある場合があります(現時点ではコードベースでカバーされていない場合があります)。VLMの開発者には、現在カバーされていない場合でも、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},
}