메인 콘텐츠로 건너뛰기
W&B Automations API를 사용하면 ML 파이프라인의 이벤트에 반응하는 자동화된 워크플로를 프로그래밍 방식으로 생성하고 관리할 수 있습니다. 모델 성능 임계값이나 아티팩트 생성과 같은 특정 조건이 충족될 때 실행될 작업을 구성하세요.

핵심 클래스

클래스설명
Automation설정과 함께 저장된 automation 인스턴스를 나타냅니다.
NewAutomation새로운 automation을 생성하기 위한 빌더 클래스입니다.

이벤트(트리거)

이벤트설명
OnRunMetricrun 메트릭이 정의된 조건(임계값, 변화 등)을 만족할 때 트리거됩니다.
OnCreateArtifact컬렉션에 새 아티팩트가 생성될 때 트리거됩니다.
OnLinkArtifact아티팩트가 레지스트리에 연결될 때 트리거됩니다.
OnAddArtifactAlias아티팩트에 별칭이 추가될 때 트리거됩니다.

동작

동작설명
SendNotificationSlack 또는 기타 연동 채널을 통해 알림을 보냅니다.
SendWebhookHTTP 웹훅 요청을 외부 서비스로 보냅니다.
DoNothing자동화 설정을 테스트하기 위한 플레이스홀더 액션입니다.

필터

필터설명
MetricThresholdFilter메트릭 값을 임계값과 비교해 run을 필터링합니다.
MetricChangeFilter시간에 따른 메트릭 값 변화를 기준으로 run을 필터링합니다.

주요 사용 사례

모델 성능 모니터링

  • 모델 정확도가 임계값 아래로 떨어지면 알림 보내기
  • 트레이닝 손실 감소가 멈추면 팀에 알리기
  • 성능 메트릭을 기준으로 재트레이닝 파이프라인 실행하기

아티팩트 관리

  • 새 모델 버전이 생성될 때 알림을 보냅니다
  • 아티팩트에 태그가 달릴 때 배포 워크플로우를 트리거합니다
  • 데이터셋이 업데이트될 때 후속 처리를 자동화합니다

실험 추적

  • 실패하거나 비정상 종료된 runs에 대한 알림 받기
  • 장시간 실행되는 실험이 완료되면 알림 받기
  • 실험 메트릭의 일일 요약 알림 받기

인테그레이션 워크플로우

  • 웹훅을 통해 외부 추적 시스템을 업데이트
  • 배포 플랫폼과 모델 레지스트리를 동기화
  • W&B 이벤트를 기반으로 CI/CD 파이프라인을 트리거

사용 예시

다음 예시는 custom-metric이라는 메트릭이 10을 초과할 때마다 Slack 알림을 보내는 자동화를 생성합니다. custom-metric은 트레이닝 중에 wandb.Run.log({"custom-metric": value })를 사용해 로깅된다고 가정합니다.
import wandb
from wandb.automations import OnRunMetric, RunEvent, SendNotification

api = wandb.Api()

project = api.project("<my-project>", entity="<my-team>")

# 팀의 첫 번째 Slack 인테그레이션 사용
slack_hook = next(api.slack_integrations(entity="<my-team>"))

# 트리거 이벤트 생성
event = OnRunMetric(
     scope=project,
     filter=RunEvent.metric("custom-metric") > 10,
)

# 이벤트에 응답하는 액션 생성
action = SendNotification.from_integration(slack_hook)

# 자동화 생성
automation = api.create_automation(
     event >> action,
     name="my-automation",
     description="Send a Slack message whenever 'custom-metric' exceeds 10.",
)
Automations API 사용 방법에 대한 자세한 내용은 Automations Guide를 참고하세요.