Vertex AI 모델 모니터링에 스키마 제공

모니터링 작업을 시작하려면 모델 모니터링이 입력 페이로드를 올바르게 파싱하기 위해 테이블 형식 데이터 세트의 스키마를 알아야 합니다.

  • AutoML 모델의 경우 Vertex AI가 이미 학습 데이터에 액세스할 수 있으므로 모델 모니터링이 스키마를 자동으로 파싱합니다.

  • 커스텀 학습 모델의 경우:

    • 모델 모니터링은 표준 키-값 입력 형식을 사용하는 모델의 스키마를 자동으로 파싱할 수 있습니다.

    • 키-값 입력 형식을 사용하지 않는 커스텀 학습 모델의 경우 모니터링 작업을 만들 때 스키마를 제공해야 할 수 있습니다.

    스키마 생성은 온라인 예측 엔드포인트 또는 일괄 예측에 대해 모델 모니터링을 사용 설정하는지 여부에 따라 달라집니다.

온라인 예측 엔드포인트의 스키마 파싱

온라인 예측 엔드포인트의 경우 모델 모니터링에서 스키마를 자동으로 파싱하거나 모니터링 작업을 만들 때 스키마를 업로드할 수 있습니다.

자동 스키마 파싱

온라인 엔드포인트에 편향 또는 드리프트 감지를 사용 설정하면 모델 모니터링이 일반적으로 입력 스키마를 자동으로 파싱할 수 있습니다. 자동 스키마 파싱의 경우 모델 모니터링은 처음 1,000개의 입력 요청을 분석하여 스키마를 결정합니다.

자동 스키마 파싱은 입력 요청이 키-값 쌍의 형식일 때 가장 잘 작동합니다. 여기서 "key"는 특성 이름이고 "value"는 특성 값입니다. 예를 들면 다음과 같습니다.

"key":"value"
{"TenYearCHD":"0", "glucose":"5.4", "heartRate":"1", "age":"30",
"prevalentStroke":"0", "gender":"f", "ethnicity":"latin american"}

입력이 "key":"value" 형식이 아니면 모델 모니터링은 각 특성의 데이터 유형을 식별하고 각 입력에 기본 특성 이름을 자동으로 할당하려고 합니다.

커스텀 인스턴스 스키마

모델 모니터링에서 모델 입력을 올바르게 파싱하도록 모델 모니터링 작업을 만들 때 고유한 입력 스키마를 제공할 수 있습니다.

이 스키마를 분석 인스턴스 스키마라고 합니다. 스키마 파일은 입력 페이로드의 형식, 각 특성의 이름, 각 특성의 유형을 지정합니다.

스키마는 Open API 형식의 YAML 파일로 작성되어야 합니다. 다음은 object 형식의 예측 요청에 대한 예시입니다.

type: object
properties:
  age:
    type: string
  BMI:
    type: number
  TenYearCHD:
    type: string
  cigsPerDay:
    type: array
    items:
      type: string
  BPMeds:
    type: string
required:
- age
- BMI
- TenYearCHD
- cigsPerDay
- BPMeds
  • type은 예측 요청이 다음 형식 중 하나인지 여부를 나타냅니다.

    • object: 키-값 쌍
    • array: 배열과 유사
    • string: csv 문자열
  • properties는 각 개별 특성 유형을 나타냅니다.

  • 요청이 배열이나 csv 문자열 형식인 경우 required 필드에서 각 요청에 특징이 나열되는 순서를 지정합니다.

예측 요청이 배열이나 csv 문자열 형식이면 누락된 특성이 null 값으로 나타냅니다. 예를 들어 다음과 같은 특성 5개가 포함된 예측 요청을 살펴보겠습니다.

[feature_a, feature_b, feature_c, feature_d, feature_e]

feature_c에서 누락된 값을 허용하는 경우 feature_c가 누락된 샘플 요청은 {[1, 2, , 4, 6]}과 같습니다. 목록 길이는 여전히 5이며 중간에 null 값이 한 개 있습니다.

일괄 예측을 위한 스키마 파싱

일괄 예측의 경우 모델 모니터링에서 스키마를 자동으로 파싱하거나 모니터링 작업을 만들 때 스키마를 업로드할 수 있습니다.

자동 스키마 파싱

모니터링 작업 생성 중에 스키마를 제공하지 않으면 모델 모니터링이 특성의 데이터 유형을 추론하고 학습 데이터를 기반으로 스키마를 생성합니다.

또한 모델 모니터링은 예측되는 특성인 어떤 특성이 타겟 열인지 알아야 합니다. 타겟 열은 스키마 및 특성 편향 측정항목에서 제외됩니다. 모니터링 작업을 만들 때 대상 열을 지정할 수 있습니다.

타겟 열 사양

모니터링 작업을 만들 때 타겟 열을 지정하지 않으면 모델 모니터링에서 학습 데이터의 마지막 특성 이름을 타겟 열로 라벨을 지정합니다.

예를 들어 모델 모니터링은 첫 번째 행의 끝에 column_c가 있으므로 이 CSV 학습 데이터의 column_c를 타겟 열로 라벨을 지정합니다.

column_a, column_b, column_d, column_c
1,"a", 2, "c"
2,"b", 342, "d"

마찬가지로 column_c가 첫 번째 행의 끝에 있으므로 모델 모니터링은 이 JSONL 파일의 column_c를 타겟 열로 라벨을 지정합니다.

{"column_a": 1, "column_b": "a", "column_d": 2, "column_c": "c" }
{"column_a": 2, "column_b": "b", "column_c": "d",  "column_d": 342}

두 예시 모두 최종 스키마는 column_a, column_b, column_d만 포함합니다.

맞춤 스키마

커스텀 스키마는 입력 페이로드의 형식, 각 특성의 이름, 각 특성의 유형을 지정합니다.

스키마는 Open API 구문을 사용하여 YAML 파일로 작성되어야 합니다. 다음은 object 형식의 예측 요청에 대한 예시입니다.

type: object
properties:
  age:
    type: string
  BMI:
    type: number
  TenYearCHD:
    type: string
  cigsPerDay:
    type: array
    items:
      type: string
  BPMeds:
    type: string
required:
- age
- BMI
- TenYearCHD
- cigsPerDay
- BPMeds

모델 모니터링은 JSON Lines 일괄 예측 출력을 기반으로 특성 편향을 계산합니다. 데이터 유형에 배열이 포함된 경우 입력 데이터의 배열 길이는 yaml 파일에 지정된 특성 수와 동일해야 합니다. 그렇지 않으면 모델 모니터링이 배열 길이가 잘못된 예측 인스턴스를 특성 편향 계산에서 제외합니다.

예를 들어 다음 데이터 유형의 배열에는 2개의 특성이 포함됩니다.

  • 배열: {[[1, 2]]}

  • '키'/'값': {"key": 0, "values": [[1, 2]]}

해당 스키마는 다음 두 가지 특성도 지정해야 합니다.

type: object
properties:
  name:
    type: string
  age:
    type: number
required:
- name
- age

다음 단계