AutoML 테이블 형식 모델, AutoML 이미지 모델, 커스텀 학습 모델에서는 모델 배포 또는 엔드포인트 생성 중에 로그를 사용 설정하거나 사용 중지할 수 있습니다. 이 페이지에서는 사용 가능한 여러 예측 로그 유형과 이러한 로그를 사용 설정하거나 사용 중지하는 방법을 설명합니다.
예측 로그 유형
예측 노드에서 정보를 가져오는 데 사용할 수 있는 예측 로그에는 여러 가지 유형이 있습니다.
컨테이너 로깅: 예측 노드의
stdout
및stderr
스트림을 Cloud Logging에 로깅합니다. 이러한 로그는 디버깅에 필요합니다.액세스 로깅: Cloud Logging에 대한 각 요청의 타임스탬프 및 지연 시간과 같은 정보를 로깅합니다.
v1
및v1beta1
서비스 엔드포인트 모두 액세스 로깅은 기본적으로 중지되어 있습니다. 엔드포인트에 모델을 배포할 때 액세스 로깅을 사용 설정할 수 있습니다.요청-응답 로깅: BigQuery 테이블에 대한 온라인 예측 요청 및 응답의 샘플을 로깅합니다.
예측 엔드포인트를 만들거나 패치하여 요청-응답 로깅을 사용 설정할 수 있습니다.
각 로그 유형을 개별적으로 사용 설정하거나 중지할 수 있습니다.
예측 로그 설정
엔드포인트를 만들거나, 모델을 엔드포인트에 배포하거나, 배포된 모델을 변경할 때 온라인 예측 로그를 사용 설정하거나 사용 중지할 수 있습니다.
액세스 로그의 설정을 업데이트하려면 모델 배포를 취소한 후 새 설정으로 모델을 다시 배포해야 합니다. 모델을 다시 배포하지 않고 컨테이너 로그의 설정을 업데이트할 수 있습니다.
대량의 초당 쿼리 수(QPS)에 대해 온라인 예측을 수행하면 상당히 많은 수의 로그가 생성되며 Cloud Logging 가격 책정이 적용됩니다. 온라인 예측 로그의 가격을 산출하려면 로깅의 예상 청구액 확인을 참조하세요. 이 비용을 줄이려면 예측 로깅을 중지하면 됩니다.
예측 로그 사용 설정 및 사용 중지
다음 예시에서는 기본 로그 설정을 수정할 위치를 강조표시합니다.
콘솔
엔드포인트에 모델을 배포하거나Google Cloud 콘솔에서 새 엔드포인트를 만들 때 로깅 단계에서 사용 설정할 예측 로그 유형을 지정할 수 있습니다. 액세스 로깅 또는 컨테이너 로깅을 사용 설정하려면 체크박스를 선택하거나 이러한 로그를 중지하려면 체크박스를 선택 해제합니다.
REST API를 사용하여 컨테이너 로그의 설정을 업데이트합니다.
REST API를 사용하여 요청-응답 로깅을 사용 설정합니다.Google Cloud 콘솔 및 gcloud CLI는 요청-응답 로깅 구성을 지원하지 않습니다.
모델 배포 방법에 대한 자세한 내용은 콘솔을 사용한 모델 배포 Google Cloud 를 참고하세요.
gcloud
배포된 모델에서 로그가 사용 설정되는 기본 동작을 변경하려면 플래그를 gcloud
명령어에 추가합니다.
v1
서비스 엔드포인트
gcloud ai endpoints deploy-model
을 실행합니다.
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 \
--disable-container-logging \
--enable-access-logging
v1beta1
서비스 엔드포인트
gcloud beta ai endpoints deploy-model
을 실행합니다.
gcloud beta 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 \
--enable-access-logging \
--enable-container-logging
REST API를 사용하여 컨테이너 로그의 설정을 업데이트합니다.
REST API를 사용하여 요청-응답 로깅을 사용 설정합니다.Google Cloud 콘솔 및 gcloud CLI는 요청-응답 로깅 구성을 지원하지 않습니다.
모델 배포 방법에 대한 자세한 내용은 Vertex AI API를 사용한 모델 배포를 참고하세요.
REST
배포된 모델에서 로그가 사용 설정되는 기본 동작을 변경하려면 관련 필드를 True
로 설정합니다.
v1
서비스 엔드포인트
컨테이너 로깅을 사용 중지하려면 projects.locations.endpoints.deployModel
또는 projects.locations.endpoints.mutateDeployedModel
을 호출할 때 disableContainerLogging
필드를 True
로 설정합니다.
액세스 로깅을 사용 설정하려면 projects.locations.endpoints.deployModel
을 사용하여 모델을 배포할 때 enableAccessLogging
을 True
로 설정합니다.
v1beta1
서비스 엔드포인트
컨테이너 로깅을 사용 설정하려면 projects.locations.endpoints.deployModel
또는 projects.locations.endpoints.mutateDeployedModel
을 호출할 때 enableContainerLogging
필드를 True
로 설정합니다.
액세스 로깅을 사용 설정하려면 projects.locations.endpoints.deployModel
을 사용하여 모델을 배포할 때 enableAccessLogging
을 True
로 설정합니다.
모델 배포 방법에 대한 자세한 내용은 Vertex AI API를 사용한 모델 배포를 참고하세요.
요청-응답 로깅
요청-응답 로깅은 projects.locations.endpoints.create
를 사용하여 엔드포인트를 만들거나 projects.locations.endpoints.patch
를 사용하여 기존 엔드포인트를 패치할 때만 사용 설정할 수 있습니다.
요청-응답 로깅은 엔드포인트 수준에서 수행되므로 동일한 엔드포인트에 있는 배포된 모델로 전송된 요청은 로깅됩니다.
엔드포인트를 만들거나 패치할 때 엔드포인트 리소스의 predictRequestResponseLoggingConfig
필드를 다음 항목으로 채웁니다.
enabled
:True
로 설정하여 요청-응답 로깅을 사용 설정합니다.samplingPercentage
: 로깅할 요청의 비율을 정의하는 0 또는 1 사이의 숫자입니다. 예를 들어 모든 요청을 로깅하려면 이 값을1
로 설정하고, 10%의 요청을 로깅하려면0.1
로 설정합니다.BigQueryDestination
: 로깅에 사용할 BigQuery 테이블입니다. 프로젝트 이름만 지정하면logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID
라는 이름으로 새 데이터 세트가 생성됩니다. 여기서ENDPOINT_DISPLAY_NAME
은 BigQuery 이름 지정 규칙을 따릅니다. 테이블 이름을 지정하지 않으면request_response_logging
이라는 이름의 새 테이블이 생성됩니다.BigQuery 테이블의 스키마는 다음과 같이 나타납니다.
필드 이름 유형 모드 endpoint
문자열 null 허용 deployed_model_id
문자열 null 허용 logging_time
TIMESTAMP null 허용 request_id
NUMERIC null 허용 request_payload
문자열 반복 response_payload
문자열 반복
다음은 구성 예시입니다.
{ "predict_request_response_logging_config": { "enabled": true, "sampling_rate": 0.5, "bigquery_destination": { "output_uri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" } } }
전용 엔드포인트 및 Private Service Connect 엔드포인트의 예측 요청-응답 로깅
전용 엔드포인트 및 Private Service Connect 엔드포인트의 경우 요청-응답 로깅을 사용하여 TensorFlow, PyTorch, sklearn, XGBoost 모델의 요청 및 응답 페이로드를 10MB 미만으로 기록할 수 있습니다 (더 큰 페이로드는 자동으로 건너뜁니다).
요청-응답 로깅은 predict
및 rawPredict
메서드에만 사용할 수 있습니다.
요청-응답 로깅을 사용 설정하려면 엔드포인트 리소스의 predictRequestResponseLoggingConfig
필드를 다음 항목으로 채웁니다.
enabled
:True
로 설정하여 요청-응답 로깅을 사용 설정합니다.samplingRate
: 로깅할 요청 및 응답의 비율입니다. 0보다 크고 1 이하인 숫자로 설정합니다. 예를 들어 모든 요청을 로깅하려면 이 값을1
로 설정하고, 10% 의 요청을 로깅하려면0.1
로 설정합니다.BigQueryDestination
: 출력 콘텐츠의 BigQuery 위치(프로젝트 또는 테이블의 URI)입니다.
다음은 요청-응답 로깅이 사용 설정된 전용 엔드포인트를 만드는 구성 예입니다.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints \
-d '{displayName: "ENDPOINT_NAME", \
dedicatedEndpointEnabled: true, \
predictRequestResponseLoggingConfig: { \
enabled: true, \
samplingRate: 1.0, \
bigqueryDestination: { \
outputUri:"bq://PROJECT_ID" \
} \
} \
}'
다음을 바꿉니다.
- LOCATION_ID: Vertex AI를 사용하는 리전
- PROJECT_NUMBER: Google Cloud프로젝트의 프로젝트 번호입니다.
- ENDPOINT_NAME: 엔드포인트의 표시 이름
- PROJECT_ID: Google Cloud 프로젝트의 프로젝트 ID입니다.
다음은 요청-응답 로깅이 사용 설정된 Private Service Connect 엔드포인트를 만드는 구성 예입니다.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints \
-d '{displayName: "ENDPOINT_NAME", \
privateServiceConnectConfig: { \
enablePrivateServiceConnect: true, \
projectAllowlist: ["ALLOWED_PROJECTS"] \
}, \
predictRequestResponseLoggingConfig: { \
enabled: true, \
samplingRate: 1.0, \
bigqueryDestination: { \
outputUri:"bq://PROJECT_ID" \
} \
} \
}'
다음을 바꿉니다.
ALLOWED_PROJECTS
: 각각 따옴표로 묶인 쉼표로 구분된 Google Cloud프로젝트 ID 목록. 예를 들면["PROJECTID1", "PROJECTID2"]
입니다. 프로젝트가 이 목록에 없으면 해당 프로젝트에서 Vertex AI 엔드포인트로 예측 요청을 보낼 수 없습니다. 엔드포인트가 속한 동일한 프로젝트에서 엔드포인트를 호출할 수 있도록 이 목록에 VERTEX_AI_PROJECT_ID를 포함해야 합니다.
요청-응답 로깅 및 Model Monitoring v1
요청-응답 로깅과 Model Monitoring v1은 백엔드에서 같은 BigQuery 테이블을 사용하여 수신 요청을 로깅합니다. 두 기능을 동시에 사용할 때는 이 BigQuery 테이블에 대한 예기치 않은 변경이 방지되도록 다음과 같은 제한사항이 적용됩니다.
엔드포인트에서 Model Monitoring이 사용 설정된 경우 같은 엔드포인트에 요청-응답 로깅을 사용 설정할 수 없습니다.
요청-응답 로깅을 사용 설정한 후 동일한 엔드포인트에서 모델 모니터링을 사용 설정하면 요청-응답 로깅 구성을 변경할 수 없습니다.
다음 단계
- 온라인 예측 로깅 가격 예측
- Google Cloud 콘솔을 사용하거나 Vertex AI API를 사용하여 모델을 배포합니다.
- BigQuery 테이블 생성 방법 알아보기