ウェブサイト |コンパスハブ |コンパスランク |ドキュメント |インストール |問題の報告
英語 | 简体中文
Discord と WeChat で参加してください
重要
私たちにスターを付けてください。GitHub からすべてのリリース通知を遅滞なく受け取ります ~ ️
オープンコンパスへ!
コンパスが私たちの旅を導いてくれるのと同じように、OpenCompass は大規模な言語モデルを評価する複雑な状況をガイドします。 OpenCompass は、強力なアルゴリズムと直感的なインターフェイスを備えているため、NLP モデルの品質と有効性を簡単に評価できます。
OpenCompass でチャンスを探ってください!現在、フルタイムの研究者/エンジニアおよびインターンを募集しています。 LLM と OpenCompass に興味がある場合は、遠慮せずに電子メールでご連絡ください。ぜひご連絡ください。
OpenCompass が Meta AI によって推奨されたことを発表できることをうれしく思います。詳細については、「Llama の開始」をクリックしてください。
注意
重大な変更通知: バージョン 0.4.0 では、すべての AMOTIC 設定ファイル (以前は ./configs/datasets、./configs/models、および ./configs/summarizers にありました) が opencompass パッケージに統合されています。ユーザーは、この構造の変更を反映するために構成参照を更新することをお勧めします。
[2024.10.14] OpenAI 多言語 QA データセット MMMLU をサポートしました。ぜひお試しください。
[2024.09.19]マルチバックエンド(huggingface/vllm/lmdeploy)でQwen2.5(0.5B~72B)をサポートしました。ぜひお試しください。
[2024.09.17] OpenAI o1( o1-mini-2024-09-12
およびo1-preview-2024-09-12
) をサポートしました。ぜひお試しください。
[2024.09.05]モデルの機能をより正確に表現するために、モデルの後処理による回答抽出をサポートするようになりました。このアップデートの一環として、最初の後処理モデルとして XFinder を統合しました。さらに詳しい情報はドキュメントを参照して、ぜひ試してみてください。
[2024.08.20] OpenCompass が SciCode: 科学者によってキュレーションされたリサーチ コーディング ベンチマークをサポートするようになりました。
[2024.08.16] OpenCompass は、新しいロングコンテキスト言語モデル評価ベンチマークである RULER をサポートするようになりました。 RULER は、柔軟な構成を通じて、検索、マルチホップ トレース、集約、質問応答などの長いコンテキストの評価を提供します。 RULER の評価構成を今すぐチェックしてください。
[2024.08.09] CompassBench-202408 のサンプル データと構成をリリースしました。詳細については CompassBench へようこそ。
[2024.08.01] Gemma2モデルに対応しました。試してみるのも大歓迎です!
[2024.07.23] ModelScope データセットをサポートしました。すべてのデータをローカル ディスクにダウンロードすることなく、オンデマンドでロードできます。試してみるのも大歓迎です!
[2024.07.17] NeedleBench のテクニカルレポートを公開しました。詳細な評価ガイドラインについては、サポート ドキュメントを参照してください。
[2024.07.04] OpenCompass は、優れた推論機能、 1M コンテキスト ウィンドウ、および強力なツールの使用を備えた InternLM2.5 をサポートするようになりました。OpenCompass Config と InternLM でモデルを試すことができます。
[2024.06.20] OpenCompass で、推論アクセラレーション バックエンド間のワンクリック切り替えがサポートされるようになり、評価プロセスの効率が向上しました。デフォルトの HuggingFace 推論バックエンドに加えて、人気のあるバックエンド LMDeploy および vLLM もサポートされるようになりました。この機能は、単純なコマンドライン スイッチおよび展開 API を通じて利用できます。詳しい使用方法については、ドキュメントを参照してください。
もっと
すべての公開モデルと API モデルをランク付けするための OpenCompass Leaderboard をコミュニティに提供します。評価に参加したい場合は、モデル リポジトリの URL または標準 API インターフェイスを電子メール アドレス[email protected]
に送信してください。
トップに戻る
以下は、簡単なインストールとデータセットの準備の手順です。
Python 環境を管理するには conda を使用することを強くお勧めします。
conda create --name opencompass python=3.10 -y conda は opencompass をアクティブ化します
pip install -U opencompass ## フルインストール (より多くのデータセットをサポート) # pip install "opencompass[full]" ## モデルアクセラレーションフレームワークを備えた環境 ## 仮想環境を使用してさまざまなアクセラレーションフレームワークを管理 ## 通常、依存関係の競合があるためお互い。 # pip install "opencompass[lmdeploy]" # pip install "opencompass[vllm]" ## API 評価 (Openai、Qwen) # pip install "opencompass[api]"
opencompass の最新機能を使用したい場合、または新しい機能を開発したい場合は、ソースからビルドすることもできます。
git clone https://github.com/open-compass/opencompass opencompass cd opencompass pip install -e 。 # pip install -e ".[full]" # pip install -e ".[vllm]"
データセットを準備するには、次の方法から 1 つを選択できます。
次のコマンドを使用して、データセットをダウンロードして抽出できます。
# データセットを data/folderwget にダウンロード https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip OpenCompassData-core-20240207.zip を解凍します。
OpenCompass ストレージ サーバーからのデータセットの自動ダウンロードをサポートしました。追加の--dry-run
を使用して評価を実行し、これらのデータセットをダウンロードできます。現在、サポートされているデータセットはここにリストされています。最近さらに多くのデータセットがアップロードされる予定です。
また、ModelScope を使用して、オンデマンドでデータセットをロードすることもできます。
インストール:
pip install modelscope[フレームワーク]export DATASET_SOURCE=ModelScope
次に、すべてのデータをローカル ディスクにダウンロードせずに、評価タスクを送信します。利用可能なデータセットには次のものがあります。
humaneval、triviaqa、commonsenseqa、tydiqa、strategyqa、cmmlu、lambada、piqa、ceval、math、LCSTS、Xsum、winogrande、openbookqa、AGIEval、gsm8k、nq、race、siqa、mbpp、mmlu、hellaswag、ARC、BBH、xstory_cloze、サミット、 GAOKAO-BENCH、OCNLI、cmnli
Humaneval や Llama などの一部のサードパーティ機能を正しく動作させるには、追加の手順が必要な場合があります。詳細な手順については、インストール ガイドを参照してください。
トップに戻る
上記の手順に従って OpenCompass が正しくインストールされ、データセットが準備されていることを確認した後。これで、OpenCompass を使用して最初の評価を開始できます。
OpenCompass での最初の評価!
OpenCompass は、CLI または Python スクリプトを介した構成の設定をサポートしています。単純な評価設定の場合は CLI を使用することをお勧めします。より複雑な評価の場合は、スクリプトを使用することをお勧めします。 configs フォルダーの下にさらにサンプル スクリプトがあります。
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets Demon_gsm8k_chat_gen# Python スクリプトopencompass ./configs/eval_chat_demo.py
configs フォルダーの下にさらに多くのスクリプト例があります。
API評価
OpenCompass は、その設計上、オープンソース モデルと API モデルを実際には区別しません。両方のモデル タイプを同じ方法で評価することも、1 つの設定で評価することもできます。
import OPENAI_API_KEY="YOUR_OPEN_API_KEY"# CLIopencompass --models gpt_4o_2024_05_13 --datasets Demon_gsm8k_chat_gen# Python scriptsopencompass ./configs/eval_api_demo.py# o1_mini_2024_09_12/o1_preview_2024_09_12 を使用できますo1 モデルの場合、デフォルトとして max_completion_tokens=8192 を設定します。
迅速な評価
さらに、高速評価に HuggingFace 以外の推論バックエンド (LMDeploy や vLLM など) を使用する場合は、以下のコマンドを使用できます。選択したバックエンドに必要なパッケージがインストールされていること、およびモデルがそれによる高速推論をサポートしていることを確認してください。詳細については、ここで推論アクセラレーション バックエンドに関するドキュメントを参照してください。以下は LMDeploy を使用した例です。
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets Demon_gsm8k_chat_gen -a lmdeploy# Python scriptsopencompass ./configs/eval_lmdeploy_demo.py
対応機種
OpenCompass には、多くのモデルとデータセット用の事前定義された構成があります。ツールを使用すると、利用可能なすべてのモデルとデータセット構成を一覧表示できます。
# すべての設定をリストします。python tools/list_configs.py# llama および mmlup に関連するすべての設定をリストします。python tools/list_configs.py llama mmlu
モデルがリストにないものの、Huggingface AutoModel クラスでサポートされている場合は、OpenCompass で評価することもできます。 OpenCompass でサポートされているモデルとデータセットのリストのメンテナンスに貢献していただければ幸いです。
opencompass --datasetsdemo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat
複数の GPU を使用してモデルをデータ並列で評価する場合は、 --max-num-worker
使用できます。
CUDA_VISIBLE_DEVICES=0,1 opencompass --datasetsdemo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat --max-num-worker 2
ヒント
--hf-num-gpus
はモデル並列(ハグフェイス形式)に使用され、 --max-num-worker
データ並列に使用されます。
ヒント
_ppl
を使用した構成は、通常、ベース モデル用に設計されています。 _gen
を使用した構成は、ベース モデルとチャット モデルの両方に使用できます。
OpenCompass は、コマンド ラインまたは構成ファイルを通じて、API またはカスタム モデルの評価や、より多様な評価戦略もサポートしています。評価タスクの実行方法については、クイック スタートをお読みください。
トップに戻る
CompassKit、CompassHub、CompassRank という 3 つの主要コンポーネントを備えた高度なスイートである OpenCompass 2.0 を導入できることを嬉しく思います。
CompassRank はリーダーボードに大幅に強化され、オープンソースのベンチマークと独自のベンチマークの両方が組み込まれるようになりました。このアップグレードにより、業界全体のモデルをより包括的に評価できるようになります。
CompassHub は、研究者や実務者向けに広範なベンチマークの調査と利用を簡素化および迅速化するように設計された、先駆的なベンチマーク ブラウザ インターフェイスを提供します。コミュニティ内で独自のベンチマークの可視性を高めるために、CompassHub に貢献することを心よりお勧めします。ここをクリックすると、提出プロセスを開始できます。
CompassKit は、大規模言語モデルおよび大規模ビジョン言語モデル向けに特別に調整された評価ツールキットの強力なコレクションです。これらの複雑なモデルのパフォーマンスを効果的に評価および測定するための広範なツール セットが提供されます。あなたの研究や製品に当社のツールキットをぜひお試しください。
OpenCompass は、大規模モデル評価のための公平、オープン、再現可能なベンチマークを提供することを目的とした、大規模モデル評価のためのワンストップ プラットフォームです。その主な機能は次のとおりです。
モデルとデータセットの包括的なサポート: 20 を超える HuggingFace および API モデル、約 400,000 の質問を含む 70 を超えるデータセットのモデル評価スキームを事前サポートし、モデルの機能を 5 つの次元で包括的に評価します。
効率的な分散評価: 1 行のコマンドでタスク分割と分散評価を実装し、数十億規模のモデルの完全な評価をわずか数時間で完了します。
多様な評価パラダイム: ゼロショット評価、少数ショット評価、および思考連鎖評価をサポートし、標準または対話型のプロンプト テンプレートと組み合わせて、さまざまなモデルの最大パフォーマンスを簡単に刺激します。
高い拡張性を備えたモジュラー設計: 新しいモデルやデータセットを追加したり、高度なタスク分割戦略をカスタマイズしたり、新しいクラスター管理システムをサポートしたりしたいですか? OpenCompass のすべてを簡単に拡張できます。
実験の管理とレポートのメカニズム: 構成ファイルを使用して各実験を完全に記録し、結果のリアルタイムのレポートをサポートします。
言語 | 知識 | 推論 | 検査 |
単語の定義
イディオム学習
意味上の類似性
相互参照の解像度
翻訳
多言語での質問応答
多言語の概要
| 知識に関する質問への回答
| テキストの含意
常識的な推論
数学的推論
定理の応用
総合的な推論
| 中学・高校・大学・専門試験
健康診断
|
理解 | 長いコンテキスト | 安全性 | コード |
読解
コンテンツの概要
コンテンツ分析
| 長い文脈の理解
| 安全性
堅牢性
| コード
|
オープンソースモデル | APIモデル |
|
|
トップに戻る
主観的評価
CompassAreana をリリースします。
主観的な評価。
長いコンテキスト
広範なデータセットを使用した長期的なコンテキストの評価。
ロングコンテキストのリーダーボード。
コーディング
コーディング評価リーダーボード。
Python 以外の言語評価サービス。
エージェント
さまざまなエージェント フレームワークをサポートします。
LLM のツール使用の評価。
堅牢性
様々な攻撃方法に対応。
OpenCompass の改善へのあらゆる貢献に感謝いたします。ベスト プラクティスについては、貢献ガイドラインを参照してください。
このプロジェクトの一部のコードは OpenICL から引用および変更されています。
一部のデータセットとプロンプトの実装は、chain-of-thought-hub と instruct-eval から変更されています。
@misc{2023opencompass、title={OpenCompass: 基礎モデルのためのユニバーサル評価プラットフォーム}、author={OpenCompass Contributors}、howpublished = {url{https://github.com/open-compass/opencompass}}、year={ 2023}}
トップに戻る