メインコンテンツへスキップ
Try in Colab Runs がクラッシュした場合や、カスタムトリガーが発生した場合に、Slack またはメールでアラートを作成できます。例えば、トレーニングループの gradient (勾配) が爆発し始めた(NaN を報告した)場合や、ML パイプラインのステップが完了したときにアラートを作成できます。アラートは、個人 プロジェクト と チーム プロジェクト の両方を含む、Runs を初期化するすべての プロジェクト に適用されます。 そして、Slack(またはメール)で W&B Alerts のメッセージを確認できます:
Slack alert setup
W&B Alerts を使用するには、コードに run.alert() を追加する必要があります。コードを変更せずに Slack に通知する別の方法として Automations があります。これは、Artifacts の バージョン が作成されたときや、run metric がしきい値に達した、あるいは変化したときなど、W&B 上のイベントに基づいて通知を行います。例えば、オートメーションを使用して、新しい バージョン が作成されたときに Slack チャンネルに通知したり、アーティファクトに production エイリアス が追加されたときに自動テストの webhook を実行したり、Run の loss が許容範囲内の場合にのみバリデーションジョブを開始したりできます。Automations の概要 を読むか、オートメーションを作成 してください。
以下のガイドは、マルチテナント・クラウドのアラートにのみ適用されます。プライベートクラウド または W&B 専用クラウド で W&B Server を使用している場合は、W&B Server での Slack アラートの設定 を参照して Slack アラートを設定してください。
アラートを設定するには、以下のセクションで詳しく説明する手順を実行してください:
  1. W&B の User Settings でアラートをオンにする。
  2. コードに run.alert() を追加する。
  3. 設定をテストする。

1. W&B User Settings でアラートをオンにする

User Settings において:
  • Alerts セクションまでスクロールします。
  • run.alert() からのアラートを受け取るために Scriptable run alerts をオンにします。
  • Connect Slack を使用して、アラートを投稿する Slack チャンネルを選択します。アラートのプライバシーを保つため、Slackbot チャンネルを推奨します。
  • Email は、W&B にサインアップしたときに使用したメール アドレス 宛に送信されます。これらのアラートがすべて 1 つのフォルダに入り、受信トレイを埋め尽くさないように、メールソフトでフィルタを設定することをお勧めします。
これは、最初に W&B Alerts を設定するとき、またはアラートの受信方法を変更したいときにのみ行う必要があります。
Alerts settings in W&B User Settings

2. コードに run.alert() を追加する

ノートブックまたは Python スクリプトの、トリガーしたい場所に run.alert() を追加します。
import wandb

# run を初期化
with wandb.init() as run:
    # タイトルとテキストを指定してアラートを送信
    run.alert(title="High Loss", text="Loss is increasing rapidly")

3. 設定をテストする

Slack またはメールでアラートメッセージが届いているか確認してください。届いていない場合は、User SettingsScriptable Alerts のメールまたは Slack がオンになっているか確認してください。

このシンプルなアラートは、精度(accuracy)がしきい値を下回ったときに警告を送信します。この例では、アラートの送信間隔を少なくとも 5 分間空けるように設定しています。
import wandb
from wandb import AlertLevel

with wandb.init() as run:

    if acc < threshold:
        run.alert(
            title="Low accuracy",
            text=f"Accuracy {acc} is below the acceptable threshold {threshold}",
            level=AlertLevel.WARN,
            wait_duration=300, # 次のアラートまで 300 秒(5 分)待機
        )

ユーザーのタグ付けまたはメンション

アットマーク @ の後に Slack ユーザー ID を続けることで、アラートのタイトルまたはテキスト内で自分自身や同僚をタグ付けできます。Slack ユーザー ID は、Slack のプロフィールページから確認できます。
run.alert(title="Loss is NaN", text=f"Hey <@U1234ABCD> loss has gone to NaN")

チームアラートの設定

チーム管理者は、チーム設定ページ(wandb.ai/teams/your-team)でチーム用のアラートを設定できます。 チームアラートは、チームの全員に適用されます。アラートのプライバシーを保つため、W&B では Slackbot チャンネルの使用を推奨しています。

アラート送信先の Slack チャンネルを変更する

アラートの送信先チャンネルを変更するには、Disconnect Slack をクリックしてから再接続してください。再接続後、別の Slack チャンネルを選択します。