일괄 예측을 위한 Vertex AI Model Monitoring

이 페이지에서는 일회성 Model Monitoring 분석이 포함되도록 일괄 예측 작업 요청을 구성하는 방법을 설명합니다. 일괄 예측의 경우 Model Monitoring에서 카테고리 특성과 숫자 입력 특성의 특성 편향 감지를 지원합니다.

Model Monitoring 편향 분석을 사용하여 일괄 예측 작업을 만들려면 요청에 모델의 일괄 예측 입력 데이터와 원래 학습 데이터를 모두 포함해야 합니다. 새 일괄 예측 작업을 만들 때만 Model Monitoring 분석을 추가할 수 있습니다.

편향에 대한 자세한 내용은 Model Monitoring 소개를 참조하세요.

온라인(실시간) 예측을 할 수 있도록 Model Monitoring을 설정하는 방법은 Model Monitoring 사용을 참조하세요.

기본 요건

일괄 예측에 Model Monitoring을 사용하려면 다음을 완료합니다.

  1. Vertex AI Model Registry에 표 형식 AutoML 또는 테이블 형식 커스텀 학습 유형의 사용 가능한 모델이 있어야 합니다.

  2. 학습 데이터를 Cloud Storage 또는 BigQuery에 업로드하고 데이터의 URI 링크를 가져옵니다.

    • AutoML로 학습된 모델의 경우 대신 학습 데이터 세트의 데이터 세트 ID를 사용할 수 있습니다.
  3. Model Monitoring은 학습 데이터를 일괄 예측 출력과 비교합니다. 학습 데이터와 일괄 예측 출력에 지원되는 파일 형식을 사용하고 있는지 확인합니다.

    모델 유형 학습 데이터 일괄 예측 출력
    커스텀 학습됨 CSV, JSONL, BigQuery, TfRecord(tf.train.Example) JSONL
    AutoML 테이블 형식 CSV, JSONL, BigQuery, TfRecord(tf.train.Example) CSV, JSONL, BigQuery, TfRecord(Protobuf.Value)
  4. 선택사항: 커스텀 학습 모델의 경우 모델의 스키마를 Cloud Storage에 업로드합니다. Model Monitoring에서는 편향 감지의 기준 분포를 계산하기 위해 스키마를 필요로 합니다.

배치 예측 요청

다음 방법을 사용하여 Model Monitoring 구성을 일괄 예측 작업에 추가할 수 있습니다.

콘솔

안내에 따라 Model Monitoring이 사용 설정된 일괄 예측 요청을 수행합니다.

REST API

안내에 따라 REST API를 사용하여 일괄 예측 요청을 수행합니다.

일괄 예측 요청을 만들 때 요청 JSON 본문에 다음 Model Monitoring 구성을 추가합니다.

"modelMonitoringConfig": {
 "alertConfig": {
   "emailAlertConfig": {
     "userEmails": "EMAIL_ADDRESS"
   },
  "notificationChannels": [NOTIFICATION_CHANNELS]
 },
 "objectiveConfigs": [
   {
     "trainingDataset": {
       "dataFormat": "csv",
       "gcsSource": {
         "uris": [
           "TRAINING_DATASET"
         ]
       }
     },
     "trainingPredictionSkewDetectionConfig": {
       "skewThresholds": {
         "FEATURE_1": {
           "value": VALUE_1
         },
         "FEATURE_2": {
           "value": VALUE_2
         }
       }
     }
   }
 ]
}

각 매개변수는 다음과 같습니다.

  • EMAIL_ADDRESS: Model Monitoring에서 알림을 받을 이메일 주소입니다. 예를 들면 example@example.com입니다.

  • NOTIFICATION_CHANNELS: Model Monitoring에서 알림을 수신하려는 Cloud Monitoring 알림 채널 목록입니다. 프로젝트의 알림 채널 나열로 검색할 수 있는 알림 채널의 리소스 이름을 사용합니다. 예를 들면 "projects/my-project/notificationChannels/1355376463305411567", "projects/my-project/notificationChannels/1355376463305411568"입니다.

  • TRAINING_DATASET: Cloud Storage에 저장된 학습 데이터 세트의 링크입니다.

    • BigQuery 학습 데이터 세트 링크를 사용하려면 gcsSource 필드를 다음으로 바꿉니다.
    "bigquerySource": {
        {
          "inputUri": "TRAINING_DATASET"
        }
     }
    
    • AutoML 모델 링크를 사용하려면 gcsSource 필드를 다음으로 바꿉니다.
    "dataset": "TRAINING_DATASET"
  • FEATURE_1:VALUE_1FEATURE_2:VALUE_2: 모니터링할 각 특성의 알림 임곗값입니다. 예를 들어 Age=0.4를 지정하면 Model Monitoring에서 Age 특성의 입력 및 기준 분포 간의 통계 거리가 0.4를 초과하면 알림을 로깅합니다. 기본적으로 모든 범주형 특성 및 숫자형 특성이 모니터링되며 임곗값은 0.3입니다.

Model Monitoring 구성에 대한 자세한 내용은 모니터링 작업 참조를 확인하세요.

Python

커스텀 테이블 형식 모델을 위해 모델 모니터링으로 일괄 예측 작업을 실행하려면 예시 노트북을 참조하세요.

Model Monitoring은 이메일을 통해 작업 업데이트와 알림을 자동으로 알려줍니다.

편향 측정항목 액세스

다음 방법을 사용하여 일괄 예측 작업의 편향 측정항목에 액세스할 수 있습니다.

콘솔(히스토그램)

Google Cloud 콘솔을 사용하면 모니터링된 각 특성의 특성 분포 히스토그램을 확인하고 시간이 지나면서 편향을 유발한 변경사항을 알아볼 수 있습니다.

  1. 일괄 예측 페이지로 이동합니다.

    일괄 예측으로 이동

  2. 일괄 예측 페이지에서 분석할 일괄 예측 작업을 클릭합니다.

  3. Model Monitoring 알림 탭을 클릭하여 모델의 입력 특성 목록과 각 특성의 알림 임곗값과 같은 관련 정보를 봅니다.

  4. 특성을 분석하려면 특성 이름을 클릭합니다. 페이지에 해당 특성의 특성 배포 히스토그램이 표시됩니다.

    데이터 분포를 히스토그램으로 시각화하면 데이터에서 발생한 변경사항에 빠르게 집중할 수 있습니다. 이후 특성 생성 파이프라인을 조정하거나 모델을 다시 학습시킬 수 있습니다.

    편향 감지의 입력 데이터 분포 예시 및 학습 데이터 분포를 보여주는 히스토그램

콘솔(JSON 파일)

Google Cloud 콘솔을 사용하여 JSON 형식의 측정항목에 액세스합니다.

  1. 일괄 예측 페이지로 이동합니다.

    일괄 예측으로 이동

  2. 일괄 예측 모니터링 작업의 이름을 클릭합니다.

  3. 모니터링 속성 탭을 클릭합니다.

  4. 모니터링 출력 디렉터리 링크를 클릭하여 Cloud Storage 버킷으로 이동합니다.

  5. metrics/ 폴더를 클릭합니다.

  6. skew/ 폴더를 클릭합니다.

  7. feature_skew.json 파일을 클릭하여 객체 세부정보 페이지로 이동합니다.

  8. 다음 옵션 중 하나를 사용하여 JSON 파일을 엽니다.

  • 다운로드를 클릭하고 로컬 텍스트 편집기에서 파일을 엽니다.

  • gsutil URI 파일 경로를 사용하여 Cloud Shell 또는 로컬 터미널에서 gsutil cat GSUTIL_URI를 실행합니다.

feature_skew.json 파일에는 키가 특성 이름이고 값이 특성 편향인 사전이 포함되어 있습니다. 예를 들면 다음과 같습니다.

{
  "cnt_ad_reward": 0.670936,
  "cnt_challenge_a_friend": 0.737924,
  "cnt_completed_5_levels": 0.549467,
  "month": 0.293332,
  "operating_system": 0.05758,
  "user_pseudo_id": 0.1
}

Python

모델 모니터링으로 일괄 예측 작업을 실행한 후 커스텀 테이블 형식 모델의 편향 측정항목에 액세스하려면 예시 노트북을 참조하세요.

일괄 예측 모니터링 실패 디버그

일괄 예측 모니터링 작업이 실패한 경우 Google Cloud 콘솔에서 디버깅 로그를 찾을 수 있습니다.

  1. 일괄 예측 페이지로 이동합니다.

    일괄 예측으로 이동

  2. 실패한 일괄 예측 모니터링 작업의 이름을 클릭합니다.

  3. 모니터링 속성 탭을 클릭합니다.

  4. 모니터링 출력 디렉터리 링크를 클릭하여 Cloud Storage 버킷으로 이동합니다.

  5. logs/ 폴더를 클릭합니다.

  6. .INFO 파일 중 하나를 클릭하여 객체 세부정보 페이지로 이동합니다.

  7. 다음 옵션 중 하나를 사용하여 로그 파일을 엽니다.

    • 다운로드를 클릭하고 로컬 텍스트 편집기에서 파일을 엽니다.

    • gsutil URI 파일 경로를 사용하여 Cloud Shell 또는 로컬 터미널에서 gsutil cat GSUTIL_URI를 실행합니다.

노트북 튜토리얼

다음과 같은 종합적인 튜토리얼로 Vertex AI Model Monitoring을 사용하여 모델의 시각화 및 통계를 구현하는 방법을 자세히 알아봅니다.

AutoML

커스텀

XGBoost 모델

Explainable AI 특성 기여 분석

배치 예측

테이블 형식 모델 설정

다음 단계