メインコンテンツへスキップ
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 タブを選択します。

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

リネージグラフのトラッキングを有効にするには、 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 タブの両方で確認できます。
より詳細なビューを表示するには、個々の 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()