배포(Deployment) 만들기 — 자체 모델을 상시 API로 운영하기
배포(Deployment) 만들기 — 자체 모델을 상시 API로 운영하기
Replicate에서 모델은 기본적으로 필요할 때 워커를 띄워 실행하는 구조예요. 그런데 자체 커스텀 모델을 고정된 하드웨어로 늘 떠 있는 API로 운영하고 싶다면 '배포(deployment)'를 쓰면 돼요. 배포는 모델 인스턴스를 상시 유지해 예측을 보다 예측 가능한 비용과 성능으로 처리할 수 있게 해 주죠. 이 글에서 배포를 만드는 방법을 정리해요.
웹에서 배포 만들기
새 배포를 만들려면 replicate.com/deployments 에 가서 Create a new deployment를 선택하면 돼요. (어떤 모델 버전 페이지의 오른쪽 위 Deploy 버튼을 눌러도 바로 진입할 수 있어요.)
여기서 배포 이름을 짓고, 배포할 모델과 버전을 확인해요. 버전은 언제든 바꿀 수 있어요. 배포가 만들어지면 새 모델 인스턴스에 예측을 실행할 수 있어요.
배포를 더 세밀하게 구성하려면 배포 페이지의 Settings 탭으로 가요. 하드웨어와 오토스케일링 특성을 여기서 조정할 수 있고, 배포 운영 비용 예상치도 함께 보여줘요.
API로 배포 관리하기
배포는 API로도 만들고 관리할 수 있어요.
cURL 요청 예시입니다.
curl -s \
-X POST \
-H "Authorization: Bearer $REPLICATE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-app-image-generator",
"model": "some-org/some-model",
"version": "da77bc59ee60423279fd632efb4795ab731d9e3ca9705ef3341091fb989b7eaf",
"hardware": "gpu-t4",
"min_instances": 1,
"max_instances": 5
}' \
https://api.replicate.com/v1/deployments
응답은 배포를 설명하는 JSON 객체예요.
{
"owner": "acme",
"name": "my-app-image-generator",
"current_release": {
"number": 1,
"model": "some-org/some-model",
"version": "da77bc59ee60423279fd632efb4795ab731d9e3ca9705ef3341091fb989b7eaf",
"created_at": "2024-02-15T16:32:57.018467Z",
"created_by": {
"type": "organization",
"username": "acme",
"name": "Acme Corp, Inc.",
"github_url": "https://github.com/acme",
},
"configuration": {
"hardware": "gpu-t4",
"min_instances": 1,
"max_instances": 5
}
}
}
요청 본문에서 눈여겨볼 파라미터를 짚어볼게요.
name: 배포 이름이에요.model/version: 배포할 모델과 그 버전이에요.hardware:gpu-t4같은 하드웨어 스킴이에요.min_instances/max_instances: 오토스케일링 범위예요. 상시 최소 인스턴스 수와 트래픽이 몰릴 때 확장되는 최대 인스턴스 수를 정해요.
API 세부 사항은 다음 문서들을 참고하세요.
- Create a deployment
- Get a deployment
- Update a deployment
- Delete a deployment
- List deployments
- Create a prediction using a deployment
더 알아보기
- About deployments — 배포 개념
- View deployments — 배포 조회
- Monitor a deployment — 성능·상태 모니터링
- Create a prediction — 배포로 예측 실행