> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-sdk-testing-latest.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> CoreWeave が管理するインフラストラクチャーを使用して、VLLM 互換のモデル チェックポイントを評価する

# モデル チェックポイントを評価する

<Note>
  LLM 評価ジョブは、[W\&B Multi-tenant Cloud](/ja/platform/hosting/hosting-options/multi_tenant_cloud) で**プレビュー**版として提供されています。プレビュー期間中は、コンピュートを無料で利用できます。詳細については、[LLM 評価ジョブの pricing](/ja/models/launch#pricing)を参照してください。
</Note>

このページでは、CoreWeave が管理するインフラストラクチャーを使用して、W\&B Models 内のファインチューニングしたモデルに対し、一連の評価ベンチマークを実行するために [LLM 評価ジョブ](/ja/models/launch) を使用する方法を説明します。公開アクセス可能な URL で提供されるホスト型 API モデルを評価する場合は、代わりに [API ホスト型モデルを評価する](/ja/models/launch/evaluate-hosted-model) を参照してください。あるいは、簡略化された [クイックスタート](/ja/models/launch#quickstart) を使って、公開 OpenAI モデルのエンドポイントに対して小規模なベンチマークを実行することもできます。

<div id="prerequisites">
  ## 前提条件
</div>

モデル チェックポイントを評価する前に、次の作業を完了してください。

1. LLM 評価ジョブの[要件と制限事項](/ja/models/launch#more-details)を確認します。
2. 一部のベンチマークを実行するには、チーム管理者が必要なAPIキーを[チームスコープのシークレット](/ja/platform/secrets#add-a-secret)として追加する必要があります。評価ジョブの設定時には、どのチームメンバーでもそのシークレットを指定できます。要件については、[評価モデルカタログ](/ja/models/launch/evaluations)を参照してください。
   * **OpenAPI APIキー**: スコアリングにOpenAIモデルを使用するベンチマークで使われます。ベンチマークを選択した後に **Scorer API key** フィールドが表示される場合は必須です。シークレット名は `OPENAI_API_KEY` である必要があります。
   * **Hugging Face ユーザーアクセストークン**: `lingoly` や `lingoly2` など、1つ以上のアクセス制限付きHugging Faceデータセットへのアクセスが必要な一部のベンチマークで必須です。ベンチマークを選択した後に **Hugging Face token** フィールドが表示される場合は必須です。APIキーには、該当するデータセットへのアクセス権が必要です。[ユーザーアクセストークン](https://huggingface.co/docs/hub/en/security-tokens)および[アクセス制限付きデータセットへのアクセス](https://huggingface.co/docs/hub/en/datasets-gated#access-gated-datasets-as-a-user)については、Hugging Faceのドキュメントを参照してください。
3. 評価結果用の新しい[W\&Bプロジェクト](/ja/models/track/project-page)を作成します。プロジェクトのサイドバーで、**Create new project** をクリックします。
4. モデルをVLLM互換形式でパッケージ化し、W\&B Modelsにartifactとして保存します。それ以外の種類のartifactをベンチマークしようとすると失敗します。一つの方法については、次の[例: モデルを準備する](#example-prepare-a-model)セクションを参照してください。
5. 各ベンチマークのドキュメントを確認し、その仕組みと個別の要件を理解してください。参考として、[利用可能な評価ベンチマーク](/ja/models/launch/evaluations)のリファレンスには関連リンクが含まれています。

<div id="evaluate-your-model">
  ## モデルを評価する
</div>

前提条件を完了したら、次の手順で、評価ジョブを設定して Launch します。

1. W\&B にログインし、プロジェクトのサイドバーで **Launch** をクリックします。**LLM評価ジョブ** ページが表示されます。
2. **Evaluate モデル チェックポイント** をクリックして、評価ジョブを設定します。
3. 評価結果の保存先となるプロジェクトを選択します。
4. **Model artifact** セクションで、評価する準備済みモデルのプロジェクト、artifact、バージョンを指定します。
5. **Evaluations** をクリックし、最大 4 つのベンチマークを選択します。
6. スコアリングに OpenAI モデルを使用するベンチマークを選択すると、**Scorer API key** フィールドが表示されます。これをクリックし、`OPENAI_API_KEY` シークレットを選択します。必要に応じて、チーム管理者はこの drawer で **Create secret** をクリックしてシークレットを作成できます。
7. Hugging Face の アクセス制限付きデータセット への access が必要なベンチマークを選択すると、**Hugging Face token** フィールドが表示されます。[該当するデータセットへのアクセスをリクエスト](https://huggingface.co/docs/hub/en/datasets-gated#access-gated-datasets-as-a-user) してから、Hugging Face ユーザーアクセストークンを含むシークレットを選択します。
8. オプション: **Sample limit** に正の整数を設定し、評価するベンチマークサンプルの最大数を制限します。設定しない場合、ジョブにはタスク内のすべてのサンプルが含まれます。
9. リーダーボードを自動的に作成するには、**Publish results to leaderboard** をクリックします。リーダーボードにはすべての評価が Workspace パネルにまとめて表示され、レポートで共有することもできます。
10. **Launch** をクリックして評価ジョブを起動します。
11. ページ上部の円形矢印アイコンをクリックして、最近の run のモーダルを開きます。評価ジョブは、他の最近の run と一緒に表示されます。完了した run の名をクリックすると単一 run ビューで開き、**Leaderboard** の link をクリックするとリーダーボードを直接開けます。詳細は、[結果を表示する](#view-the-results) を参照してください。

<Tip>
  最初のモデルを評価すると、次の評価ジョブを設定するときに、多くのフィールドに直近の値が事前入力されます。
</Tip>

この評価ジョブの例では、artifact に対して 2 つのベンチマークを実行しています。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-sdk-testing-latest/9bGjVEZnWlpBI-9p/images/models/llm-evaluation-jobs/model-checkpoint-job-example.png?fit=max&auto=format&n=9bGjVEZnWlpBI-9p&q=85&s=280e7311f1d9e59b9a387d9b55524142" alt="artifact に対するモデル チェックポイント評価ジョブの例" width="375" height="919" data-path="images/models/llm-evaluation-jobs/model-checkpoint-job-example.png" />
</Frame>

このリーダーボードの例では、複数のモデルのパフォーマンスを複数のベンチマークタスクに対してまとめて可視化しています。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-sdk-testing-latest/9bGjVEZnWlpBI-9p/images/models/llm-evaluation-jobs/model-checkpoint-leaderboard-example.png?fit=max&auto=format&n=9bGjVEZnWlpBI-9p&q=85&s=b5f5a00ca2d91949ffa299a08f7b0c62" alt="複数のベンチマークタスクに対する複数のモデルのパフォーマンスを可視化したリーダーボードの例" width="3354" height="1552" data-path="images/models/llm-evaluation-jobs/model-checkpoint-leaderboard-example.png" />
</Frame>

<div id="review-evaluation-results">
  ## 評価結果を確認する
</div>

宛先プロジェクトのワークスペースにある W\&B Models で、評価ジョブの結果を確認します。

1. ページ上部の円形矢印アイコンをクリックして、最近の run を表示するモーダルを開きます。ここでは、評価ジョブがプロジェクト内の他の run と一緒に表示されます。評価ジョブにリーダーボードがある場合は、**Leaderboard** をクリックして全画面で開くか、run 名をクリックしてプロジェクト内の単一 run ビューで開きます。
2. 評価ジョブのトレースは、ワークスペースの **Evaluations** セクション、または **Weave** サイドバーパネルの **Traces** タブで確認できます。
3. **Overview** タブをクリックすると、設定やサマリー メトリクスを含む評価ジョブの詳細情報を確認できます。
4. **Logs** タブをクリックすると、評価ジョブのデバッグログを表示、検索、またはダウンロードできます。
5. **Files** タブをクリックすると、コード、ログ、設定、その他の出力ファイルを含む評価ジョブのファイルを参照、表示、またはダウンロードできます。

<div id="customize-a-leaderboard">
  ## リーダーボードをカスタマイズする
</div>

リーダーボードには、指定したプロジェクトに送信されたすべての評価ジョブの結果が表示されます。各評価ジョブの各ベンチマークが 1 行で表示され、列には トレース、入力値、出力値などの詳細が表示されます。リーダーボードの詳細については、[Weave の Leaderboards](/ja/weave/guides/core-types/leaderboards)を参照してください。

<Tip>リーダーボード上の結果にフィードバックするには、**Feedback** 列の絵文字アイコンまたはチャットアイコンをクリックします。</Tip>

* デフォルトでは、すべての評価ジョブが表示されます。左側の run selector を使用して、評価ジョブをフィルターまたは検索できます。
* デフォルトでは、評価ジョブはグループ化されていません。1 つ以上の列でグループ化するには、**Group** アイコンをクリックします。グループの表示/非表示を切り替えたり、グループを展開してその Runs を表示したりできます。
* デフォルトでは、すべてのオペレーションが表示されます。1 つのオペレーションだけを表示するには、**All ops** をクリックしてオペレーションを選択します。
* 列で並べ替えるには、列見出しをクリックします。列の表示をカスタマイズするには、**Columns** をクリックします。
  * デフォルトでは、ヘッダーは 1 階層で構成されています。ヘッダーの深さを増やすと、関連するヘッダーをまとめて整理できます。
  * 個々の列を選択または選択解除して表示/非表示を切り替えるか、クリック 1 回ですべての列を表示または非表示にできます。
  * 列を固定すると、固定していない列より前に表示できます。

<div id="export-a-leaderboard">
  ## リーダーボードをエクスポートする
</div>

リーダーボードをエクスポートするには、次の手順を実行します。

1. **Columns** ボタンの近くにあるダウンロードアイコンをクリックします。
2. エクスポートサイズを抑えるため、デフォルトでは W\&B によりトレースルートのみがエクスポートされます。完全なトレースをエクスポートするには、**Trace roots only** をオフにします。
3. エクスポートサイズを抑えるため、デフォルトでは W\&B はフィードバックとコストをエクスポートしません。これらをエクスポートに含めるには、**Feedback** または **Costs** をオンにします。
4. デフォルトのエクスポート形式は JSONL です。形式を変更するには、**Export to file** をクリックして形式を選択します。
5. ブラウザーでリーダーボードをエクスポートするには、**Export** をクリックします。
6. リーダーボードをプログラムからエクスポートするには、**Python** または **cURL** を選択し、**Copy** をクリックしてからスクリプトまたは command を実行します。

<div id="re-run-an-evaluation-job">
  ## 評価ジョブを再実行する
</div>

評価ジョブの完了後、同じ設定または調整した設定でもう一度実行したり、その設定を新しいジョブの出発点として再利用したりしたい場合があります。

状況に応じて、評価ジョブを再実行したり、その設定を表示したりする方法が複数あります。

* 直前の評価ジョブを再実行するには、[モデルを評価する](#evaluate-your-model) の手順に従います。保存先のプロジェクトを選択すると、前回選択したモデル artifact の詳細とベンチマークが自動的に入力されます。必要に応じて調整してから、評価ジョブを起動します。
* プロジェクトの **Runs** タブまたは run selector から評価ジョブを再実行するには、run 名にカーソルを合わせて **再生** アイコンをクリックします。設定が事前入力された状態でジョブ設定ドロワーが表示されます。必要に応じて設定を調整し、**Launch** をクリックします。
* 別のプロジェクトから評価ジョブを再実行するには、その設定をインポートします:
  1. [モデルを評価する](#evaluate-your-model) の手順に従います。保存先のプロジェクトを選択したら、**Import configuration** をクリックします。
  2. インポートする評価ジョブが含まれるプロジェクトを選択し、次にその評価ジョブの run を選択します。設定が事前入力された状態でジョブ設定ドロワーが表示されます。
  3. 任意: 設定を調整します。
  4. **Launch** をクリックします。

<div id="export-an-evaluation-job-configuration">
  ## 評価ジョブの設定をエクスポートする
</div>

再利用または参照のために評価ジョブの `config.yaml` のローカル コピーを保存するには、run の **Files** タブから設定をエクスポートします。

1. 単一 run ビューで run を開きます。
2. run 内で **Files** を選択します。
3. `config.yaml` の横にあるダウンロード ボタンを選択します。

<div id="example-prepare-a-model">
  ## 例: モデルを準備する
</div>

モデル チェックポイントを評価するには、まず VLLM 互換形式でパッケージ化し、W\&B Models のartifactとして保存する必要があります。この例では、その方法の 1 つを示します。

```python lines theme={null}
import os
from transformers import AutoTokenizer, AutoModelForCausalLM

# モデルを読み込む
model_name = "your-model-name"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# vLLM互換フォーマットで保存する
save_dir = "path/to/save"
tokenizer.save_pretrained(save_dir)
model.save_pretrained(save_dir)

# W&B Models に保存する
import wandb
wandb_run = wandb.init(entity="your-entity-name", project="your-project-name")
artifact = wandb.Artifact(name="your-artifact-name")
artifact.add_dir(save_dir)
logged_artifact = wandb_run.log_artifact(artifact)
logged_artifact.wait()
wandb.finish()
```
