メインコンテンツへスキップ
W&B Tables をカスタマイズして、機械学習モデルの性能に関する疑問に答えたり、データを分析したりできます。 データをインタラクティブに探索して、次のことを行います:
W&B Tables には次のような特性があります:
  1. アーティファクトコンテキストではステートレス: アーティファクトバージョンとともにログされたテーブルは、ブラウザウィンドウを閉じるとデフォルトの状態にリセットされます。
  2. Workspace やレポートコンテキストではステートフル: 単一 run のワークスペース、複数 run のプロジェクトワークスペース、またはレポートでテーブルに加えた変更は保持されます。
現在の W&B Tables のビューを保存する方法については、ビューを保存を参照してください。

テーブル比較オプション

2 つのテーブルをマージ表示またはサイドバイサイド表示で比較できます。たとえば、次の画像は MNIST データのテーブル比較を示しています。
Training epoch comparison
2 つのテーブルを比較するには、次の手順に従います。
  1. W&B アプリで対象のプロジェクトを開きます。
  2. プロジェクトのサイドバーで Artifacts アイコンを選択します。
  3. アーティファクトのバージョンを 1 つ選択します。
次の画像では、5 回のエポックそれぞれのあとにおける、MNIST の検証データに対するモデルの予測を示しています(こちらでインタラクティブな例を表示できます)。
Click on 'predictions' to view the Table
  1. サイドバーで比較対象としたい 2 つ目のアーティファクトバージョンにカーソルを合わせ、表示される Compare をクリックします。たとえば、次の画像では「v4」とラベル付けされたバージョンを選択し、同じモデルによる 5 エポックの学習後に行われた MNIST の予測と比較しています。
Model prediction comparison

マージビュー

最初に表示されるのは、2 つのテーブルをマージしたビューです。最初に選択されたテーブルはインデックス 0 で青色にハイライトされ、2 つ目のテーブルはインデックス 1 で黄色にハイライトされます。マージされたテーブルのライブ例はこちらで確認できます
Merged view
マージビューからは、次のことができます。
  • 結合キーを選択する: 左上のドロップダウンを使って、2 つのテーブルで結合キーとして使う列を設定します。通常これは各行の一意な識別子であり、たとえばデータセット内の特定のサンプルのファイル名や、生成したサンプルに付与された連番インデックスなどです。現在は 任意の 列を選択できるため、可読性の低いテーブルになったり、クエリが遅くなったりする可能性がある点に注意してください。
  • 結合ではなく連結する: このドロップダウンで “concatenating all tables” を選択すると、列で結合する代わりに、両方のテーブルのすべての行を ユニオン(UNION ALL)して 1 つの大きな Table にまとめます。
  • 各 Table を明示的に参照する: フィルター式で 0、1、* を使って、片方または両方の Table インスタンス内の列を明示的に指定します。
  • 詳細な数値の差分をヒストグラムで可視化する: 任意のセルの値の違いを一目で比較できます。

サイドバイサイド表示

2つのテーブルを横に並べて表示するには、最初のドロップダウンを「Merge Tables: Table」から「List of: Table」に変更し、「Page size」もそれぞれ更新します。ここでは、最初に選択したテーブルが左側、2番目に選択したテーブルが右側に表示されます。また、「Vertical」チェックボックスをクリックすると、これらのテーブルを縦方向に比較することもできます。
Side-by-side table view
  • テーブルを一目で比較する: 任意の操作(ソート、フィルタ、グループ化)を両方のテーブルに同時に適用して、変更点や差分を素早く確認します。たとえば、予測値ごとにグループ化した誤予測、全体で最も難しいネガティブ例、真のラベルごとの信頼度スコア分布などを確認できます。
  • 2つのテーブルを独立して探索する: それぞれのテーブルをスクロールし、関心のある側や行にフォーカスします

アーティファクトを比較する

アーティファクトのバージョンとして記録された 2 つの W&B Tables を比較して、データやモデルのパフォーマンスの変化を分析します。マージ表示または左右に並べた表示を使ってテーブルを比較します。

時系列でテーブルを比較する

学習の意味のある各ステップごとにアーティファクト内にテーブルをログして、学習の経過に伴うモデル性能を分析します。たとえば、すべての検証ステップの終了時、学習の 50 エポックごと、またはパイプラインにとって妥当な任意の頻度でテーブルをログできます。サイドバイサイドビューを使って、モデル予測の変化を可視化します。
Training progress comparison
学習の経過に伴う予測の可視化について、より詳しい手順は、predictions over time レポート と、こちらのインタラクティブな notebook example を参照してください。

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

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

各 run にわたる値の変化を可視化する

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

カスタムステップキー

ステップキーには、epochglobal_step のように、run 内でステップキーとしてログする任意の数値メトリクスを使用できます。カスタムステップキーを使用すると、W&B はそのキーの各値を run 内のステップ(_step)にマッピングします。 次の表は、カスタムステップキー epoch が 3 つの異なる run(serene-spongelively-frogvague-cloud)の _step 値にどのようにマッピングされるかを示しています。各行は、ある run の特定の _step における wandb.Run.log() の呼び出しを表します。各列には、そのステップでログされた(もしあれば)対応する epoch の値が示されています。スペースを節約するために、いくつかの _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 でログされた値を返します

ビューを保存する

run Workspace、プロジェクト Workspace、またはレポート内で操作したテーブルでは、ビューの状態が自動的に保存されます。テーブル操作を行ってブラウザを閉じても、次にそのテーブルに移動したときに、最後に表示していた設定が保持されます。
アーティファクトコンテキスト内で操作したテーブルはステートレスのままです。
特定の状態のテーブルを Workspace から保存しておきたい場合は、W&B レポートにエクスポートします。テーブルをレポートにエクスポートするには、次の手順に従います。
  1. ワークスペースのビジュアライゼーションパネル右上にあるケバブアイコン(縦に並んだ 3 つの点)を選択します。
  2. Share panel または Add to report のいずれかを選択します。
レポート共有オプション

使用例

これらのレポートでは、W&B Tables のさまざまなユースケースを取り上げています: