modelscope/evalscope
A streamlined and customizable framework for efficient large model (LLM, VLM, AIGC) evaluation and performance benchmarking.
EvalScope – LLMおよびマルチモーダルモデルのためのワンストップ評価プラットフォーム
概要 – EvalScopeは、大規模言語モデル、視覚言語モデル、埋め込み/リランカーサービス、さらには自律エージェントに対して、多種多様なベンチマークを実行できるPythonパッケージです。単一のCLIコマンド(または数行のPythonコード)で、以下が可能です:
- モデル能力の評価 – MMLU、C-Eval、GSM8K、ARCなどの古典的なテキストベンチマークに加え、新しいマルチモーダル、コード生成、RAG、エージェント中心のスイートを多数実行します。
- 推論のストレステスト – モデルがリクエストを処理している間に、レイテンシ、最初のトークンまでの時間、スループットなどのパフォーマンス数値を測定します。
- エージェントの実行 – ベンチマークをマルチターンのAgentLoopでラップし、ツール(bash、python、ウェブ検索、Dockerサンドボックスなど)を呼び出し、各サンプルの完全なトレースを記録できます。
- モデルの比較 – インタラクティブなWebダッシュボードがスコア、サンプルごとの予測、パフォーマンスメトリクスを視覚化し、ペアワイズの「アリーナ」バトルをサポートします。
- プラグイン可能な拡張 – 独自のデータセット、モデル、メトリクス、またはバックエンド(OpenCompass、VLMEvalKit、RAGEvalなど)を数行の設定で追加できます。
コア機能(READMEに記載)
| 機能 | 提供されるもの |
|---|---|
| 包括的なベンチマーク | 数十の業界標準スイート(MMLU、C-Eval、GSM8K、MathVista、VQA、コードベンチマーク、RAG、エージェントベンチマークなど)の組み込みサポート。 |
| マルチモーダル&マルチドメイン | 純粋なLLM、視覚言語モデル、埋め込みサービス、リランカー、生成AIGCモデルで動作。 |
| マルチバックエンド統合 | グルーコードを書かずにOpenCompass、VLMEvalKit、RAGEval、その他のサードパーティ評価ツールを呼び出します。 |
| エージェント評価モード | プラグ可能な戦略、ツール、Dockerサンドボックスを備えた制御可能なAgentLoop内でベンチマークを実行し、詳細なagent_traceを記録します。 |
| 推論パフォーマンステスト | TTFT、TPOT、スループットを報告し、マルチターン会話をシミュレートできるストレステストユーティリティ。 |
| インタラクティブWebダッシュボード | モデル比較、スコアテーブル、サンプルごとの予測、エージェントトレースの視覚化のためのReact/Vite UI。 |
| アリーナモード | 複数のモデル間のペアワイズバトルを自動的にランキング付け。 |
| 拡張性 | シンプルな登録APIでカスタムデータセット、モデル、メトリクス、または新しいバックエンド全体を追加。 |
典型的なワークフロー(クイックスタート)
# パッケージをインストール
pip install evalscope
# リモートのOpenAI互換APIを評価(GPU不要)
# – GSM8KとARCベンチマークを選択し、各5サンプルを実行
evalscope eval \
--model your-model-name \
--api-url $OPENAI_API_BASE_URL \
--api-key $OPENAI_API_KEY \
--eval-type openai_api \
--datasets gsm8k arc \
--limit 5
または、Pythonから:
from evalscope import run_task, TaskConfig
cfg = TaskConfig(
model='your-model-name',
api_url='https://my-endpoint/v1',
api_key='my_key',
eval_type='openai_api',
datasets=['gsm8k', 'arc'],
limit=5,
)
run_task(cfg) # CLIと同じ
コマンドはモデルサービスに接続し、選択したベンチマークを実行し、精度スコアとパフォーマンス数値を収集し、最後に結果を探索できるローカルWeb UIを起動します。
EvalScopeを誰が使うべきか?
- モデル開発者 – 新しいLLMやVLMを数十の公開データセットに対して迅速にベンチマークし、どこが遅れているかを確認。
- 運用/プラットフォームチーム – モデルサービングエンドポイントのストレステストを実行し、レイテンシとスループットのSLAを検証。
- 研究ラボ – 組み込みのマルチターンループでエージェント的行動(ツール呼び出し、ReAct、コード生成)を評価し、分析用のトレースを記録。
- プロダクトチーム – ダッシュボードで複数の候補モデルを並べて比較し、データ駆動の選択を行う。
インストールとドキュメント
- PyPIからインストール:
pip install evalscope(Python ≥ 3.10が必要)。 - 完全なドキュメント、インストール詳細、サンプルノートブックは https://evalscope.readthedocs.io に、デモウェブサイトは https://modelscope.github.io/evalscope/ にあります。
結論 – EvalScopeは、幅広いAIモデルの精度、速度、エージェント能力をカバーする、成熟した活発にメンテナンスされている評価フレームワークであり、ユーザーフレンドリーなCLIとビジュアルダッシュボードで提供されます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト