Skip to main content
オートメーションは、W&B で発生する特定のイベントに応じて Slack 通知を送信したり、webhook を実行したりします。オートメーションのスコープは、組織、チーム、project、レジストリ、またはコレクションに設定できます。オートメーションは、後から作成される project、レジストリ、コレクションを含め、スコープ内のすべてで発生するイベントを監視します。オートメーションを作成する手順と利用可能なイベントは、スコープによって異なります。スコープごとのイベントタイプについては、Automation events and scopes を参照してください。
チームスコープおよび組織スコープのオートメーションと Automations hub は、W&B Multi-tenant Cloud および W&B 専用クラウド (Server v0.83.0 以降) で利用できます。
W&B Automations は、イベントが発生し、必要に応じて条件が満たされると、アクションが自動的に実行されるというパターンに従います。たとえば、次のようになります。
  • run が失敗したとき (イベント) 、Slack チャンネルに通知する (アクション) 。
  • artifact に production エイリアスが追加されたとき (イベント) 、デプロイをトリガーするために webhook を呼び出す (アクション) 。
イベントと使用可能な条件は、project または Registry をスコープとするオートメーションによって異なります。Automation events and scopes を参照してください。 例: run が失敗した (イベント) 場合に、必要に応じて run 名フィルター (条件) を指定し、Slack 通知 (アクション) を送信します。別の例: alias production が追加された (イベント) 場合に、webhook (アクション) を実行します。

オートメーションを作成できる場所

  • Automations ハブ内: 左側のナビゲーションで Automations を選択すると、組織、チーム、project、Registry、コレクションのすべてのスコープでアクセスできるすべてのオートメーションを確認できます。オートメーションの作成時にスコープを選択します。Automations ハブを参照してください。
  • project 内: project を開き、プロジェクトのサイドバーで Automations タブを選択します。
  • Registry 内: Registry を開き、Automations タブを選択します。

Automations ハブ

Automations ハブは、左側のナビゲーションにあるグローバルな画面で、アクセス可能なすべてのスコープと project にまたがるすべてのオートメーションを1つのリストに集約します。各 project や Registry に移動しなくても、オートメーションを見つけて確認し、管理できます。 Automations ハブでは、次の操作を実行できます。
  • スコープのエントリポイントを事前に把握していなくても、オートメーションを作成し、そのスコープを選択できます。
  • アクセス可能なすべてのオートメーションを1つのリストで表示し、フィルターや並べ替えを行えます (例: スコープ、トリガー、アクション別) 。
  • オートメーションの名をクリックして、設定の詳細をすべて表示できます。
  • オートメーションの実行履歴を表示し、成功したか失敗したかを確認できます。
  • クイックフィルターを使用して、自分が作成したオートメーションと組織内のすべてのオートメーションを切り替えられます。
  • 複数のオートメーションを選択し、一度に削除できます。
Automations ハブは、各 project と Registry の Automations タブを補完する機能です。これらのスコープ別タブも、対象を絞ってすばやくアクセスするために引き続き利用できます。

使用例

  • run の監視とアラート: run が失敗したときや、メトリクスがしきい値を超えたとき (たとえば、損失が NaN になる、または精度が低下する場合) にチームに通知します。
  • Registry CI/CD: 新しいモデル バージョンがリンクされたとき、または alias (stagingproduction など) が追加されたときに、webhook をトリガーしてテストを実行したり、デプロイしたりします。
  • project の artifact ワークフロー: 新しい artifact バージョンが作成されたとき、または project に alias が追加されたときに、後続のジョブを実行したり、Slack に投稿したりします。
イベントとスコープの詳細については、Automation events and scopes を参照してください。

オートメーションアクション

イベントによってオートメーションがトリガーされると、次のいずれかのアクションを実行できます。
  • Slack 通知: トリガーとなったイベントの詳細を含むメッセージを Slack チャンネルに送信します。メッセージにはイベントの概要と、W&B で詳細を確認するためのリンクが含まれます。
  • Webhook: トリガーとなったイベントに関する情報を含む JSON ペイロードを使用して Webhook URL を呼び出します。Webhook を使用して、CI/CD パイプライン、モデル デプロイ サービス、カスタム ワークフローなどの外部システムと統合します。
実装の詳細については、Slack オートメーションの作成 および webhook オートメーションの作成 を参照してください。

オートメーションの動作

オートメーションを作成するには、次の手順を行います。
  1. 必要に応じて、アクセストークン、パスワード、機密性の高い設定の詳細など、オートメーションで必要になる機密文字列のためにシークレットを設定します。シークレットは Team Settings で定義します。シークレットは、主に webhook オートメーションで、認証情報やトークンを平文で公開したり webhook のペイロードにハードコードしたりすることなく、webhook の外部サービスに安全に渡すために使用されます。
  2. チームレベルの webhook または Slack インテグレーションを設定して、W&B が Slack に投稿したり、ユーザーに代わって webhook を実行したりできるようにします。1 つのオートメーションアクション (webhook または Slack 通知) を複数のオートメーションで使用できます。これらのアクションは Team Settings で定義します。
  3. project または レジストリ で、オートメーションを作成します。
    1. 監視するイベントを定義します。たとえば、新しい artifact バージョンが追加されたときです。
    2. イベント発生時に実行するアクション (Slack チャンネルへの投稿や webhook の実行) を定義します。webhook の場合は、必要に応じて、アクセストークンに使用するシークレットや、ペイロードとともに送信するシークレットを指定します。

推奨事項

  • 小さく始める: 価値の高いイベント (たとえば、run の失敗や本番 alias の変更) に対する 1 ~ 2 個のオートメーションから始めます。さらに追加する前に、想定どおりに動作することを確認してください。
  • 本番導入前にテストする: まずはテスト用の project、またはテスト用の webhook や Slack チャンネルでオートメーションを作成します。イベントを手動でトリガーし、その後、アクションが実行され、ペイロードやメッセージの内容が正しいことを確認してください。
  • アラート疲れを避ける: run フィルター、メトリクスのしきい値、または alias パターンを使用して、オートメーションが実行される頻度を制限します。重大度が複数ある場合は、それぞれを別のチャンネルに振り分けてください。

制限事項

次のステップ