はじめに
Verifiers を Weave と統合するには、まずuv を使用して Verifiers ライブラリをインストールします (ライブラリの作成者が推奨する方法です) 。次のいずれかのコマンドを使用して、ライブラリをインストールしてください。
ロールアウトをトレースして評価する
必要なライブラリをインストールしたら、Weave と Verifiers を組み合わせて使用し、Call のトレースや評価の実行を行えます。 次のサンプルスクリプトは、Verifiers で評価を実行し、その結果を Weave にログする方法を示しています。このスクリプトでは、GSM8K データセットを使用して、LLM の数学の問題を解く能力をテストします。GPT-4 に 2 つの数学の問題を解かせ、各応答から数値を抽出したうえで、Verifiers を評価フレームワークとして使用して回答を採点します。 サンプルを実行し、Weave で結果を確認してください。実験管理とトレースを使用してモデルをファインチューニングする
Weave を使用すると、RL ファインチューニング中のモデルのパフォーマンスを詳しく把握できます。W&B と組み合わせることで、ワークフロー全体にわたる可観測性が得られます。W&B はトレーニングのメトリクスとパフォーマンスのチャートをトラッキングし、Weave はトレーニングプロセス中の各インタラクションの詳細なトレースを取得します。verifiers リポジトリには、すぐに実行できるサンプルが用意されているので、すぐに使い始めることができます。
次の RL トレーニングパイプラインの例では、ローカルの推論サーバーを起動し、GSM8K データセットを使用してモデルをトレーニングします。モデルが数学の問題に回答すると、トレーニングループがその出力をスコアリングし、結果に応じてモデルを更新します。W&B は損失、報酬、精度などのトレーニングメトリクスをログし、Weave は入力、出力、推論、スコアリングを取得します。
このパイプラインを使用するには、次の手順に従います。
- ソースからフレームワークをインストールします。次のコマンドを実行すると、GitHub から Verifiers ライブラリと必要な依存関係がインストールされます。
- 既製の環境をインストールします。次のコマンドで、事前設定済みの GSM8K トレーニング環境をインストールします:
- モデルをトレーニングします。次のコマンドで、推論サーバーとトレーニングループをそれぞれ起動します。このサンプルワークフローではデフォルトで
report_to=wandbが設定されているため、wandb.init()を別途呼び出す必要はありません。W&B にメトリクスをログするため、このマシンの認証を求めるプロンプトが表示されます。
この例は、安定性を高めるために以下の環境変数を設定した 2xH100 環境でテストされています。これらの変数は、デバイスメモリの割り当てにおける CUDA Unified Memory (CuMem) を無効にします。
Environment.a_generate メソッドと Rubric.score_rollouts メソッドのトレースでは、logprobs が省略されます。これにより、トレーニングに使う元データはそのまま保持しつつ、ペイロードを小さく抑えられます。