> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verifiers

> Weave を使用して Verifiers の RL 環境と LLM エージェントのトレーニングをトラッキングし、複数ラウンドの会話や評価のロールアウトを取得します。

[Verifiers](https://github.com/willccbb/verifiers) は、強化学習 (RL) 環境の作成や LLM エージェントのトレーニングに使用するモジュール式コンポーネントのライブラリです。Verifiers で構築した環境は、LLM の評価、合成データパイプライン、任意の OpenAI 互換エンドポイント向けのエージェントハーネス、RL トレーニングとして利用できます。

W\&B でトレーニングのメトリクスを記録するだけでなく、Weave を Verifiers の RL ワークフローに統合すると、トレーニング中にモデルがどのように動作しているかの可観測性を得られます。Weave は各ステップの入力、出力、タイムスタンプを記録するため、各ターンでデータがどのように変換されるかを確認したり、複雑な複数ラウンドの会話をデバッグしたり、トレーニング結果を最適化したりできます。

また、Weave と Verifiers を組み合わせて評価を実行することもできます。

このガイドは、Verifiers ベースの RL ワークフローに可観測性を追加したい ML エンジニアや研究者を対象としています。Verifiers、W\&B、Weave のインストール方法を説明したうえで、Verifiers を Weave および W\&B と組み合わせて使用する 2 つのサンプルを紹介します。1 つは評価中のロールアウトのトレース、もう 1 つは実験管理とトレースを有効にしたモデルのファインチューニングです。

<h2 id="get-started">
  はじめに
</h2>

Verifiers を Weave と統合するには、まず `uv` を使用して Verifiers ライブラリをインストールします ([ライブラリの作成者が推奨する方法](https://github.com/willccbb/verifiers?tab=readme-ov-file#setup)です) 。次のいずれかのコマンドを使用して、ライブラリをインストールしてください。

```bash theme={"system"}
# ローカル開発および API ベースのモデル向けにコアライブラリをインストールします
uv add verifiers

# PyTorch や GPU サポートを含む、すべてのオプションの依存関係を含むライブラリの完全版をインストールします
uv add 'verifiers[all]' && uv pip install flash-attn --no-build-isolation

# 未リリースの最新機能や修正を含む最新バージョンのライブラリを、GitHub から直接インストールします
uv add verifiers @ git+https://github.com/willccbb/verifiers.git
```

次に、Weave と W\&B をインストールします。

```bash theme={"system"}
uv pip install weave wandb
```

Weave では、このライブラリに対する[暗黙的なパッチ適用](/ja/products/wandb/weave/guides/integrations#automatic-implicit-patching)がデフォルトで有効になっています。そのため、パッチ関数を明示的に呼び出さなくても、Verifiers で Weave を使用できます。

ライブラリをインストールすれば、以下のセクションのサンプルを実行する準備は完了です。

<h3 id="trace-rollouts-and-evaluate">
  ロールアウトをトレースして評価する
</h3>

必要なライブラリをインストールしたら、Weave と Verifiers を組み合わせて使用し、Call のトレースや評価の実行を行えます。

次のサンプルスクリプトは、Verifiers で評価を実行し、その結果を Weave にログする方法を示しています。このスクリプトでは、[GSM8K データセット](https://huggingface.co/datasets/openai/gsm8k)を使用して、LLM の数学の問題を解く能力をテストします。GPT-4 に 2 つの数学の問題を解かせ、各応答から数値を抽出したうえで、Verifiers を評価フレームワークとして使用して回答を採点します。

サンプルを実行し、Weave で結果を確認してください。

```python lines theme={"system"}
import os
from openai import OpenAI
import verifiers as vf
import weave

os.environ["OPENAI_API_KEY"] = "[YOUR-OPENAI-API-KEY]"

# Weave を初期化
weave.init("verifiers_demo")

# 最小構成のシングルターン環境
dataset = vf.load_example_dataset("gsm8k", split="train").select(range(2))
parser = vf.ThinkParser()

def correct_answer(parser, completion, answer):
    parsed = parser.parse_answer(completion) or ""
    return 1.0 if parsed.strip() == answer.strip() else 0.0

rubric = vf.Rubric(funcs=[correct_answer, parser.get_format_reward_func()], weights=[1.0, 0.2])

env = vf.SingleTurnEnv(
    dataset=dataset,
    system_prompt="Think step-by-step, then answer.",
    parser=parser,
    rubric=rubric,
)

client = OpenAI()
results = env.evaluate(
    client, "gpt-4.1-mini", num_examples=2, rollouts_per_example=2, max_concurrent=8
)
```

<h3 id="fine-tune-a-model-with-experiment-tracking-and-tracing">
  実験管理とトレースを使用してモデルをファインチューニングする
</h3>

Weave を使用すると、RL ファインチューニング中のモデルのパフォーマンスを詳しく把握できます。W\&B と組み合わせることで、ワークフロー全体にわたる可観測性が得られます。W\&B はトレーニングのメトリクスとパフォーマンスのチャートをトラッキングし、Weave はトレーニングプロセス中の各インタラクションの詳細なトレースを取得します。

`verifiers` リポジトリには、すぐに実行できる[サンプル](https://github.com/PrimeIntellect-ai/verifiers)が用意されているので、すぐに使い始めることができます。

次の RL トレーニングパイプラインの例では、ローカルの推論サーバーを起動し、GSM8K データセットを使用してモデルをトレーニングします。モデルが数学の問題に回答すると、トレーニングループがその出力をスコアリングし、結果に応じてモデルを更新します。W\&B は損失、報酬、精度などのトレーニングメトリクスをログし、Weave は入力、出力、推論、スコアリングを取得します。

このパイプラインを使用するには、次の手順に従います。

1. ソースからフレームワークをインストールします。次のコマンドを実行すると、GitHub から Verifiers ライブラリと必要な依存関係がインストールされます。

```bash theme={"system"}
git clone https://github.com/willccbb/verifiers
cd verifiers
uv sync --all-extras && uv pip install flash-attn --no-build-isolation
```

2. 既製の環境をインストールします。次のコマンドで、事前設定済みの GSM8K トレーニング環境をインストールします：

```bash theme={"system"}
vf-install gsm8k --from-repo
```

3. モデルをトレーニングします。次のコマンドで、推論サーバーとトレーニングループをそれぞれ起動します。このサンプルワークフローではデフォルトで `report_to=wandb` が設定されているため、`wandb.init()` を別途呼び出す必要はありません。W\&B にメトリクスをログするため、このマシンの認証を求めるプロンプトが表示されます。

```bash theme={"system"}
# 推論サーバーを起動
CUDA_VISIBLE_DEVICES=0 vf-vllm --model willcb/Qwen3-0.6B --enforce-eager --disable-log-requests

# トレーニングループを起動
CUDA_VISIBLE_DEVICES=1 accelerate launch --num-processes 1 --config-file configs/zero3.yaml examples/grpo/train_gsm8k.py
```

<Note>
  この例は、安定性を高めるために以下の環境変数を設定した 2xH100 環境でテストされています。

  ```bash theme={"system"}
  # 起動前に両方のシェル (サーバーとトレーナー) で設定します
  export NCCL_CUMEM_ENABLE=0
  export NCCL_CUMEM_HOST_ENABLE=0
  ```

  これらの変数は、デバイスメモリの割り当てにおける CUDA Unified Memory (CuMem) を無効にします。
</Note>

トレーニングが始まると、run 中にログされた[トレースを UI で確認](/ja/products/wandb/weave/guides/tools/weave-in-workspaces)できます。W\&B がトレーニングメトリクスを取得し、Weave がインタラクションごとのトレースを記録します。これにより、パフォーマンスの大まかな傾向を把握できるだけでなく、トレーニング run の各ステップも詳細に可視化できます。

`Environment.a_generate` メソッドと `Rubric.score_rollouts` メソッドのトレースでは、`logprobs` が省略されます。これにより、トレーニングに使う元データはそのまま保持しつつ、ペイロードを小さく抑えられます。

<h2 id="see-also">
  関連項目
</h2>

Verifiers は W\&B Models とのインテグレーションを標準でサポートしています。詳細については、[Verifiers リポジトリ](https://github.com/willccbb/verifiers)を参照してください。


## Related topics

- [インテグレーションの概要](/ja/products/wandb/weave/guides/integrations.md)
