はじめに
Verdict パイプラインで Weave のトレースを有効にするには、スクリプトの先頭でweave.init(project=...) を呼び出します。特定の W&B Team 名にログするには、project 引数に team-name/project-name を指定します。デフォルトの team/entity にログする場合は、project-name を指定してください。
callメタデータのトラッキング
Verdict パイプラインの call にカスタムメタデータを追加するには、weave.attributes コンテキストマネージャーを使用します。このコンテキストマネージャーを使うと、パイプラインの実行や評価バッチなど、特定のコードブロックにタグを付けられるため、後で Weave UI で関連するトレースをフィルターしたりグループ化したりできます。
トレース
AI 評価パイプラインのトレースを中央のデータベースに保存すると、開発時にも本番環境でも役立ちます。これらのトレースは、評価ワークフローのデバッグや改善に役立つほか、有用なデータセットにもなります。 Weave は、Verdict アプリケーションのトレースを自動的に取得します。Verdict ライブラリを介して行われるすべての Call をトラッキングしてログします。これには次が含まれます。Pipelineの実行ステップ。JudgeUnitの評価。Layerの変換。- プーリング操作。
- カスタムユニットと変換。
パイプラインのトレース例
以下の例は、ネストされたパイプライン操作を Weave がどのようにトレースするかを示しており、複数段階の Verdict パイプラインの各ステップがどのように取得されるかを確認できます。- メインの
Pipelineの実行。 Layer内の各JudgeUnitの評価。MeanPoolUnitの集約ステップ。- 各処理のタイミング情報。
設定
weave.init() を呼び出すと、Verdict パイプラインのトレースが自動的に有効になります。このインテグレーションは、Pipeline.__init__() method にパッチを適用して、すべての Trace Data を Weave に転送する VerdictTracer を注入することで機能します。
追加の設定は不要です。Weave は自動的に次を行います。
- すべてのパイプライン操作を取得する。
- 実行時間をトラッキングする。
- inputs と出力をログする。
- トレース階層を維持する。
- パイプラインの並行実行を処理する。
カスタムトレーサーと Weave
アプリケーションですでにカスタムの Verdict トレーサーを使用している場合、Weave のVerdictTracer はそれらと併用できるため、どちらか一方のインテグレーションを選ぶ必要はありません。
Models と評価
複数のパイプラインコンポーネントで構成される AI システムの整理と評価は、難しい場合があります。weave.Model を使用すると、プロンプト、パイプラインの設定、評価パラメーターなどの実験の詳細を取得して整理できるため、異なるイテレーションを比較しやすくなります。
次の例では、Verdict パイプラインを weave.Model でラップする方法を示します。
評価
評価を使うと、評価パイプライン自体のパフォーマンスを測定できます。weave.Evaluation クラスを使用すると、特定のタスクやデータセットに対して Verdict パイプラインがどの程度うまく機能しているかを取得できます。