> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-mintlify-8476678c.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Automations のイベントとスコープ

> artifact の変更、run のステータス、メトリクスの条件など、W&B Automations をトリガーするイベントとスコープについて説明します。

オートメーションは、プロジェクトまたはRegistry内で特定のイベントが発生すると開始できます。このページでは、各スコープでオートメーションのトリガーとなるイベントについて説明します。これにより、オートメーションを設定するときに適切なトリガーを選択できます。オートメーションの詳細については、[Automations の概要](/ja/models/automations) または [オートメーションを作成する](/ja/models/automations/create-automations) を参照してください。

<div id="registry">
  ## Registry
</div>

以下のセクションでは、[Registry](/ja/models/registry) 内のオートメーションのスコープとイベントについて説明します。

<div id="scopes">
  ### スコープ
</div>

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

### イベント <a id="registry-events" aria-label="Registry events" />

Registry の オートメーション は、次のイベントを監視できます。

* **新しいバージョンが コレクション にリンクされる**: 新しいモデルやデータセットが Registry に追加されたときに、それらをテストして検証します。
* **artifact に alias が追加される**: 新しい artifact バージョンに特定の alias が付与されたときに、workflow の特定の step をトリガーします。たとえば、モデルに `production` alias が付与されたらデプロイします。

オートメーションが webhook を Call する場合、project スコープのオートメーションと同じチームレベルの webhook 設定および [team secrets](/ja/platform/secrets) にアクセスできます。

<div id="project">
  ## プロジェクト
</div>

以下のセクションでは、[プロジェクト](/ja/models/track/project-page)におけるオートメーションのスコープとイベントについて説明します。

<div id="scopes">
  ### スコープ
</div>

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

<div id="artifact-events">
  ### Artifact イベント
</div>

このセクションでは、オートメーションをトリガーできる 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 バージョンに割り当てることができます。

<div id="run-events">
  ### run イベント
</div>

以下のセクションでは、[run のステータス](/ja/models/runs/run-states)の変化、または [run のメトリクス値](/ja/models/track/log#what-data-is-logged-with-specific-wb-api-calls)の変化によって開始するオートメーションを設定する方法について説明します。

<div id="run-status-change">
  #### run ステータスの変更
</div>

<Note>
  * 現在、[W\&B Multi-tenant Cloud](/ja/platform/hosting#wb-multi-tenant-cloud) と [専用クラウド](/ja/platform/hosting#wb-dedicated-cloud) でのみ利用できます。
  * **Killed** ステータスの run はオートメーションをトリガーできません。このステータスは、その run が管理者によって強制停止されたことを示します。
</Note>

run の [ステータス](/ja/models/runs/run-states) が **Running**、**Finished**、または **Failed** に変わったときにworkflowをトリガーします。必要に応じて、ユーザーまたは run 名のフィルターを指定して、オートメーションをトリガーできる run をさらに絞り込めます。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-mintlify-8476678c/ovvhGVmVlC1FzASS/images/automations/run_status_change.png?fit=max&auto=format&n=ovvhGVmVlC1FzASS&q=85&s=e8b034840d2ab1e933807177c29b0491" alt="run ステータス変更オートメーションのスクリーンショット" width="434" height="419" data-path="images/automations/run_status_change.png" />
</Frame>

run ステータスは run 全体のプロパティであるため、run ステータスのオートメーションは **Automations** ページからのみ作成でき、Workspace からは作成できません。

<div id="run-metrics-change">
  #### run メトリクスの変化
</div>

<Note>
  現在、[W\&B Multi-tenant Cloud](/ja/platform/hosting#wb-multi-tenant-cloud) と [専用クラウド](/ja/platform/hosting#wb-dedicated-cloud) でのみ利用できます。
</Note>

run の履歴内のメトリクス、または CPU 使用率の割合をトラッキングする `cpu` などの[システムメトリクス](/ja/models/ref/python/experiments/system-metrics)のログされた値に基づいて、workflowをトリガーします。W\&B はシステムメトリクスを 15 秒ごとに自動でログします。

run メトリクスのオートメーションは、プロジェクトの **Automations** タブから、または Workspace のラインプロットパネルから直接作成できます。

run メトリクスのオートメーションを設定するには、指定したしきい値とメトリクスの値をどのように比較するかを設定します。選択肢は、イベントタイプと指定したフィルターによって異なります。

必要に応じて、ユーザーまたは run 名のフィルターを指定して、オートメーションをトリガーできる Runs をさらに絞り込めます。

<div id="threshold">
  ##### しきい値
</div>

メトリクスが固定値をまたいだときにオートメーションを開始するには、しきい値イベントを使用します。**Run metrics threshold met** イベントでは、次の項目を設定します。

1. 判定対象とする直近でログされた値のウィンドウ (デフォルトは 5) 。
2. ウィンドウ内の **Average**、**Min**、**Max** のどの値を評価するか。
3. 比較条件:
   * より大きい
   * 以上
   * より小さい
   * 以下
   * 等しくない
   * 等しい

たとえば、平均 `accuracy` が `0.6` を上回ったときにオートメーションをトリガーします。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-mintlify-8476678c/ovvhGVmVlC1FzASS/images/automations/run_metrics_threshold_automation.png?fit=max&auto=format&n=ovvhGVmVlC1FzASS&q=85&s=371517aebf128481d0b54f43ddb1e4c2" alt="run メトリクスのしきい値オートメーションを示すスクリーンショット" width="434" height="478" data-path="images/automations/run_metrics_threshold_automation.png" />
</Frame>

<div id="change-threshold">
  ##### 変更しきい値
</div>

変更しきい値イベントを使用すると、メトリクスが最近の 2 つの値ウィンドウ間で変化したときにオートメーションを開始できます。**Run metrics change threshold met** イベントでは、オートメーションが開始するかどうかを判定するために、2 つの値の「ウィンドウ」を使用します。

* 判定対象とする、最近ログされた値の *現在のウィンドウ* (デフォルトは 10)。
* 判定対象とする、最近ログされた値の *直前のウィンドウ* (デフォルトは 50)。

現在のウィンドウと直前のウィンドウは連続しており、重複しません。

オートメーションを作成するには、次の項目を設定します。

1. ログされた値の現在のウィンドウ (デフォルトは 10)。
2. ログされた値の直前のウィンドウ (デフォルトは 50)。
3. 値を相対値と絶対値のどちらで評価するか (デフォルトは **Relative**)。
4. 使用する比較条件:
   * 少なくともこれだけ増加
   * 少なくともこれだけ減少
   * 少なくともこれだけ増加または減少

たとえば、平均 `loss` が少なくとも `0.25` 減少したときにオートメーションをトリガーします。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-mintlify-8476678c/ovvhGVmVlC1FzASS/images/automations/run_metrics_change_threshold_automation.png?fit=max&auto=format&n=ovvhGVmVlC1FzASS&q=85&s=6e686aec49eec67b17fd2fb14b8288a1" alt="run メトリクス変更しきい値オートメーションを示すスクリーンショット" width="434" height="703" data-path="images/automations/run_metrics_change_threshold_automation.png" />
</Frame>

<div id="run-metrics-z-score-change">
  #### run メトリクスの z-score の変化
</div>

<Note>
  現在、[W\&B Multi-tenant Cloud](/ja/platform/hosting#wb-multi-tenant-cloud) と [専用クラウド](/ja/platform/hosting#wb-dedicated-cloud) でのみ利用できます。
</Note>

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 を超える値は、統計的に有意な外れ値と見なされることがよくあります。

<div id="run-filters">
  #### run フィルター
</div>

このセクションでは、オートメーションが評価対象の run をどのように選択するかを説明します。

デフォルトでは、イベントが発生すると、プロジェクト内のすべての run がオートメーションをトリガーします。次のいずれかのフィルターを設定することで、オートメーションをトリガーする run を絞り込めます。

| フィルター                       | 説明                             |
| --------------------------- | ------------------------------ |
| **1 人のユーザーの runs にフィルターする** | 指定したユーザーが作成した runs のみを含めます。    |
| **run 名でフィルターする**           | 指定した正規表現に一致する名前の runs のみを含めます。 |

オートメーションは各 run を次のように評価します。

* 各 run は個別に扱われ、それぞれがオートメーションをトリガーする可能性があります。
* 各 run の値はそれぞれ別個のウィンドウに入れられ、しきい値と個別に比較されます。
* 24 時間の間に、特定のオートメーションが 1 つの run に対して発火できるのは最大 1 回です。

詳細については、[オートメーションの作成](/ja/models/automations/create-automations)を参照してください。

<div id="next-steps">
  ## 次のステップ
</div>

* [Slack オートメーションを作成する](/ja/models/automations/create-automations/slack)
* [webhook オートメーションを作成する](/ja/models/automations/create-automations/webhook)
