メインコンテンツへスキップ
W&B Tables をカスタマイズして、機械学習モデルのパフォーマンスに関する疑問を解消したり、データを分析したりすることができます。 インタラクティブにデータを探索することで、以下のようなことが可能になります。
  • モデル、エポック、または個々の例の間で変化を正確に比較する
  • データ内の高レベルなパターンを理解する
  • 視覚的なサンプルを用いて、インサイトをキャプチャし、共有する
W&B Tables は以下の振る舞いを持ちます:
  1. Artifacts コンテキストではステートレス: Artifact のバージョンとともにログに記録されたテーブルは、ブラウザウィンドウを閉じるとデフォルトの状態にリセットされます。
  2. Workspace または Reports コンテキストではステートフル: 単一の Run Workspace 、マルチ Run プロジェクト Workspace 、または Report でテーブルに加えた変更は保持されます。
現在の W&B Table ビューを保存する方法については、 Save your view を参照してください。

2つのテーブルを比較する

Merged view (マージビュー)または side-by-side view (サイドバイサイドビュー)で2つのテーブルを比較します。例えば、下の画像は MNIST データのテーブル比較を示しています。
Training epoch comparison
2つのテーブルを比較するには、以下の手順に従ってください:
  1. W&B App で プロジェクト に移動します。
  2. 左パネルの Artifacts アイコンを選択します。
  3. Artifact のバージョンを選択します。
次の画像では、5つのエポックそれぞれの後の MNIST 検証データに対するモデルの予測を示しています( インタラクティブな例をここで表示 )。
Click on 'predictions' to view the Table
  1. サイドバーで比較したい2つ目の Artifact バージョンにマウスを合わせ、表示された Compare をクリックします。例えば、下の画像では “v4” とラベル付けされたバージョンを選択し、5エポックのトレーニング後の同じモデルによる MNIST 予測と比較しています。
Model prediction comparison

Merged view

最初は、両方のテーブルがマージされた状態で表示されます。最初に選択されたテーブルはインデックス 0 で青くハイライトされ、2番目のテーブルはインデックス 1 で黄色くハイライトされます。マージされたテーブルのライブ例はこちら
Merged view
Merged view では、以下のことが可能です:
  • join key の選択: 左上のドロップダウンを使用して、2つのテーブルを結合するための結合キーとして使用する列を設定します。通常、これはデータセット内の特定のサンプルのファイル名や、生成されたサンプルのインクリメントインデックスなど、各行の一意の識別子です。現在は どの 列でも選択可能ですが、不適切な列を選択するとテーブルが読みづらくなったり、クエリが遅くなったりする可能性があることに注意してください。
  • join の代わりに concatenate(連結): このドロップダウンで “concatenating all tables” を選択すると、列で結合するのではなく、両方のテーブルの すべての行を結合 して1つの大きな Table にします。
  • 各 Table を明示的に参照: フィルタ式で 0、1、および * を使用して、片方または両方のテーブルインスタンスの列を明示的に指定します。
  • 詳細な数値の差をヒストグラムとして可視化: 任意のセルの値を一目で比較できます。

Side-by-side view

2つのテーブルを左右に並べて表示するには、最初のドロップダウンを “Merge Tables: Table” から “List of: Table” に変更し、それに応じて “Page size” を更新します。ここでは、最初に選択された Table が左側に、2番目の Table が右側に表示されます。また、 “Vertical” チェックボックスをクリックすることで、これらのテーブルを垂直方向に比較することも可能です。
Side-by-side table view
  • テーブルを一目で比較: ソート、フィルタ、グループ化などの操作を両方のテーブルにタンデムに適用し、変更や違いを素早く特定します。例えば、推測(guess)ごとにグループ化された誤予測、全体で最も困難なネガティブ例、正解ラベルごとの信頼度スコアの分布などを表示できます。
  • 2つのテーブルを独立して探索: スクロールして、関心のある側や行に焦点を当てます。

Run を通じて値がどのように変化するかを可視化する

ステップスライダーを使用して、テーブルにログを記録した値が Runs を通じてどのように変化するかを確認できます。ステップスライダーを動かすことで、異なるステップでログに記録された値を表示できます。例えば、各 Run の後に損失、精度、またはその他のメトリクスがどのように変化するかを確認できます。 スライダーは、ステップの値を決定するためにキーを使用します。スライダーのデフォルトキーは _step で、これは W&B が自動的にログに記録する特別なキーです。 _step キーは、コード内で wandb.Run.log() を呼び出すたびに 1 ずつ増加する整数です。 W&B Table にステップスライダーを追加するには:
  1. プロジェクトの Workspace に移動します。
  2. Workspace の右上隅にある Add panel をクリックします。
  3. Query panel を選択します。
  4. クエリ式エディタ内で runs を選択し、キーボードの Enter を押します。
  5. ギアアイコンをクリックして、パネルの設定を表示します。
  6. Render As セレクターを Stepper に設定します。
  7. Stepper Key_step またはステップスライダーの 単位として使用するキー に設定します。
次の画像は、3つの W&B runs とステップ 295 でログに記録された値を示すクエリパネルです。
Step slider feature
W&B App の UI 内で、複数のステップで重複した値が表示されることがあります。この重複は、複数の Runs が異なるステップで同じ値をログに記録した場合や、Run がすべてのステップで値をログに記録していない場合に発生することがあります。特定のステップで値が欠落している場合、W&B はスライダーキーとして最後にログに記録された値を使用します。

カスタムステップキー

ステップキーには、 epochglobal_step など、 Runs でログに記録する任意の数値メトリクスを使用できます。カスタムステップキーを使用すると、W&B はそのキーの各値を Run のステップ( _step )にマッピングします。 このテーブルは、カスタムステップキー epoch が、3つの異なる runs ( serene-spongelively-frogvague-cloud )の _step 値にどのようにマッピングされるかを示しています。各行は、ある Run の特定の _step における wandb.Run.log() の呼び出しを表します。列は、それらのステップでログに記録された対応するエポック値(ある場合)を示します。スペースを節約するため、一部の _step 値は省略されています。 最初に wandb.Run.log() が呼び出されたとき、どの Run も epoch 値をログに記録しなかったため、テーブルの epoch には空の値が表示されています。
_stepvague-cloud (epoch)lively-frog(epoch)serene-sponge (epoch)
1
21
412
51
63
824
105
1236
147
152
1648
189
203510
ここで、スライダーが epoch = 1 に設定されると、以下が起こります:
  • vague-cloudepoch = 1 を見つけ、 _step = 5 でログに記録された値を返します。
  • lively-frogepoch = 1 を見つけ、 _step = 4 でログに記録された値を返します。
  • serene-spongeepoch = 1 を見つけ、 _step = 2 でログに記録された値を返します。
スライダーが epoch = 9 に設定された場合:
  • vague-cloudepoch = 9 をログに記録していないため、W&B は最新の先行する値 epoch = 3 を使用し、 _step = 20 でログに記録された値を返します。
  • lively-frogepoch = 9 をログに記録していませんが、最新の先行する値は epoch = 5 であるため、 _step = 20 でログに記録された値を返します。
  • serene-spongeepoch = 9 を見つけ、 _step = 18 でログに記録された値を返します。

Artifacts を比較する

時間の経過に沿ってテーブルを比較 したり、 モデルのバリアント間で比較 したりすることもできます。

時間の経過に沿ってテーブルを比較する

トレーニングの各重要なステップで Artifact 内のテーブルをログに記録し、トレーニング時間に応じたモデルのパフォーマンスを分析します。例えば、各検証ステップの最後、トレーニング 50 エポックごと、またはパイプラインにとって意味のある頻度でテーブルをログに記録できます。サイドバイサイドビューを使用して、モデルの予測の変化を可視化します。
Training progress comparison
トレーニング時間に応じた予測の可視化についての詳細は、 predictions over time report およびこのインタラクティブな ノートブックの例 を参照してください。

モデルのバリアント間でテーブルを比較する

2つの異なるモデルに対して同じステップでログに記録された2つの Artifact バージョンを比較し、異なる設定(ハイパーパラメーター、ベースとなる アーキテクチャー など)におけるモデルのパフォーマンスを分析します。 例えば、 baseline と新しいモデルバリアント 2x_layers_2x_lr の予測を比較します。このバリアントでは、最初の畳み込み層が 32 から 64 へ、2番目が 128 から 256 へと倍増し、学習率が 0.001 から 0.002 に変更されています。 このライブ例 を使用して、サイドバイサイドビューで 1 トレーニングエポック後(左タブ)と 5 トレーニングエポック後(右タブ)の誤予測をフィルタリングして比較してください。
Performance comparison

表示設定(view)を保存する

Run Workspace 、プロジェクト Workspace 、または Report で操作するテーブルは、その表示状態を自動的に保存します。テーブル操作を適用してからブラウザを閉じても、次にテーブルに移動したときに、テーブルは最後に表示された設定を保持します。
Artifacts コンテキストで操作するテーブルはステートレスのままです。
Workspace のテーブルを特定の状態で保存するには、それを W&B Report にエクスポートします。テーブルを Report にエクスポートするには:
  1. Workspace の可視化パネルの右上隅にあるケバブアイコン(3つの垂直な点)を選択します。
  2. Share panel または Add to report のいずれかを選択します。
Report sharing options

事例

これらのレポートは、 W&B Tables のさまざまなユースケースをハイライトしています: