はじめに
weave.init(project=...) を呼び出します。project 引数を使って、team-name/project-name の形式で特定の W&B チーム名にログを記録するか、project-name だけを指定してデフォルトのチーム/エンティティにログを記録します。
呼び出しメタデータのトラッキング
weave.attributes コンテキストマネージャーを使用します。このコンテキストマネージャーを使うと、パイプラインの run や評価バッチなど、特定のコードブロックに対してカスタムメタデータを設定できます。
トレース
- パイプライン実行ステップ
- Judge ユニットの評価
- レイヤー変換
- プーリング処理
- カスタムユニットおよび変換
パイプライントレースの例
- メインのパイプライン実行
- レイヤー内の各 JudgeUnit の評価
- MeanPoolUnit による集約ステップ
- 各処理のタイミング情報
設定
weave.init() を呼び出すと、Verdict パイプラインに対してトレースが自動的に有効になります。このインテグレーションは、Pipeline.__init__ メソッドにパッチを当てて VerdictTracer を挿入し、すべてのトレースデータを Weave に転送することで動作します。
追加の設定は不要です。Weave は自動的に次のことを行います:
- すべてのパイプライン処理をキャプチャする
- 実行時間を追跡する
- 入力および出力をログに記録する
- トレース階層を維持する
- 複数のパイプラインの同時実行を処理する
カスタムトレーサーと Weave
VerdictTracer をそれらと併せて使用できます。
Models と評価
weave.Model を使うと、プロンプト、パイプラインの設定、評価パラメータなどの実験の詳細を記録・整理できるため、さまざまなイテレーション同士を比較しやすくなります。
次の例では、Verdict パイプラインを WeaveModel でラップする方法を示します。
評価
weave.Evaluation クラスを使うことで、特定のタスクやデータセットに対して Verdict パイプラインがどの程度うまく機能しているかを記録できます。