メインコンテンツへスキップ
この機能の利用には、Pro または Enterprise プランが必要です。
オートメーションは、プロジェクトまたはレジストリ内で特定のイベントが発生すると開始できます。このページでは、各スコープでオートメーションのトリガーとなるイベントについて説明します。オートメーションの詳細については、Automations の概要 または オートメーションを作成する を参照してください。

Registry

このセクションでは、Registry 内のオートメーションのスコープとイベントについて説明します。

スコープ

Registry のオートメーションは、特定のレジストリ内の任意のコレクションで発生するイベントを監視します。これには、今後追加されるコレクションも含まれます。

イベント

Registry の オートメーション は、次のイベントを監視できます。
  • 新しいバージョンが コレクション にリンクされる: 新しいモデルやデータセットが Registry に追加されたときに、それらをテストして検証します。
  • artifact に alias が追加される: 新しい artifact バージョンに特定の alias が付与されたときに、workflow の特定の step をトリガーします。たとえば、モデルに production alias が付与されたらデプロイします。
オートメーションが webhook を Call する場合、project スコープのオートメーションと同じチームレベルの webhook 設定および team secrets にアクセスできます。

プロジェクト

このセクションでは、プロジェクトにおけるオートメーションのスコープとイベントについて説明します。

スコープ

プロジェクト レベルのオートメーションでは、プロジェクト内の任意のコレクションで発生するイベントを監視します。指定するイベントに応じて、オートメーションのスコープをさらに絞り込めます。

Artifact イベント

このセクションでは、オートメーションをトリガーできる artifact 関連のイベントについて説明します。
  • artifact に新しいバージョンが追加されたとき: artifact の各バージョンに対して、繰り返しアクションを適用します。たとえば、新しいデータセット artifact バージョンが作成されたときにトレーニング ジョブを開始します。
  • artifact に alias が追加されたとき: プロジェクト内の artifact の新しいバージョンに、指定した Alias regex に一致する alias が適用されたときに、workflow の特定の step をトリガーします。たとえば、artifact に test-set-quality-check alias が適用されたときに一連の下流処理 step を実行したり、新しい artifact バージョンに latest alias が付与されるたびに workflow を実行したりできます。ある時点で、特定の alias を持てる artifact バージョンは 1 つだけです。
  • artifact に tag が追加されたとき: プロジェクト内の artifact バージョンに、指定した Tag regex に一致する tag が適用されたときに、workflow の特定の step をトリガーします。たとえば、^europe.* を指定すると、europe で始まる文字列の tag が artifact バージョンに追加されたときに、地域固有の workflow をトリガーできます。Artifact の tag はグループ化やフィルターに使用され、特定の tag は複数の artifact バージョンに同時に割り当てることができます。

run イベント

オートメーションは、run のステータスの変化、または メトリクス値の変化によってトリガーされます。

run ステータスの変更

  • 現在は W&B Multi-tenant Cloud でのみ利用できます。
  • Killed ステータスの run はオートメーションをトリガーできません。このステータスは、その run が管理者ユーザーによって強制停止されたことを示します。
run の ステータスRunningFinished、または Failed に変わったときにワークフローをトリガーします。必要に応じて、ユーザーまたは run 名のフィルターを指定して、オートメーションをトリガーできる run をさらに絞り込めます。
run ステータス変更オートメーションのスクリーンショット
run ステータスは run 全体のプロパティであるため、run ステータスのオートメーションは Automations ページからのみ作成でき、Workspace からは作成できません。

run メトリクスの変化

現在は W&B Multi-tenant Cloud でのみ利用できます。
run の履歴内のメトリクス、または CPU 使用率の割合をトラッキングする cpu などのシステムメトリクスのログされた値に基づいて、ワークフローをトリガーします。W&B はシステムメトリクスを 15 秒ごとに自動でログします。 run メトリクスのオートメーションは、プロジェクトの Automations タブから、または Workspace のラインプロットパネルから直接作成できます。 run メトリクスのオートメーションを設定するには、指定したしきい値とメトリクスの値をどのように比較するかを設定します。選択肢は、イベントタイプと指定したフィルターによって異なります。 必要に応じて、ユーザーまたは run 名のフィルターを指定して、オートメーションをトリガーできる Runs をさらに絞り込めます。
閾値
Run metrics threshold met イベントでは、次の項目を設定します。
  1. 判定対象とする直近でログされた値のウィンドウ (デフォルトは 5) 。
  2. ウィンドウ内の AverageMinMax のどの値を評価するか。
  3. 比較条件:
    • より大きい
    • 以上
    • より小さい
    • 以下
    • 等しくない
    • 等しい
たとえば、平均 accuracy.6 を上回ったときにオートメーションをトリガーします。
run メトリクスの閾値オートメーションを示すスクリーンショット
変更しきい値
Run metrics change threshold met イベントでは、オートメーションが開始するかどうかを判定するために、2 つの値の「ウィンドウ」を使用します。
  • 判定対象とする、最近ログされた値の 現在のウィンドウ (デフォルトは 10) 。
  • 判定対象とする、最近ログされた値の 直前のウィンドウ (デフォルトは 50) 。
現在のウィンドウと直前のウィンドウは連続しており、重複しません。 オートメーションを作成するには、次の項目を設定します。
  1. ログされた値の現在のウィンドウ (デフォルトは 10) 。
  2. ログされた値の直前のウィンドウ (デフォルトは 50) 。
  3. 値を相対値と絶対値のどちらで評価するか (デフォルトは Relative) 。
  4. 使用する比較条件:
    • 少なくともこれだけ増加
    • 少なくともこれだけ減少
    • 少なくともこれだけ増加または減少
たとえば、平均 loss が少なくとも .25 減少したときにオートメーションをトリガーします。
run メトリクス変更しきい値オートメーションを示すスクリーンショット

run メトリクスの z-score の変化

現在は W&B Multi-tenant Cloud でのみ利用できます。
W&B では、メトリクスの z-score (標準スコア) が指定したしきい値を超えたときに オートメーション をトリガーできます。z-score は、プロジェクト内の run の設定可能なウィンドウ (デフォルトは 30 run) にわたって、そのメトリクスの値が平均から何標準偏差離れているかを示します。 z-score をイベントトリガーとして使用するには、Run metrics z-score threshold met イベントを選択します。 z-score に基づく オートメーション を使用すると、モデルやトレーニングプロセスの変化に応じて変動しうる絶対しきい値を確認しなくても、異常なパフォーマンスをチームに知らせることができます。 run メトリクスの z-score オートメーション は、プロジェクトの Automations タブから、または Workspace 内のラインプロットパネルから直接作成できます。 z-score オートメーション を作成するには、次を設定します。
  1. 対象の z-score しきい値。正の浮動小数点値で指定します (たとえば 2.0) 。
  2. 平均値を決定するログ済みの値のウィンドウ (デフォルトは 30) 。
  3. 比較方法:
    • Above (パフォーマンスが異常に高い場合にトリガー)
    • Below (パフォーマンスが異常に低い場合にトリガー)
    • Either above or below
たとえば、accuracy の z-score が 2 を上回ったときに オートメーション をトリガーすると、その run がプロジェクト内の他の run よりも大幅に優れたパフォーマンスを示していることを意味します。 z-score 値の見方:
  • z-score が 0 の場合、そのメトリクスは平均値にあります。
  • z-score が +2.0 の場合、そのメトリクスは平均より 2 標準偏差高いことを意味します。
  • z-score が -2.0 の場合、そのメトリクスは平均より 2 標準偏差低いことを意味します。
  • ±2 を超える値は、統計的に有意な外れ値と見なされることがよくあります。

run フィルター

このセクションでは、オートメーションが評価対象の run をどのように選択するかを説明します。
  • デフォルトでは、イベントが発生すると、プロジェクト内のすべての run がオートメーションをトリガーします。次のいずれかのフィルターを設定することで、オートメーションをトリガーする run を絞り込めます。
    • 1 人のユーザーの runs にフィルターする: 指定したユーザーが作成した runs のみを含めます。
    • run 名でフィルターする: 指定した正規表現に一致する名前の runs のみを含めます。
    詳細については、オートメーションの作成を参照してください。
  • 各 run は個別に扱われ、それぞれがオートメーションをトリガーする可能性があります。
  • 各 run の値はそれぞれ別個のウィンドウに入れられ、しきい値と個別に比較されます。
  • 24 時間の間に、特定のオートメーションが 1 つの run に対して発火できるのは最大 1 回です。

次のステップ