이 페이지에서는 Vertex AI API를 사용하여 엔드포인트에 모델을 배포하는 방법을 설명합니다.
소개
이 모델을 사용하여 온라인 예측을 제공하려면 먼저 엔드포인트에 모델을 배포해야 합니다. 모델을 배포하면 지연 시간이 짧은 온라인 예측을 제공할 수 있도록 물리적 리소스를 모델과 연결합니다. 배포되지 않은 모델은 동일한 짧은 지연 시간 요구사항이 없는 일괄 예측을 제공할 수 있습니다.
엔드포인트 1개에 모델을 2개 이상 배포할 수 있고 2개 이상의 엔드포인트에 모델 1개를 배포할 수 있습니다. 모델 배포 옵션 및 사용 사례에 대한 자세한 내용은 모델 배포 정보를 참조하세요.
엔드포인트에 동영상 모델을 배포할 수 없습니다. 동영상 모델은 온라인 예측을 제공하지 않습니다.
Google Cloud Console을 사용하여 모델을 배포하는 데 도움이 필요하면 Google Cloud Console을 사용하여 모델 배포를 참조하세요.
모델 배포
Vertex AI API를 사용하여 모델을 배포하는 경우 다음 단계를 완료합니다.
- 필요한 경우 엔드포인트를 만듭니다.
- 엔드포인트 ID를 가져옵니다.
- 모델을 엔드포인트에 배포합니다.
엔드포인트 만들기
기존 엔드포인트에 모델을 배포하는 경우 이 단계를 건너뛸 수 있습니다.
gcloud
다음 예시에서는 gcloud ai endpoints create
명령어를 사용합니다.
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
다음을 바꿉니다.
- LOCATION: Vertex AI를 사용하는 리전
- ENDPOINT_NAME: 엔드포인트의 표시 이름
Google Cloud CLI 도구가 엔드포인트를 만드는 데 몇 초 정도 걸릴 수 있습니다.
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 리전입니다.
- PROJECT: 프로젝트 ID
- ENDPOINT_NAME: 엔드포인트의 표시 이름
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints
JSON 요청 본문:
{ "display_name": "ENDPOINT_NAME" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
가 포함될 때까지 작업 상태를 폴링할 수 있습니다.
Java
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Java API 참조 문서를 참조하세요.
Node.js
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Node.js API 참조 문서를 참조하세요.
Python
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Python API 참조 문서를 참조하세요.
엔드포인트 ID 검색
모델을 배포하려면 엔드포인트 ID가 필요합니다.
gcloud
다음 예시에서는 gcloud ai endpoints list
명령어를 사용합니다.
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
다음을 바꿉니다.
- LOCATION: Vertex AI를 사용하는 리전
- ENDPOINT_NAME: 엔드포인트의 표시 이름
ENDPOINT_ID
열에 표시되는 번호를 확인합니다. 다음 단계에서 이 ID를 사용합니다.
REST 및 명령줄
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 리전입니다.
- PROJECT: 프로젝트 ID
- ENDPOINT_NAME: 엔드포인트의 표시 이름
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints?filter=display_name=ENDPOINT_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/us-central1/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
모델 배포
아래에서 모델 유형을 선택하세요.
커스텀 학습
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
gcloud
다음 예시에서는 gcloud ai endpoints deploy-model
명령어를 사용합니다.
다음 예시는 GPU를 사용하지 않고 Model
을 Endpoint
에 배포하여 여러 DeployedModel
리소스 간에 트래픽을 분할하지 않고 예측 제공 속도를 높입니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- LOCATION: Vertex AI를 사용하는 리전
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. -
MACHINE_TYPE: (선택사항) 이 배포의 각 노드에 사용할 머신 리소스. 기본값은
n1-standard-2
입니다. 머신 유형 자세히 알아보기 -
MIN_REPLICA_COUNT: 이 배포의 최소 노드 수. 예측 로드 시 필요에 따라 최대 노드 수까지 노드 수를 늘리거나 줄일 수 있지만 절대 이 수 미만이 되지 않습니다.
이 값은 1보다 크거나 같아야 합니다.
--min-replica-count
플래그가 생략된 경우 기본값은 1입니다. -
MAX_REPLICA_COUNT: 이 배포의 최대 노드 수. 예측 로드 시 필요에 따라 노드 수를 늘리거나 줄일 수 있지만 최댓값을 절대 초과하지 않습니다.
--max-replica-count
플래그를 생략하면 최대 노드 수가--min-replica-count
값으로 설정됩니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
트래픽 분할
앞의 예시에서 --traffic-split=0=100
플래그는 Endpoint
가 수신하는 예측 트래픽의 100%를 새 DeployedModel
로 전송하며 임시 ID는 0
으로 표현됩니다. Endpoint
에 이미 다른 DeployedModel
리소스가 있으면 새 DeployedModel
및 이전 모델 간에 트래픽을 분할할 수 있습니다.
예를 들어 트래픽의 20%를 새 DeployedModel
로, 80%를 이전 모델로 전송하려면 다음 명령어를 실행합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- OLD_DEPLOYED_MODEL_ID: 기존
DeployedModel
의 ID입니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
GPU 지정
필요에 따라 DeployedModel
의 각 노드에서 GPU를 사용하여 예측을 신속하게 제공할 수 있습니다. GPU는 특정 유형의 머신러닝 모델에만 유용합니다.
GPU를 사용하는 경우와 각 머신 유형에서 작동하는 GPU 구성을 알아봅니다.
--accelerator
플래그를 사용하여 사용할 GPU 종류와 각 복제본에 사용할 GPU 수를 지정합니다. 예를 들어 각 노드에서 NVIDIA Tesla T4 GPU 2개를 사용하려면 다음 명령어를 실행합니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --accelerator=count=2,type=nvidia-tesla-t4 \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --accelerator=count=2,type=nvidia-tesla-t4 ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --accelerator=count=2,type=nvidia-tesla-t4 ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
GPU를 사용하는 경우 DeployedModel
은 예측 트래픽에 따라 자동으로 확장되지 않습니다. 대신 항상 정확히 --min-replica-count
플래그로 지정한 노드 수로 실행됩니다.
REST 및 명령줄
모델 배포
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: Vertex AI를 사용하는 리전
- PROJECT: 프로젝트 ID
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. -
MACHINE_TYPE: (선택사항) 이 배포의 각 노드에 사용할 머신 리소스. 기본값은
n1-standard-2
입니다. 머신 유형 자세히 알아보기 - ACCELERATOR_TYPE: 머신에 연결할 가속기 유형입니다. ACCELERATOR_COUNT가 지정되지 않았거나 0인 경우 선택사항입니다. GPU가 아닌 이미지를 사용하는 AutoML 모델 또는 커스텀 학습 모델에 사용하지 않는 것이 좋습니다. 자세히 알아보기
- ACCELERATOR_COUNT: 사용할 각 복제본의 가속기 수입니다. 선택사항. GPU가 아닌 이미지를 사용하는 AutoML 모델 또는 커스텀 학습 모델의 경우 0이거나 지정되지 않은 상태여야 합니다.
- MIN_REPLICA_COUNT: 이 배포의 최소 노드 수. 예측 로드 시 필요에 따라 최대 노드 수까지 노드 수를 늘리거나 줄일 수 있지만 절대 이 수 미만이 되지 않습니다. 이 값은 1보다 크거나 같아야 합니다.
- MAX_REPLICA_COUNT: 이 배포의 최대 노드 수. 예측 로드 시 필요에 따라 노드 수를 늘리거나 줄일 수 있지만 최댓값을 절대 초과하지 않습니다.
- TRAFFIC_SPLIT_THIS_MODEL: 이 작업과 함께 배포되는 모델로 라우팅될 이 엔드포인트에 대한 예측 트래픽 비율입니다. 기본값은 100입니다. 모든 트래픽 비율의 합은 100이 되어야 합니다. 트래픽 분할에 대해 자세히 알아보기
- DEPLOYED_MODEL_ID_N: 선택사항. 다른 모델이 이 엔드포인트에 배포된 경우 모든 비율의 합이 100이 되도록 트래픽 분할 비율을 업데이트해야 합니다.
- TRAFFIC_SPLIT_MODEL_N: 배포된 모델 ID 키의 트래픽 분할 비율 값입니다.
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
JSON 요청 본문:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Java API 참조 문서를 참조하세요.
Python
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Python API 참조 문서를 참조하세요.
예측 로깅의 기본 설정을 변경하는 방법을 알아보세요.
AutoML 이미지
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
gcloud
다음 예시에서는 gcloud ai endpoints deploy-model
명령어를 사용합니다.
다음 예시에서는 여러 DeployedModel
리소스 간에 트래픽을 분할하지 않고 Model
을 Endpoint
에 배포합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- LOCATION: Vertex AI를 사용하는 리전
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. - MIN_REPLICA_COUNT: 이 배포의 최소 노드 수. 예측 로드 시 필요에 따라 최대 노드 수까지 노드 수를 늘리거나 줄일 수 있지만 절대 이 수 미만이 되지 않습니다.
-
MAX_REPLICA_COUNT: 이 배포의 최대 노드 수. 예측 로드 시 필요에 따라 노드 수를 늘리거나 줄일 수 있지만 최댓값을 절대 초과하지 않습니다.
--max-replica-count
플래그를 생략하면 최대 노드 수가--min-replica-count
값으로 설정됩니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
트래픽 분할
앞의 예시에서 --traffic-split=0=100
플래그는 Endpoint
가 수신하는 예측 트래픽의 100%를 새 DeployedModel
로 전송하며 임시 ID는 0
으로 표현됩니다. Endpoint
에 이미 다른 DeployedModel
리소스가 있으면 새 DeployedModel
및 이전 모델 간에 트래픽을 분할할 수 있습니다.
예를 들어 트래픽의 20%를 새 DeployedModel
로, 80%를 이전 모델로 전송하려면 다음 명령어를 실행합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- OLD_DEPLOYED_MODEL_ID: 기존
DeployedModel
의 ID입니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST 및 명령줄
모델 배포
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: Vertex AI를 사용하는 리전
- PROJECT: 프로젝트 ID
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. - MIN_REPLICA_COUNT: 이 배포의 최소 노드 수. 예측 로드 시 필요에 따라 최대 노드 수까지 노드 수를 늘리거나 줄일 수 있지만 절대 이 수 미만이 되지 않습니다.
- MAX_REPLICA_COUNT: 이 배포의 최대 노드 수. 예측 로드 시 필요에 따라 노드 수를 늘리거나 줄일 수 있지만 최댓값을 절대 초과하지 않습니다.
- TRAFFIC_SPLIT_THIS_MODEL: 이 작업과 함께 배포되는 모델로 라우팅될 이 엔드포인트에 대한 예측 트래픽 비율입니다. 기본값은 100입니다. 모든 트래픽 비율의 합은 100이 되어야 합니다. 트래픽 분할에 대해 자세히 알아보기
- DEPLOYED_MODEL_ID_N: 선택사항. 다른 모델이 이 엔드포인트에 배포된 경우 모든 비율의 합이 100이 되도록 트래픽 분할 비율을 업데이트해야 합니다.
- TRAFFIC_SPLIT_MODEL_N: 배포된 모델 ID 키의 트래픽 분할 비율 값입니다.
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
JSON 요청 본문:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Java API 참조 문서를 참조하세요.
Node.js
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Node.js API 참조 문서를 참조하세요.
Python
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Python API 참조 문서를 참조하세요.
예측 로깅의 기본 설정을 변경하는 방법을 알아보세요.
AutoML 테이블 형식
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
gcloud
다음 예시에서는 gcloud ai endpoints deploy-model
명령어를 사용합니다.
다음 예시는 GPU를 사용하지 않고 Model
을 Endpoint
에 배포하여 여러 DeployedModel
리소스 간에 트래픽을 분할하지 않고 예측 제공 속도를 높입니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- LOCATION: Vertex AI를 사용하는 리전
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. -
MACHINE_TYPE: (선택사항) 이 배포의 각 노드에 사용할 머신 리소스. 기본값은
n1-standard-2
입니다. 머신 유형 자세히 알아보기 -
MIN_REPLICA_COUNT: 이 배포의 최소 노드 수. 예측 로드 시 필요에 따라 최대 노드 수까지 노드 수를 늘리거나 줄일 수 있지만 절대 이 수 미만이 되지 않습니다.
이 값은 1보다 크거나 같아야 합니다.
--min-replica-count
플래그가 생략된 경우 기본값은 1입니다. -
MAX_REPLICA_COUNT: 이 배포의 최대 노드 수. 예측 로드 시 필요에 따라 노드 수를 늘리거나 줄일 수 있지만 최댓값을 절대 초과하지 않습니다.
--max-replica-count
플래그를 생략하면 최대 노드 수가--min-replica-count
값으로 설정됩니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
트래픽 분할
앞의 예시에서 --traffic-split=0=100
플래그는 Endpoint
가 수신하는 예측 트래픽의 100%를 새 DeployedModel
로 전송하며 임시 ID는 0
으로 표현됩니다. Endpoint
에 이미 다른 DeployedModel
리소스가 있으면 새 DeployedModel
및 이전 모델 간에 트래픽을 분할할 수 있습니다.
예를 들어 트래픽의 20%를 새 DeployedModel
로, 80%를 이전 모델로 전송하려면 다음 명령어를 실행합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- OLD_DEPLOYED_MODEL_ID: 기존
DeployedModel
의 ID입니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST 및 명령줄
모델 배포
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: Vertex AI를 사용하는 리전
- PROJECT: 프로젝트 ID
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. -
MACHINE_TYPE: (선택사항) 이 배포의 각 노드에 사용할 머신 리소스. 기본값은
n1-standard-2
입니다. 머신 유형 자세히 알아보기 - ACCELERATOR_TYPE: 머신에 연결할 가속기 유형입니다. ACCELERATOR_COUNT가 지정되지 않았거나 0인 경우 선택사항입니다. GPU가 아닌 이미지를 사용하는 AutoML 모델 또는 커스텀 학습 모델에 사용하지 않는 것이 좋습니다. 자세히 알아보기
- ACCELERATOR_COUNT: 사용할 각 복제본의 가속기 수입니다. 선택사항. GPU가 아닌 이미지를 사용하는 AutoML 모델 또는 커스텀 학습 모델의 경우 0이거나 지정되지 않은 상태여야 합니다.
- MIN_REPLICA_COUNT: 이 배포의 최소 노드 수. 예측 로드 시 필요에 따라 최대 노드 수까지 노드 수를 늘리거나 줄일 수 있지만 절대 이 수 미만이 되지 않습니다. 이 값은 1보다 크거나 같아야 합니다.
- MAX_REPLICA_COUNT: 이 배포의 최대 노드 수. 예측 로드 시 필요에 따라 노드 수를 늘리거나 줄일 수 있지만 최댓값을 절대 초과하지 않습니다.
- TRAFFIC_SPLIT_THIS_MODEL: 이 작업과 함께 배포되는 모델로 라우팅될 이 엔드포인트에 대한 예측 트래픽 비율입니다. 기본값은 100입니다. 모든 트래픽 비율의 합은 100이 되어야 합니다. 트래픽 분할에 대해 자세히 알아보기
- DEPLOYED_MODEL_ID_N: 선택사항. 다른 모델이 이 엔드포인트에 배포된 경우 모든 비율의 합이 100이 되도록 트래픽 분할 비율을 업데이트해야 합니다.
- TRAFFIC_SPLIT_MODEL_N: 배포된 모델 ID 키의 트래픽 분할 비율 값입니다.
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
JSON 요청 본문:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Java API 참조 문서를 참조하세요.
Python
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Python API 참조 문서를 참조하세요.
예측 로깅의 기본 설정을 변경하는 방법을 알아보세요.
AutoML 텍스트
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
gcloud
다음 예시에서는 gcloud ai endpoints deploy-model
명령어를 사용합니다.
다음 예시에서는 여러 DeployedModel
리소스 간에 트래픽을 분할하지 않고 Model
을 Endpoint
에 배포합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- LOCATION: Vertex AI를 사용하는 리전
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. - MIN_REPLICA_COUNT: 이 배포의 최소 노드 수. 예측 로드 시 필요에 따라 최대 노드 수까지 노드 수를 늘리거나 줄일 수 있지만 절대 이 수 미만이 되지 않습니다.
-
MAX_REPLICA_COUNT: 이 배포의 최대 노드 수. 예측 로드 시 필요에 따라 노드 수를 늘리거나 줄일 수 있지만 최댓값을 절대 초과하지 않습니다.
--max-replica-count
플래그를 생략하면 최대 노드 수가--min-replica-count
값으로 설정됩니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --traffic-split=0=100
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --traffic-split=0=100
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --traffic-split=0=100
트래픽 분할
앞의 예시에서 --traffic-split=0=100
플래그는 Endpoint
가 수신하는 예측 트래픽의 100%를 새 DeployedModel
로 전송하며 임시 ID는 0
으로 표현됩니다. Endpoint
에 이미 다른 DeployedModel
리소스가 있으면 새 DeployedModel
및 이전 모델 간에 트래픽을 분할할 수 있습니다.
예를 들어 트래픽의 20%를 새 DeployedModel
로, 80%를 이전 모델로 전송하려면 다음 명령어를 실행합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
- OLD_DEPLOYED_MODEL_ID: 기존
DeployedModel
의 ID입니다.
gcloud ai endpoints deploy-model 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows(cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST 및 명령줄
모델 배포
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: Vertex AI를 사용하는 리전
- PROJECT: 프로젝트 ID
- ENDPOINT_ID: 엔드포인트의 ID입니다.
- MODEL_ID: 배포할 모델의 ID입니다.
-
DEPLOYED_MODEL_NAME:
DeployedModel
의 이름입니다.DeployedModel
의Model
표시 이름도 사용할 수 있습니다. - TRAFFIC_SPLIT_THIS_MODEL: 이 작업과 함께 배포되는 모델로 라우팅될 이 엔드포인트에 대한 예측 트래픽 비율입니다. 기본값은 100입니다. 모든 트래픽 비율의 합은 100이 되어야 합니다. 트래픽 분할에 대해 자세히 알아보기
- DEPLOYED_MODEL_ID_N: 선택사항. 다른 모델이 이 엔드포인트에 배포된 경우 모든 비율의 합이 100이 되도록 트래픽 분할 비율을 업데이트해야 합니다.
- TRAFFIC_SPLIT_MODEL_N: 배포된 모델 ID 키의 트래픽 분할 비율 값입니다.
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
JSON 요청 본문:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Java API 참조 문서를 참조하세요.
Node.js
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Node.js API 참조 문서를 참조하세요.
Python
Vertex AI용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Vertex AI 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Vertex AI Python API 참조 문서를 참조하세요.
작업 상태 가져오기
일부 요청은 완료하는 데 시간이 걸리는 장기 실행 작업을 시작합니다. 이러한 요청은 작업 상태를 보거나 작업을 취소하는 데 사용할 수 있는 작업 이름을 반환합니다. Vertex AI는 장기 실행 작업을 호출하는 도우미 메서드를 제공합니다. 자세한 내용은 장기 실행 작업 다루기를 참조하세요.
다음 단계
- API를 사용해 AutoML 모델에서 온라인 예측 요청
동영상에서는 지원되지 않습니다.