メインコンテンツへスキップ
多数の run が存在するワークスペースでは、最良の結果を出した run、運用中のモデル、失敗した実験、重要な参照ポイントを把握しておくのが難しい場合があります。W&B App では、run を整理して比較するのに役立つ機能を提供しています:
  • Pinned runs: 最大 6 個の run をピン留めして、ワークスペース内および run 一覧の先頭に常に表示しておくことができます。ベースライン run がある場合、ベースラインは自動的にピン留めされるため、ピン留めできる run は最大 5 個になります。
  • Baseline run: 比較用の参照ポイントとしてベースライン run を指定します。ベースライン run は常にワークスペース内および run 一覧の先頭に表示されます。折れ線グラフでは、比較しやすいようにベースラインは視覚的に区別しやすいスタイルで表示されます。
これらの機能は、次のような場合に特に有効です:
  • 新しい実験を運用中のモデルと比較する。
  • 実験中の複数の候補モデルを追跡する。
  • 新しい run がこれまでのベストな結果を上回っているかどうかを評価する。
ピン留めされた run とベースライン run は、W&B Multi-tenant Cloud でのみ利用できます。
制限事項を参照してください。

run をピン留めする

最大 6 個までの run をピン留めすると、Workspace の上部から簡単にアクセスできます。ベースライン run がある場合は、ベースラインが暗黙的にピン留めされているため、ピン留めできる run は最大 5 個です。ピン留めされた run は、他の run に対してソートやフィルタが適用されていても、常に表示されたままです。ピン留めされた run は、円形のピンアイコン付きで run セレクタの上部に表示され、他の run とは区切り線で区切られます。 run をピン留めするには:
  1. Workspace に移動します。
  2. run セレクタまたは runs テーブルで、ピン留めしたい run を探します。
  3. アクション ... メニューをクリックし、Pin run を選択します。
Runs テーブルでピン留めされた run
run のピン留めを解除するには、ピンアイコンをクリックするか、run をピン留めする手順に従って Unpin run を選択します。

ベースライン run の管理

ワークスペース内の他の run を評価する際の基準として使用するために、1 つの run をワークスペースのベースライン run として指定できます。 run セレクターや run テーブルでは、ベースライン run はピン留めされた run と並んで一番上に表示され、ピンの代わりにブックマークアイコンが表示されます。 折れ線グラフでは、ベースライン run の線は他の線より太く表示されます。プロットや凡例にカーソルを合わせると、ベースライン run の線は破線になります。
ベースラインと別の run を比較するデモ

ベースライン run を設定する

ベースライン run を設定するには、次の手順に従います。
  1. ワークスペースに移動します。
  2. run セレクターまたは Runs テーブルで、ベースラインとして使用したい run を見つけます。
  3. アクションメニュー ... をクリックし、Set as baseline を選択します。
ベースライン run は、他の run とは視覚的な区切りで分けられ、run セレクターの一番上に表示されます。ベースライン run には円ではなくブックマークのアイコンが表示されます。
ベースライン run とピン留めされた run が表示された Runs テーブル

ベースライン run を変更する

同時にベースラインにできる run は 1 つだけです。ベースラインにする run を変更するには、次の手順を実行します。
  1. Workspace に移動します。
  2. run セレクタまたは runs テーブルで、新しいベースラインとして使用したい run を見つけます。
  3. アクション ... メニューをクリックし、Replace baseline を選択します。
    メニューアイテムが無効になっている場合は、ピン留めスロットに空きがあることを確認してください。必要に応じて、ピン留めされている run の横にある円形のピンアイコンをクリックして、その run のピン留めを解除します。
  4. 新しい run がベースラインになり、以前のベースラインは自動的にピン留めされて、簡単に見つけられるようになります。必要に応じて、そのピンアイコンをクリックしてピン留めを解除します。

ベースライン指定を削除する

ベースライン指定を削除するには、次の手順を実行します。
  1. ワークスペースに移動します。
  2. run セレクタまたは Runs テーブルで、現在のベースライン run を探します。
  3. アクション ... メニューをクリックし、Remove baseline を選択します。
    メニュー項目が無効になっている場合は、ピン留めスロットに少なくとも 1 つの空きがあることを確認してください。必要に応じて、ピン留めされた run の横にある円形のピンアイコンをクリックして、その run のピン留めを解除します。
  4. 直前のベースライン run は自動的にピン留めされ、あとから簡単に見つけられるようになります。必要に応じて、そのピンアイコンをクリックしてピン留めを解除します。

ベースラインと run を比較する

ベースラインの run は、その run がログしたメトリクスの折れ線グラフに常に表示されます。折れ線グラフでは、ベースラインの run の線は他の線よりも太く表示されます。
  • プロット上の任意の位置にカーソルを合わせると、ベースラインの run とピン留めされた run を含む、表示中のすべての run の値を示すツールチップが表示されます。
    指定したポイントで表示中のすべての run の詳細を示すデモ
  • ベースラインの run の凡例ラベルにカーソルを合わせると、その線が強調表示されます。太い破線として表示されます。他の表示中の run の線は、彩度を落として表示されます。
    ベースラインの run の詳細を示すデモ
  • 別の run の凡例ラベルにカーソルを合わせると、その run の線が強調表示され、太い破線として表示されるベースラインと比較できます。他の表示中の run の線は、彩度を落として表示されます。
    別の run とベースラインの比較デモ

ユースケース

このセクションでは、ピン留めした run とベースライン run が Experiments でどのように役立つかを、いくつかのシナリオで説明します。
  • 本番モデルのトラッキング: 新しいモデルがデプロイ前に品質基準を満たしていることを確認します。
    1. 本番モデルをベースラインとして設定します。
    2. すべての Experiments をデプロイ済みモデルと比較し、本番モデルを上回る候補を特定します。
  • ハイパーパラメータ実験の比較: ハイパーパラメータの Sweeps や手動の Experiments を、既知の最良の設定と比較して評価します。
    1. 既知の最良の設定をベースラインとして設定します。
    2. 有望な候補を見つけたらピン留めします。
    3. 線グラフを使用して、ベースラインに対する run を視覚的に比較します。
    4. より良い設定が見つかるたびに、ベースラインを更新し続けます。

ワークフローの例

このセクションでは、ピン留めしたrunとベースラインrunを使ってrunを比較する方法を説明します。
  1. 次のサンプルコードを実行します。このコードは、一連のrunによるハイパーパラメータチューニングのシナリオをシミュレートします。山括弧(<>)で囲まれたプレースホルダを、ご自身の値に置き換えてください。
    import wandb
    import random
    import math
    
    def train_model(learning_rate, batch_size, run_name, tags=None):
        """Simulate training a model with given hyperparameters."""
        config = {
            "learning_rate": learning_rate,
            "batch_size": batch_size,
            "optimizer": "adam",
            "architecture": "resnet50"
        }
        
        with wandb.init(
          # 自分のチーム名とプロジェクト名に置き換えてください
            project="hyperparameter-tuning",
            entity="<team>",
            name=run_name,
            config=config,
            tags=tags or []
        ) as run:
            # 学習ループをシミュレート
            for epoch in range(50):
                # シミュレートしたメトリクス
                accuracy = 0.6 + 0.3 * (1 - math.exp(-learning_rate * epoch / 10))
                loss = 1.0 * math.exp(-learning_rate * epoch / 10)
                
                run.log({
                    "epoch": epoch,
                    "accuracy": accuracy,
                    "loss": loss
                })
    
    # 標準的な設定でベースラインrunを作成
    train_model(
        learning_rate=0.001,
        batch_size=64,
        run_name="baseline-config",
        tags=["baseline", "production"]
    )
    
    # 異なる learning rate で実験
    train_model(
        learning_rate=0.003,
        batch_size=64,
        run_name="lr-experiment-0.003",
        tags=["experiment"]
    )
    
    train_model(
        learning_rate=0.0001,
        batch_size=64,
        run_name="lr-experiment-0.0001",
        tags=["experiment"]
    )
    
    このコードを実行すると、Workspace には 3 つの run が作成されます。
  2. baseline-config をベースラインrunとして設定します。
  3. baseline-config をピン留めして、常に表示されるようにします。
  4. Workspace の折れ線グラフを使って、ベースラインに対して実験runを比較します。
  5. 有望な実験をピン留めして、さらに詳しく調査します。この例では、50エポック後に lr-experiment-0.003 が最も高い accuracy(~0.64)と最も低い loss(~0.86)を示しています。

制限事項

ピン留めされた run とベースライン run は、W&B Multi-tenant Cloud でのみ利用できます。
固定およびベースラインの run では、現在次の機能はサポートされていません。
  • グルーピング: run セレクタまたは Runs テーブルでrun を表示する際、run を列でグループ化している場合でも、固定およびベースラインの run は他の run と視覚的に区別されません。
  • Reports: W&B Report 内の run セットでは、固定およびベースラインの run は他の run と視覚的に区別されません。
  • Workspace ビューのみ: 単一の run の Workspace ビューを表示している場合、ベースラインは表示されません。
  • 折れ線グラフのみ: ベースライン比較は折れ線グラフに対してのみ利用可能で、棒グラフやメディアパネルなど他のパネルにはまだ対応していません。