Skip to main content
VERL (Volcano Engine Reinforcement Learning) は、LLM 向けのオープンソース RL ポストトレーニングフレームワークです。VERL には組み込みの Weave トレースバックエンドが搭載されており、W&B がすでに記録しているトレーニングメトリクスと並行して、LLM 生成とツール呼び出しをトレースできます。 Weave を VERL とともに使用すると、以下のことが可能になります。
  • 各ロールアウト軌跡を、プロンプト、モデル応答、ツール呼び出しを含めてステップごとに検査します。
  • ステップ、サンプルインデックス、ロールアウト番号、実験名で軌跡をフィルターします。
  • 複数の軌跡を並べて比較し、トレーニングステップ全体でのエージェント動作をデバッグします。

前提条件

  • CoreWeave Forge アカウントと APIキー。
  • ロールアウト トレースをサポートする VERL インストール。ロールアウト トレースは verl#2345 で追加されました。
  • 非同期ロールアウト設定。トレースは非同期ロールアウトにのみ適用され、同期ロールアウトはトレースされません。

Weave トレースを有効にする

VERL が CoreWeave Forge アカウントで認証できるように、環境に APIキーを設定します:
次に、VERL のトレーニングコマンドに以下のフラグを追加してください:
  • actor_rollout_ref.rollout.trace.backend=weave: Weave をトレースバックエンドとして選択します。
  • actor_rollout_ref.rollout.mode=async: vLLM または SGLang の非同期ロールアウトを有効にします。同期ロールアウトにはトレースの効果はありません。
  • trainer.project_name: トレースとメトリクスをログする project を設定します。
  • trainer.experiment_name: 実験の名を設定します。
  • trainer.logger=['console','wandb']: Weave と並行して wandb ロガーを有効にし、メトリクスとトレースが同じ project に表示されるようにします。
結果のコマンドは次のようになります:
Weave は Weights & Biases の project と実験名から自動的に初期化されます。weave.init() を呼び出す必要はありません。

トレース量を調整する

デフォルトでは、VERL はすべてのロールアウトのすべてのサンプルをトレースするため、非常に大量のトレースデータが生成される場合があります。ppo_trainer.yaml 設定ファイルで以下のフィールドを設定することで、トレース量を制限できます。
  • max_samples_per_step_per_worker: トレーニングステップごとにワーカーがトレースする一意のサンプル数。すべてのサンプルをトレースする場合のデフォルトは null です。
  • token2text: True に設定すると、デコードされた prompt_text と response_text を ToolAgentLoop.run の出力に追加します。パフォーマンスのためのデフォルトは False です。Weights & Biases UI で直接プロンプトと完了を確認したい場合に有効にしてください。
結果のフィールドはファイル内で次のようになります。

トレースを表示

トレーニング中に発行されたトレースを表示するには、Weights & Biases の project ページを開き、トレース を選択します。各トレースはロールアウトの軌跡に対応します。 複数のトレースを選択し、Weave の Comparison ビューを使用して軌跡間の差異を確認できます。これにより、トレーニングステップや実験全体でのエージェントの動作の変化をデバッグするのに役立ちます。

追加の関数をトレースする

VERL はデフォルトのトレースカバレッジを拡張するための2つのヘルパーを公開しています:
  • rollout_trace_op: weave.op にマッピングされるデコレーターで、クラスインスタンス上のメソッドをトレース対象としてマークします。デフォルトでは少数のメソッドのみが装飾されています。カスタムエージェントループやツール実装のメソッドにこのデコレーターを追加して、より詳細な情報を取得できます。
  • rollout_trace_attr: 軌跡のエントリをマークし、軌跡のメタデータ (サンプルインデックス、ステップ、ロールアウト番号、実験名) をアタッチするコンテキストマネージャーです。新しいエージェントタイプを導入する場合、その軌跡エントリポイントを rollout_trace_attr でラップして、トレースが run に関連付けられるようにしてください。
詳細な設定情報については、VERL の ロールアウト トレース ドキュメント を参照してください。
最終更新日 2026年9月30日