メインコンテンツへスキップ
W&B は、有向非巡回グラフ(DAG)である リネージグラフ を使用して、 Runs の入力と出力を追跡します。リネージグラフは、 ML 実験における Artifacts と Runs の関係を視覚的に表現したものです。これらは、生データの取り込みから モデルトレーニング 、評価に至るまで、 ML ライフサイクルのさまざまな段階を通じて データ と モデル がどのように流れるかを示します。 Artifacts の リネージ を追跡することには、いくつかの大きな利点があります。
  • 再現性: デバッグ、実験、検証のために、チームが実験、 モデル 、 結果 を再現することを可能にします。
  • バージョン管理: 時間の経過に伴う Artifacts の変更を追跡し、必要に応じてチームが以前の データ や モデル の バージョン に戻れるようにします。
  • 監査: コンプライアンスとガバナンスをサポートするために、 Artifacts と変換の際の詳細な記録を保持します。
  • コラボレーション: 実験履歴を透明化し、作業の重複を減らし、開発を加速させることで、チームワークの向上に役立ちます。

Artifacts のリネージグラフを表示する

Artifacts のリネージグラフを表示するには:
  1. W&B App に移動します。
  2. 探索したい Run または Artifact が含まれる Project を選択します。
  3. 左サイドバーの Artifacts タブをクリックします。
  4. Lineage タブを選択します。
Getting to the Lineage tab

リネージグラフのトラッキングを有効にする

リネージグラフのトラッキングを有効にするには、 W&B Python SDK を使用して、 Artifacts を Run の 入力 または 出力 としてマークする必要があります。

Run の入力を追跡する

wandb.Run.use_artifact() メソッドを使用して、 Artifact を Run の入力(または依存関係)としてマークします。 Artifact の名前と、その Artifact の特定の バージョン を参照するためのオプションの エイリアス を指定します。 Artifact の名前は <artifact_name>:<version> または <artifact_name>:<alias> の形式です。 山括弧( < > )で囲まれた 値 を自分の 値 に置き換えてください:
import wandb

# run を初期化
with wandb.init(entity="<entity>", project="<project>") as run:
  # アーティファクトを取得し、依存関係としてマーク
  artifact = run.use_artifact(artifact_or_name="<name>", aliases="<alias>")

Run の出力を追跡する

wandb.Run.log_artifact() を使用して、 Artifact を Run の出力として宣言します。まず、 wandb.Artifact() コンストラクタで Artifact を作成します。次に、 wandb.Run.log_artifact() を使用して、その Artifact を Run の出力として ログ 記録します。 山括弧( < > )で囲まれた 値 を自分の 値 に置き換えてください:
import wandb

# run を初期化
with wandb.init(entity="<entity>", project="<project>") as run:
  
  # アーティファクトを作成
  artifact = wandb.Artifact(name = "<artifact_name>", type = "<artifact_type>")
  artifact.add_file(local_path = "<local_filepath>", name="<optional-name>")

  # アーティファクトを run の出力としてログ記録
  run.log_artifact(artifact_or_path = artifact)

リネージグラフを操作する

指定した Artifact または ジョブタイプ が名前の前に表示され、 Artifacts は青いアイコンで、 Runs は緑のアイコンで表されます。矢印は、グラフ上の Run または Artifact の入力と出力の詳細を示します。
Run and artifact nodes
Artifact のタイプと名前は、左サイドバーと Lineage タブの両方で確認できます。
Inputs and outputs
より詳細なビューを表示するには、個々の Artifact または Run をクリックして、特定の オブジェクト に関する詳細情報を取得します。
Previewing a run

Artifact クラスター

グラフの特定のレベルに 5 つ以上の Runs または Artifacts がある場合、 クラスター が作成されます。 クラスター には特定の バージョン の Runs または Artifacts を見つけるための検索バーがあり、 クラスター 内の特定の ノード を引き出して、その ノード の リネージ の調査を続けることができます。 ノード をクリックすると、その ノード の概要を示すプレビューが開きます。矢印をクリックすると、個々の Run または Artifact が抽出され、抽出された ノード の リネージ を詳細に調べることができます。
Searching a run cluster

プログラムによる Artifact グラフの操作

W&B Python SDK を使用してプログラムでグラフを トラバース します。 Artifact オブジェクト の logged_by() および used_by() メソッドを使用して、グラフを辿ります。
with wandb.init() as run:
    artifact = run.use_artifact("artifact_name:latest")

    # アーティファクトからグラフを上下に辿る:
    producer_run = artifact.logged_by()
    consumer_runs = artifact.used_by()