Skip to main content
Colab で開く Weave は、Verdict Python library を通じて行われるすべての call のトラッキングとログを簡単に行えるよう設計されています。 AI 評価パイプラインでは、デバッグが非常に重要です。パイプラインの step が失敗した場合、出力が想定外だった場合、あるいはネストされた操作によって状況が複雑になった場合など、問題の特定は難しいことがあります。Verdict アプリケーションは、多くの場合、複数のパイプライン step、judge、変換で構成されているため、評価ワークフローの内部で何が起きているかを理解することが重要です。 Weave は、Verdict アプリケーションのトレースを自動的に取得することで、このプロセスを簡素化します。これにより、パイプラインのパフォーマンスを監視および分析でき、AI 評価ワークフローのデバッグと最適化が容易になります。

はじめに

開始するには、スクリプトの先頭で weave.init(project=...) を呼び出すだけです。特定の W&B Team 名にログするには、project 引数に team-name/project-name を指定します。デフォルトの team/entity にログする場合は、project-name を指定してください。

callメタデータのトラッキング

Verdict パイプラインの call のメタデータをトラッキングするには、weave.attributes コンテキストマネージャーを使用できます。このコンテキストマネージャーを使うと、パイプラインの実行や評価バッチなど、特定のコードブロックに対してカスタムメタデータを設定できます。
Weave は、Verdict パイプライン call の トレース にひも付けて、メタデータを自動的にトラッキングします。メタデータは Weave の Web インターフェースで確認できます。

トレース

AI 評価パイプラインのトレースを一元的なデータベースに保存することは、開発時にも本番環境でも重要です。これらのトレースは、有用なデータセットとなり、評価ワークフローのデバッグや改善に不可欠です。 Weave は、Verdict アプリケーションのトレースを自動的に取得します。Verdict ライブラリを通じて行われるすべての call をトラッキングしてログし、以下が含まれます。
  • パイプライン実行の step
  • Judge ユニットの評価
  • レイヤー変換
  • プーリング操作
  • カスタムユニットと変換
トレースは Weave の Web インターフェースで表示でき、パイプライン実行の階層構造を確認できます。

パイプラインのトレース例

以下は、ネストされたパイプライン操作を Weave がどのようにトレースするかを示す、より複雑な例です。
これにより、次の内容を示す詳細なトレースが作成されます。
  • メインの 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 パイプラインを WeaveModel でラップする方法を示します。
このコードは、パイプライン構造と評価結果の両方を表示できる、Weave UIで可視化可能なモデルを作成します。

評価

評価を使うと、評価パイプライン自体のパフォーマンスを測定できます。weave.Evaluation クラスを使用すると、特定のタスクやデータセットに対して Verdict パイプラインがどの程度うまく機能しているかを取得できます。
これにより、さまざまなテストケースにおける Verdict パイプラインの動作を示す評価トレースが作成されます。

ベストプラクティス

パフォーマンス監視

Weave は、パイプライン内のすべての処理について実行時間の情報を自動的に取得します。これを使用して、パフォーマンスのボトルネックを特定できます。

エラー処理

Weave は、パイプラインの実行中に発生した例外を自動的に取得します:
Weave を Verdict と統合すると、AI 評価パイプラインの包括的な可観測性が得られ、評価ワークフローのデバッグ、最適化、把握が容易になります。