지속적 평가 작업 만들기

지속적 평가 작업은 AI Platform 데이터 라벨링 서비스가 AI Platform Prediction에 배포된 모델 버전에 대한 지속적 평가를 수행하는 방법을 정의합니다. 모델 버전에 대한 평가 작업을 만들면 다음 두 가지 작업이 시작됩니다.

  • 모델 버전이 온라인 예측을 제공하면 이러한 예측의 일부에 대한 입력 및 출력이 BigQuery 테이블에 저장됩니다.
  • 지속적 평가 작업은 정기적으로 실행되어 다음 작업을 수행합니다.
    1. 마지막 실행 후 BigQuery에 추가된 모든 새 행으로 데이터 라벨링 서비스 데이터세트를 만듭니다.
    2. (선택사항) 라벨 지정 요청을 제출하여 검토자가 예측의 정답 라벨을 제공하도록 합니다.
    3. Google Cloud 콘솔에서 확인할 수 있는 일련의 평가 측정항목을 계산합니다.

시작하기 전에

시작하기 전에 특정 모델 요구사항을 충족하는 모델 버전을 AI Platform 예측에 배포해야 합니다. 특정 Google Cloud API도 사용 설정해야 합니다. 이러한 요구사항을 충족하는 방법을 알아보려면 지속적 평가를 시작하기 전에를 읽어보세요.

기본 옵션 구성

다음 섹션에서는 작업 만들기 페이지로 이동하여 평가 작업의 기본 세부정보를 구성하는 방법을 설명합니다.

모델 버전의 평가 작업을 만들려면 Google Cloud 콘솔에서 원하는 모델 버전 페이지로 이동하여 작업 만들기 페이지를 엽니다.

  1. Google Cloud 콘솔에서 AI Platform 모델 페이지를 엽니다.

    AI Platform 모델 페이지로 이동

  2. 평가 작업을 만들 모델 버전이 포함된 모델의 이름을 클릭합니다.

  3. 평가 작업을 만들 모델 버전의 이름을 클릭합니다. 평가 작업이 이미 연결되어 있을 수는 없습니다.

  4. 평가 탭을 클릭합니다. 그런 다음 평가 작업 설정을 클릭합니다.

설명, 모델 목표, 라벨, 샘플링 비율 지정

다음 단계에서는 작업 만들기 양식에 지정해야 하는 기본 구성 세부정보를 설명합니다.

  1. 작업 설명 필드에 평가 작업의 설명을 추가합니다.

  2. 모델 목표 필드에 머신러닝 모델이 수행하는 작업 유형을 지정합니다. 지속적 평가에서 지원하는 머신러닝 모델 유형에 대해 자세히 알아보세요.

    • 모델에서 분류를 수행하는 경우 분류 유형 필드에 단일 라벨 분류를 수행하는지, 다중 라벨 분류를 수행하는지 지정합니다.
    • 모델이 이미지 객체 감지를 수행하는 경우 0과 1 사이의 Intersection over Union(IOU) 최솟값을 지정합니다. 이는 모델의 예상 경계 상자가 정확한 예측으로 간주되려면 정답 경계 상자와 얼마나 유사해야 하는지를 정의합니다.
  3. 예측 라벨 파일 경로 필드에서 모델 예측에 사용할 수 있는 라벨이 포함된 Cloud Storage의 CSV 파일 경로를 지정합니다. 이 파일은 모델에 설정된 주석 사양을 정의합니다. 이 파일을 구조화하는 방법을 알아보세요.

  4. 일일 샘플 비율 필드에 BigQuery로 내보내서 모델 버전이 지속적 평가의 일부로 분석하도록 할 예측 비율을 지정합니다.

    또한 일일 샘플 한도를 지정하여 단일 평가 기간 동안 샘플링할 최대 예측 수 값을 설정합니다.

    예를 들어 연속 평가를 위해 예측의 10%를 샘플링하려는 경우가 있을 수 있습니다. 하지만 특정 일에 많은 예측을 얻는 경우 해당 일의 평가 작업 실행에 대한 예측은 100개 이상 샘플링하지 않는 것이 좋습니다. 예측이 많으면 검토자가 라벨을 지정하는 데 시간이 오래 걸릴 수 있으며 예상보다 높은 데이터 라벨링 서비스 비용이 발생할 수 있습니다.

BigQuery 테이블 지정

BigQuery 테이블 필드에 데이터 라벨링 서비스가 모델 버전에서 샘플링된 예측을 저장할 수 있는 BigQuery 테이블의 이름을 지정해야 합니다.

아직 존재하지 않는 테이블의 이름을 지정하면 데이터 라벨링 서비스에서 올바른 스키마를 가진 테이블을 자동으로 만듭니다.

표의 전체 이름은 bq://YOUR_PROJECT_ID.YOUR_DATASET_NAME.YOUR_TABLE_NAME 형식으로 입력해야 합니다.

  • YOUR_PROJECT_ID는 현재 평가 작업을 만드는 프로젝트의 ID여야 합니다.
  • YOUR_DATASET_NAME은 유효한 BigQuery 데이터 세트 이름이면 됩니다. 아직 데이터세트가 존재하지 않아도 됩니다.
  • YOUR_TABLE_NAME은 유효한 BigQuery 테이블 이름이면 됩니다.

지정한 테이블이 이미 존재하는 경우 지속적 평가를 위한 올바른 스키마가 있어야 합니다.

필드 이름유형모드
모델문자열필수 항목
model_version문자열필수 항목
time타임스탬프필수 항목
raw_data문자열필수 항목
raw_prediction문자열null 허용
groundtruth문자열null 허용

테이블에는 이러한 열 외에 추가 열이 없어야 합니다.

예측 키 지정

데이터 라벨링 서비스가 원시 예측 입력에서 필요한 정보를 추출하고 BigQuery 테이블에 저장된 JSON을 출력할 수 있도록 입력의 특정 필드에 키를 지정해야 합니다. 모델 버전이 입력을 받고 필수 형식으로 예측을 반환하는지 확인합니다. 그런 다음 관련 키를 제공합니다.

  • 데이터 키: 예측에 사용되는 데이터가 포함된 모델 버전 예측 입력의 필드에 대한 키입니다. 수동 라벨링을 사용 설정하면 데이터 라벨링 서비스에서 이 데이터를 검토 자에게 제공하여 정답 라벨을 제공하도록 합니다. 또한 Google Cloud 콘솔에서 평가 측정항목을 확인할 때 이 데이터를 사용하여 나란히 비교합니다.

    모델 버전이 텍스트 분류 또는 일반 분류를 수행하는 경우 이 키를 제공해야 합니다. 모델 버전이 이미지 분류 또는 이미지 객체 감지를 수행하고 base64로 인코딩된 이미지를 예측 입력으로 허용하는 경우 이 키도 제공해야 합니다.

  • 데이터 참조 키: 이미지의 Cloud Storage 경로가 포함된 모델 버전 예측 입력의 필드에 대한 키입니다. 데이터 라벨링 서비스는 데이터 키를 사용하는 것과 동일한 목적으로 이 이미지를 로드합니다.

    모델 버전이 이미지 분류 또는 이미지 객체 감지를 수행하고 Cloud Storage의 이미지 경로를 예측 입력으로 허용하는 경우에만 이 키를 입력하세요. 데이터 키데이터 참조 키는 최소한 하나 이상 입력해야 합니다.

  • 예측 라벨 키: 예측 라벨 배열이 포함된 모델 버전 예측 출력의 필드에 대한 키입니다. 데이터 라벨링 서비스는 혼동 행렬과 같은 평가 측정항목을 계산하기 위해 이러한 값을 정답 값과 비교합니다.

    필수 필드입니다.

  • 예측 점수 키: 예측 점수 배열이 포함된 모델 버전 예측 출력의 필드에 대한 키입니다. 데이터 라벨링 서비스는 정밀도-재현율 곡선과 같은 평가 측정항목을 계산하기 위해 이러한 값을 예측 라벨 및 정답 라벨과 함께 사용합니다.

    필수 필드입니다.

  • 경계 상자 키: 경계 상자 배열이 포함된 모델 버전 예측 출력의 필드에 대한 키입니다. 이는 이미지 객체 감지를 평가하는 데 필요합니다.

    모델 버전이 이미지 객체 감지를 수행하는 경우에만 이 키를 입력하세요.

예측 키의 예시

다음 섹션에서는 다양한 유형의 모델에 대한 예측 키를 제공하는 방법을 보여주는 예시를 제공합니다.

이미지 분류

Base64 인코딩 예시

모델 버전에서 다음 입력을 허용한다고 가정해 보겠습니다.

{
  "instances": [
    {
      "image_bytes": {
        "b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
      }
    }
  ]
}

그리고 다음과 같은 출력을 반환한다고 가정해 보겠습니다.

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

다음 키를 제공합니다.

  • 데이터 키: image_bytes/b64
  • 예측 라벨 키: sentiments
  • 예측 점수 키: confidence

Cloud Storage 참조 예시

모델 버전에서 다음 입력을 허용한다고 가정해 보겠습니다.

{
  "instances": [
    {
      "image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
    }
  ]
}

그리고 다음과 같은 출력을 반환한다고 가정해 보겠습니다.

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

다음 키를 제공합니다.

  • 데이터 참조 키: image_path
  • 예측 라벨 키: sentiments
  • 예측 점수 키: confidence

텍스트 분류

모델 버전에서 다음 입력을 허용한다고 가정해 보겠습니다.

{
  "instances": [
    {
      "text": "If music be the food of love, play on;"
    }
  ]
}

그리고 다음과 같은 출력을 반환한다고 가정해 보겠습니다.

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

다음 키를 제공합니다.

  • 데이터 키: text
  • 예측 라벨 키: sentiments
  • 예측 점수 키: confidence

일반적 분류

모델 버전에서 다음 입력을 허용한다고 가정해 보겠습니다.

{
  "instances": [
    {
      "weather": [
        "sunny",
        72,
        0.22
      ]
    }
  ]
}

그리고 다음과 같은 출력을 반환한다고 가정해 보겠습니다.

{
  "predictions": [
    {
      "sentiments": [
        "happy"
      ],
      "confidence": [
        "0.8"
      ]
    }
  ]
}

다음 키를 제공합니다.

  • 데이터 키: weather
  • 예측 라벨 키: sentiments
  • 예측 점수 키: confidence

이미지 객체 감지

Base64 인코딩 예시

모델 버전에서 다음 입력을 허용한다고 가정해 보겠습니다.

{
  "instances": [
    {
      "image_bytes": {
        "b64": "iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAhUlEQVR4AWOAgZeONnHvHcXiGJDBqyDTXa+dVC888oy51F9+eRdY8NdWwYz/RyT//znEsAjEt277+syt5VMJw989DM/+H2MI/L8tVBQk4d38xcWp7ctLhi97ZCZ0rXV6yLA4b6dH59sjTq3fnji1fp4AsWS5j7PXstRg+/b3gU7N351AQgA8+jkf43sjaQAAAABJRU5ErkJggg=="
      }
    }
  ]
}

그리고 다음과 같은 출력을 반환한다고 가정해 보겠습니다.

{
  "predictions": [
    {
      "bird_locations": [
        {
          "top_left": {
            "x": 53,
            "y": 22
          },
          "bottom_right": {
            "x": 98,
            "y": 150
          }
        }
      ],
      "species": [
        "rufous hummingbird"
      ],
      "probability": [
        0.77
      ]
    }
  ]
}

다음 키를 제공합니다.

  • 데이터 키: image_bytes/b64
  • 예측 라벨 키: species
  • 예측 점수 키: probability
  • 경계 상자 키: bird_locations

Cloud Storage 참조 예시

모델 버전에서 다음 입력을 허용한다고 가정해 보겠습니다.

{
  "instances": [
    {
      "image_path": "gs://cloud-samples-data/datalabeling/image/flower_1.jpeg"
    }
  ]
}

그리고 다음과 같은 출력을 반환한다고 가정해 보겠습니다.

{
  "predictions": [
    {
      "bird_locations": [
        {
          "top_left": {
            "x": 53,
            "y": 22
          },
          "bottom_right": {
            "x": 98,
            "y": 150
          }
        }
      ],
      "species": [
        "rufous hummingbird"
      ],
      "probability": [
        0.77
      ]
    }
  ]
}

다음 키를 제공합니다.

  • 데이터 참조 키: image_path
  • 예측 라벨 키: species
  • 예측 점수 키: probability
  • 경계 상자 키: bird_locations

정답 방식 지정

지속적 평가는 머신러닝 모델의 예측과 수동으로 주석 처리된 정답 라벨을 비교하는 방식으로 작동합니다. 원하는 정답 방식을 클릭하여 정답 라벨을 만드는 방법을 선택하세요.

  • Google-managed labeling service(Google에서 관리하는 라벨 지정 서비스): 이 옵션을 선택하면 평가 작업이 실행될 때마다 데이터 라벨링 서비스에서 샘플링된 모든 새 데이터를 검토자에게 전송하여 정답으로 라벨을 지정하도록 합니다. 데이터 라벨링 서비스 가격 책정이 적용됩니다. 이 옵션을 선택하는 경우 예측 입력 라벨 지정에 대한 PDF 안내를 제공해야 합니다. 효과적인 안내 작성 방법을 알아보세요.

  • Provide your own labels(자체 라벨 제공): 이 옵션을 선택하는 경우 평가 작업의 BigQuery 테이블에 직접 정답 라벨을 추가해야 합니다. 다음에 평가 작업을 실행하기 전에 샘플링되는 모든 예측 입력에 정답 라벨을 추가해야 합니다. 기본적으로 평가 작업은 매일 오전 10시(UTC)에 실행되므로 매일 이 시간 전에 BigQuery 테이블의 새 행에 대한 정답을 추가해야 합니다. 그렇지 않으면 데이터가 평가되지 않고 Google Cloud 콘솔에 오류가 표시됩니다.

    이는 모델 버전이 일반 분류를 수행하는 경우에 사용 가능한 유일한 옵션입니다.

작업 만들기

만들기 버튼을 클릭하여 평가 작업을 만듭니다. 예측 입력과 출력이 모델 버전에서 BigQuery 테이블로 즉시 샘플링되기 시작합니다.

다음 단계

평가 측정항목을 확인하는 방법 알아보기