メインコンテンツへスキップ
オートメーション は、projectsレジストリ の両方で利用できます。オートメーションを作成する場所、使用できるイベント、スコープの仕組みは、それぞれ異なります。スコープごとのイベントタイプについては、Automation events and scopes を参照してください。 W&B Automations は、イベントが発生し、必要に応じて条件が満たされると、アクションが自動的に実行されるというパターンに従います。たとえば、次のようになります。
  • run が失敗したとき (イベント) 、Slack チャンネルに通知する (アクション) 。
  • artifact に production エイリアスが追加されたとき (イベント) 、デプロイをトリガーするために webhook を呼び出す (アクション) 。
イベントと使用可能な条件は、project または Registry をスコープとするオートメーションによって異なります。Automation events and scopes を参照してください。 例: run が失敗した (イベント) 場合に、必要に応じて run 名フィルター (条件) を指定し、Slack 通知 (アクション) を送信します。別の例: alias production が追加された (イベント) 場合に、webhook (アクション) を実行します。

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

  • project 内: project を開き、プロジェクトのサイドバーで Automations タブを選択します。
  • Registry 内: 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 パターンを使用して、オートメーションが実行される頻度を制限します。重大度が複数ある場合は、それぞれを別のチャンネルに振り分けてください。

制限事項

run メトリクス Automationsrun メトリクスの z-score 変化 Automations は、現在 W&B Multi-tenant Cloud でのみサポートされています。

次のステップ