예측(Prediction) 수명주기 — 상태 확인하고 모니터링하기
예측(Prediction) 수명주기 — 상태 확인하고 모니터링하기
Replicate에서 모델을 한 번 실행할 때마다 '예측(prediction)'이 만들어져요. 몇 밀리초 안에 끝나는 모델도 있지만, 이미지·비디오 같은 생성형 모델은 훨씬 오래 걸리기도 하죠. 이 글에서는 예측이 어떤 상태를 거치는지, 오래 걸리는 예측을 어떻게 바라보고 관리하는지를 정리해요.
예측 상태(Prediction statuses)
예측이 가질 수 있는 상태는 여섯 가지예요.
starting: 예측이 시작되는 단계. 이 상태가 몇 초 이상 지속되면 보통 예측을 실행할 새 워커(cold boot)를 띄우는 중이에요.processing: 모델의predict()메서드가 실제로 실행 중인 상태.succeeded: 예측이 성공적으로 완료됨.failed: 처리 중 오류가 발생함.canceled: 시작된 후 사용자가 취소했거나 데드라인을 넘김.aborted: 시작되기 전에 데드라인을 넘겨 실행되지 못함.
타임아웃
예측은 30분 동안 실행되면 타임아웃돼요. 30분을 넘기는 타임아웃이 필요하다면 Replicate에 문의해야 해요.
또한 지정 시간 안에 예측이 끝나지 않으면 자동으로 취소하도록 데드라인을 설정할 수 있어요. 언제 기다리는 걸 멈추고 다음으로 넘어갈지 결정해야 하는 애플리케이션을 만들 때 유용해요. 예를 들어 사용자에게 타임아웃 메시지를 보여주거나 다른 워크플로로 전환하는 경우죠.
데드라인을 넘기면 실행 여부에 따라 상태가 달라져요.
- 시작 전: 상태가
aborted로 바뀜 - 시작 후: 상태가
canceled로 바뀜
데드라인이 있는 예측의 과금
과금도 예측이 시작됐는지 여부를 기준으로 달라져요.
- Aborted(시작 전): 요금 부과 안 함
- Canceled(시작 후): 취소되기 전까지 실행된 시간만큼만 지불
이렇게 실제로 사용한 컴퓨팅 리소스만큼만 비용이 나와요.
예측 모니터링
로그인한 상태라면 대시보드에서 예측 목록을 확인할 수 있어요. 상태·실행 시간 등의 요약이 함께 보여요.
오래 실행되는 모델을 쓴다면 API를 폴링하거나 webhook으로 예측 상태를 확인하는 편이 좋아요. 예측이 Replicate에 얼마나 오래 저장되는지는 Data retention 문서에서 확인할 수 있어요.
더 알아보기
- Create a prediction — 예측 만들기
- Streaming output — SSE 스트리밍
- Webhooks — 완료 알림 받기
- Data retention — 예측 데이터 보관 정책