メインコンテンツへスキップ
LLM Evaluation Jobs は W&B Multi-tenant Cloudプレビュー として提供されています。プレビュー期間中のコンピュート料金は無料です。詳細はこちらをご覧ください。
このページでは、CoreWeave が管理するインフラストラクチャを使用して、W&B Models 内のファインチューニング済みモデルに対して一連の評価ベンチマークを実行するための LLM Evaluation Jobs の使い方を説明します。公開アクセス可能な URL 上で提供されている API ホスト型モデルを評価する場合は、代わりに Evaluate an API-hosted model を参照するか、クイックスタート を使って、OpenAI の公開モデルエンドポイントに対して小規模なベンチマークを実行してください。

前提条件

  1. LLM Evaluation Job の要件と制限事項を確認します。
  2. 一部のベンチマークを実行するには、チーム管理者が必要な API キーをチームスコープのシークレットとして追加する必要があります。どのチームメンバーでも、評価ジョブを設定するときにそのシークレットを指定できます。要件については、Evaluation model catalog を参照してください。
    • OpenAPI API key: OpenAI モデルをスコアリングに使用するベンチマークで使用されます。ベンチマークを選択した後に Scorer API key フィールドが表示される場合に必要です。シークレット名は OPENAI_API_KEY である必要があります。
    • Hugging Face user access token: 1 つ以上のゲート付き Hugging Face データセットへのアクセスを必要とする lingolylingoly2 のような一部のベンチマークで必要です。ベンチマークを選択した後に Hugging Face Token フィールドが表示される場合に必要です。API キーには、対象のデータセットへのアクセス権が必要です。Hugging Face ドキュメントの User access tokens および accessing gated datasets を参照してください。
  3. 評価結果用に新しい W&B プロジェクト を作成します。プロジェクトのサイドバーから Create new project をクリックします。
  4. モデルを VLLM 互換形式でパッケージ化し、W&B Models にアーティファクトとして保存します。その他の種類のアーティファクトでベンチマークを実行しようとしても失敗します。一例として、このページ末尾の Example: Prepare a model を参照してください。
  5. 各ベンチマークのドキュメントを確認し、その動作と特有の要件について理解します。利便性のため、Available evaluation benchmarks リファレンスに関連リンクがまとめられています。

モデルを評価する

次の手順で評価ジョブをセットアップして起動します。
  1. W&B にログインし、プロジェクトのサイドバーで Launch をクリックします。LLM Evaluation Jobs ページが表示されます。
  2. 評価ジョブを設定するには Evaluate model checkpoint をクリックします。
  3. 評価結果を保存する宛先プロジェクトを選択します。
  4. Model artifact セクションで、評価する準備済みモデルのプロジェクト、アーティファクト、およびバージョンを指定します。
  5. Evaluations をクリックし、最大 4 つまでのベンチマークを選択します。
  6. スコアリングに OpenAI のモデルを使用するベンチマークを選択した場合、Scorer API key フィールドが表示されます。そこをクリックし、OPENAI_API_KEY シークレットを選択します。利便性のため、チーム管理者はこのドロワーから Create secret をクリックしてシークレットを作成できます。
  7. Hugging Face のゲート付きデータセットへのアクセスを必要とするベンチマークを選択した場合は、Hugging Face token フィールドが表示されます。該当データセットへのアクセスをリクエスト し、Hugging Face ユーザーアクセストークンを含むシークレットを選択します。
  8. 任意で、Sample limit を正の整数に設定して、評価するベンチマークサンプル数の上限を設定できます。設定しない場合、そのタスク内のすべてのサンプルが対象になります。
  9. リーダーボードを自動的に作成するには Publish results to leaderboard をクリックします。リーダーボードには、すべての評価結果が Workspace のパネル内にまとめて表示され、レポートで共有することもできます。
  10. Launch をクリックして評価ジョブを起動します。
  11. ページ上部の円形矢印アイコンをクリックして recent run モーダルを開きます。評価ジョブは他の recent runs と一緒に表示されます。完了した run の名前をクリックすると単一 run ビューで開き、Leaderboard リンクをクリックするとリーダーボードを直接開きます。詳細は 結果を表示する を参照してください。
最初のモデルを評価すると、次の評価ジョブを設定するときに多くのフィールドが直近の値で自動入力されます。
この評価ジョブの例では、2 つのベンチマークを 1 つのアーティファクトに対して実行しています。
モデルのチェックポイント評価ジョブの例
このリーダーボードの例では、複数のモデルの性能をまとめて可視化しています。
複数のベンチマークタスクに対する複数モデルの性能を可視化するリーダーボードの例

評価結果を確認する

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

リーダーボードをカスタマイズする

リーダーボードには、指定したプロジェクトに送信されたすべての評価ジョブの結果が表示され、評価ジョブ内のベンチマークごとに 1 行が割り当てられます。各列には、その評価ジョブのトレース、入力値、出力値などの詳細が表示されます。リーダーボードの詳細については、Leaderboards in Weave を参照してください。
リーダーボードの結果にフィードバックを送信するには、Feedback 列の絵文字アイコンまたはチャットアイコンをクリックします。
  • デフォルトでは、すべての評価ジョブが表示されます。左側の run セレクタを使用して、評価ジョブをフィルタリングまたは検索します。
  • デフォルトでは、評価ジョブはグループ化されていません。1 つ以上の列でグループ化するには、Group アイコンをクリックします。グループを表示または非表示にしたり、グループを展開してその中の run を表示できます。
  • デフォルトでは、すべてのオペレーションが表示されます。1 つのオペレーションのみを表示するには、All ops をクリックしてオペレーションを選択します。
  • 列でソートするには、列見出しをクリックします。列の表示をカスタマイズするには、Columns をクリックします。
    • デフォルトでは、ヘッダーは 1 階層で構成されています。ヘッダー階層の深さを増やして、関連するヘッダーをまとめて整理できます。
    • 個々の列を選択または選択解除して表示・非表示を切り替えるか、1 回のクリックですべての列を表示または非表示にできます。
    • 列を固定して、固定されていない列より前に表示します。

リーダーボードをエクスポートする

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

評価ジョブを再実行する

状況に応じて、評価ジョブを再実行したり、その設定を表示したりする方法が複数あります。
  • 直近の評価ジョブをもう一度実行するには、モデルを評価するの手順に従ってください。宛先プロジェクトを選択すると、前回選択したモデルアーティファクトの詳細とベンチマークが自動的に入力されます。必要に応じて調整を行い、その後評価ジョブを起動します。
  • プロジェクトの Runs タブまたは run セレクタから評価ジョブを再実行するには、run 名にカーソルを合わせて再生アイコンをクリックします。ジョブ設定ドロワーが表示され、設定があらかじめ入力されています。必要に応じて設定を調整し、Launch をクリックします。
  • 別のプロジェクトから評価ジョブを再実行するには、その設定をインポートします:
    1. モデルを評価するの手順に従います。宛先プロジェクトを選択した後、Import configuration をクリックします。
    2. インポートしたい評価ジョブを含むプロジェクトを選択し、その評価ジョブの run を選択します。ジョブ設定ドロワーが表示され、設定があらかじめ入力されています。
    3. 必要に応じて設定を調整します。
    4. Launch をクリックします。

評価ジョブの設定をエクスポートする

run の Files タブから評価ジョブの設定をエクスポートします。
  1. 対象の run を single-run view で開きます。
  2. Files タブをクリックします。
  3. config.yaml の横にあるダウンロードボタンをクリックして、ローカルにダウンロードします。

例:モデルを準備する

モデルを準備するには、W&B Models にモデルを読み込み、VLLM 互換形式でモデル重みをパッケージし、その結果を保存します。次の例では、その一例を示します。
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()