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

表の比較オプション

2 つの表は、マージ ビュー または 並列ビュー で比較できます。たとえば、以下の画像は MNIST データの表比較を示しています。
トレーニング エポックの比較
2 つの表を比較するには、次の step に従います。
  1. W&B App で対象のプロジェクトに移動します。
  2. プロジェクトのサイドバーで Artifacts アイコンを選択します。
  3. artifact バージョンを選択します。
以下の画像は、5 つのエポックそれぞれの後における、MNIST 検証データに対するモデルの予測を示しています (インタラクティブな例はこちら) 。
「predictions」をクリックして表を表示
  1. サイドバーで比較したい 2 つ目の artifact バージョンにカーソルを合わせ、Compare が表示されたらクリックします。たとえば、以下の画像では、「v4」というラベルの付いたバージョンを選択し、同じモデルが 5 エポックのトレーニング後に行った MNIST の予測と比較しています。
モデル予測の比較

マージ ビュー

最初は、2 つの表をマージした状態で表示されます。最初に選択した表はインデックス 0 で青色にハイライトされ、2 つ目の表はインデックス 1 で黄色にハイライトされます。マージされた表のライブ例はこちら
マージ ビュー
マージ ビューでは、次のことができます
  • 結合キーを選択する: 左上のドロップダウンを使用して、2 つの表の結合キーとして使用する列を設定します。通常、これは各行の一意の ID です。たとえば、データセット内の特定の例のファイル名や、生成したサンプルに付けられた連番のインデックスなどです。なお、現在は 任意の 列を選択できますが、その場合は表が判読しづらくなったり、クエリが遅くなったりすることがあります。
  • 結合ではなく連結する: このドロップダウンで “concatenating all tables” を選択すると、列同士を結合する代わりに、両方の表の すべての行をまとめて 1 つのより大きな Table にできます
  • 各 Table を明示的に参照する: フィルター式で 0、1、* を使用して、一方または両方の表インスタンス内の列を明示的に指定します
  • 詳細な数値の差分をヒストグラムで可視化する: 任意のセルの値をひと目で比較できます

並列ビュー

2 つの表を左右に並べて表示するには、最初のドロップダウンを “Merge Tables: Table” から “List of: Table” に変更し、続いてそれぞれの “Page size” を更新します。このとき、最初に選択した Table が左側に、2 つ目の Table が右側に表示されます。また、“Vertical” チェックボックスをクリックすると、これらの表を上下に並べて比較することもできます。
表の横並び表示
  • 表をひと目で比較する: 任意の操作 (並べ替え、フィルター、グループ化) を両方の表に連動して適用し、変更や差分をすばやく見つけられます。たとえば、誤った予測を予測ごとにグループ化して表示したり、全体で最も難しいハードネガティブや、正解ラベルごとの信頼度スコアの分布を確認したりできます。
  • 2 つの表を個別に調べる: スクロールしながら、注目したい側や行にそれぞれ集中できます

Artifacts を比較する

artifact バージョンとしてログされた 2 つの W&B Tables を比較して、データやモデル性能の変化を分析します。表を比較するには、マージ ビューまたは並列ビューを使用してください。

時間経過に沿って表を比較する

トレーニングの経過に伴うモデル性能を分析するには、トレーニング中の意味のある各 step ごとに、artifact に表をログします。たとえば、各検証 step の終了時、トレーニング 50 エポックごと、またはパイプラインに適した任意の頻度で表をログできます。並列ビューを使用して、モデルの予測の変化を可視化します。
トレーニング進行状況の比較
トレーニングの経過に伴う予測の可視化についてより詳しくは、predictions over time レポート と、このインタラクティブなノートブックの例 を参照してください。

モデルバリアント間で表を比較する

異なる 2 つのモデルについて、同じ step でログされた 2 つの artifact バージョンを比較し、設定の違い (ハイパーパラメーターやベースアーキテクチャなど) によるモデル性能を分析します。 たとえば、baseline と新しいモデルバリアント 2x_layers_2x_lr の予測を比較します。このバリアントでは、1 つ目の畳み込み層が 32 から 64 に、2 つ目が 128 から 256 に、学習率が 0.001 から 0.002 にそれぞれ増えています。このライブ例では、並列ビューを使用して、1 エポックのトレーニング後 (左タブ) と 5 エポックのトレーニング後 (右タブ) の不正解の予測に絞り込んでください。
パフォーマンスの比較

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

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

カスタム step キー

step キーには、epochglobal_step のように、runs で step キーとしてログする任意の数値メトリクスを使用できます。カスタム step キーを使用すると、W&B はそのキーの各値を run 内の step (_step) に対応付けます。 この表は、カスタム step キー epoch が、serene-spongelively-frogvague-cloud という 3 つの異なる runs において _step 値にどのように対応するかを示しています。各行は、run 内の特定の _step での wandb.Run.log() の call を表します。各列には、その step でログされた対応する epoch の値があれば表示されます。スペースを節約するため、一部の _step 値は省略しています。 wandb.Run.log() が最初に call された時点では、どの 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、ワークスペース、または レポート で操作した Tables では、表示状態が自動的に保存されます。表に対して操作を適用したあとでブラウザーを閉じても、次回その表にアクセスしたときに、最後に表示していた設定が保持されます。
artifact コンテキストで操作した Tables はステートレスのままです。
Workspace 内の表を特定の状態で保存するには、W&B レポート にエクスポートします。表を レポート にエクスポートするには、次の手順を実行します。
  1. Workspace の可視化パネルの画面右上にある action () メニューを選択します。
  2. Share panel または Add to report を選択します。
レポート の共有オプション

以下のReportsでは、W&B Tables のさまざまなユースケースを紹介しています。