メインコンテンツへスキップ
Verifiers は、強化学習 (RL) 環境の作成や LLM エージェントのトレーニングに使う、モジュール型コンポーネントのライブラリです。Verifiers で構築した環境は、LLM の評価、合成データパイプライン、任意の OpenAI 互換 endpoint 向けのエージェントハーネス、RL トレーニングに利用できます。 W&B を使用してトレーニングメトリクスを記録するだけでなく、Verifiers の RL ワークフローに Weave を統合することで、トレーニング中のモデルの挙動を可視化できます。Weave は各 step の inputs、outputs、タイムスタンプを記録するため、各ターンでデータがどのように変換されるかを確認し、複雑な複数ラウンドの会話をデバッグし、トレーニング結果を最適化できます。 また、Weave と Verifiers を組み合わせて使用して、評価を実行することもできます。 このガイドは、Verifiers ベースの RL ワークフローに可観測性を追加したい ML エンジニアや研究者向けです。Verifiers、W&B、Weave のインストール方法を説明し、Verifiers を Weave および W&B と組み合わせて使う 2 つの例を紹介します。1 つは評価中のロールアウトをトレースする方法、もう 1 つは実験管理とトレースを有効にしてモデルをファインチューニングする方法です。 verifiers wandb run page

はじめに

Verifiers を Weave と統合するには、まず uv を使って Verifiers ライブラリをインストールします (ライブラリの作者が推奨しています) 。ライブラリのインストールには、次のいずれかのコマンドを使用してください。
次に、Weave と W&B をインストールします。
Weave では、デフォルトでこのライブラリに対して暗黙的なパッチ適用が有効になっています。これにより、明示的な call / calls パッチ関数がなくても、Verifiers と Weave を使用できます. ライブラリをインストールしたら、以下のセクションの例を実行する準備は完了です。

ロールアウトをトレースして評価する

必要なライブラリをインストールしたら、Weave と Verifiers を組み合わせて使用し、call / calls をトレースして評価を実行できます。 次のサンプルスクリプトでは、Verifiers で評価を実行し、その結果を Weave にログする方法を示します。このスクリプトでは、GSM8Kデータセット を使って、数学の問題を解く LLM の能力を検証します。GPT-4 に 2 つの数学の問題を解かせ、各レスポンスから数値を抽出した後、Verifiers を評価フレームワークとして使ってその試行を採点します。 サンプルを実行し、Weave で結果を確認してください。

実験管理とトレースを使用してモデルをファインチューニングする

Weave は、RL のファインチューニング中にモデルがどのようにパフォーマンスしているかを可視化します。W&B と併用すると、ワークフロー全体にわたる可観測性が得られます。W&B はトレーニングのメトリクスやパフォーマンスチャートをトラッキングし、Weave はトレーニングプロセス中の各インタラクションの詳細なトレースを取得します。 verifiers repository には、使い始めるのに役立つ、すぐに実行できるが含まれています。 次の RL トレーニングパイプラインの例では、ローカルの推論サーバーを実行し、GSM8K データセットを使用してモデルをトレーニングします。モデルは数学の問題に対する答えを返し、トレーニングループは出力をスコアリングして、それに応じてモデルを更新します。W&B は損失、報酬、精度などのトレーニングメトリクスをログし、Weave は入力、出力、推論過程、スコアリングを取得します。 このパイプラインを使用するには:
  1. ソースからフレームワークをインストールします。次のコマンドでは、GitHub から Verifiers ライブラリと必要な依存関係をインストールします。
  1. 既成の環境をインストールします。次のコマンドで、事前設定済みの GSM8K トレーニング環境をインストールできます。
  1. モデルをトレーニングします。次のコマンドは、それぞれ推論サーバーとトレーニングループを起動します。このワークフロー例では、デフォルトで report_to=wandb が設定されているため、wandb.init() を別途呼び出す必要はありません。W&B にメトリクスをログするには、このマシンを認証するよう求められます。
この例は 2xH100 での動作を確認しており、安定性を高めるために以下の環境変数を設定しました。
これらの変数は、デバイスメモリ割り当てにおける CUDA Unified Memory (CuMem) を無効にします。
トレーニングが始まると、run 中にログされたトレースを UI で表示できます。W&B はトレーニングメトリクスを取得し、Weave は各インタラクションのトレースを記録するため、トレーニング run の高レベルなパフォーマンス傾向と、詳細なステップごとの可視性の両方を得られます。 トレースでは、Environment.a_generate および Rubric.score_rollouts method の logprobs は省略されます。これにより、トレーニング用の元のデータはそのまま保持しつつ、ペイロードを小さくできます。

関連項目

Verifiers は W&B Models とネイティブにインテグレーションされています。詳細は、Verifiers repositoryを参照してください。