예측 개요

학습된 머신러닝 모델을 클라우드에서 호스팅하고 AI Platform Prediction을 사용하여 새 데이터의 타겟 값을 추론할 수 있습니다. 이 페이지에서는 모델 호스팅 및 예측에 대해 설명하고 프로젝트를 위해 염두에 두어야 할 고려 사항을 소개합니다.

작동 방식

AI Platform Prediction은 클라우드에서 모델을 실행하는 컴퓨팅 리소스를 관리합니다. 모델에서 예측을 요청하고 모델의 예측된 타겟 값을 얻을 수 있습니다. 다음은 클라우드에서 예측을 설정하는 프로세스입니다.

  1. AI Platform Prediction에 배포할 수 있는 아티팩트로 모델을 내보냅니다.

  2. AI Platform Prediction에서 모델 리소스를 만든 후 저장된 모델에서 모델 버전 한 개를 만듭니다.

    커스텀 예측 루틴을 배포할 경우 예측 시 실행할 코드도 제공합니다.

  3. 예측에 입력 데이터 형식을 지정하고 온라인 예측이나 일괄 예측을 요청합니다.

  4. 온라인 예측을 사용할 경우, 서비스가 저장된 모델을 실행하고 호출에 대한 응답 메시지로 요청된 예측을 반환합니다.

    • 모델 버전은 모델 생성 시 지정했던 리전에 배포됩니다.
    • 보장된 것은 아니지만 정기적으로 사용하는 모델 버전은 일반적으로 실행할 수 있는 상태로 유지됩니다.

    TensorFlow 모델에 대해서만 지원되는 배치 예측을 사용할 경우 프로세스가 약간 더 복잡해집니다.

    1. 예측 서비스는 작업 실행을 위해 리소스를 할당합니다. 여기에는 예측 노드가 하나 이상 포함됩니다.

    2. 서비스는 할당된 각 노드에서 TensorFlow 그래프를 복원합니다.

    3. 예측 서비스는 입력 데이터를 할당된 노드 전체에 배포합니다.

    4. 각 노드는 그래프를 실행하고 지정한 Cloud Storage 위치에 예측을 저장합니다.

    5. 모든 입력 데이터가 처리되면 서비스가 작업을 종료하고 해당 작업에 할당했던 리소스를 해제합니다.

모델 배포

AI Platform Prediction은 모델을 호스팅하여 클라우드의 모델에서 예측을 수행할 수 있도록 합니다. 저장된 모델을 호스팅하는 프로세스를 배포라고 합니다. 예측 서비스는 모델을 대규모로 실행하는 데 필요한 인프라를 관리하며 이를 온라인 및 일괄 예측 요청에 사용할 수 있도록 해줍니다. 이 섹션에서는 모델 배포에 대해 설명합니다.

모델 및 버전 정보

AI Platform Prediction에서는 모델버전이라는 리소스를 사용하여 학습된 모델을 구성합니다. 모델은 머신러닝 솔루션입니다. 예를 들어 census라는 모델을 만들어 미국 인구조사 머신러닝 모델의 모든 작업에 포함할 수 있습니다. 사용자가 생성한 census라는 객체는 버전이라고 하는 머신러닝 모델의 실제 구현을 위한 컨테이너입니다.

머신러닝 모델은 반복적인 프로세스를 통해 개발됩니다. 따라서 AI Platform Prediction 리소스 패러다임은 각 머신러닝 모델의 여러 버전을 만들 것이라는 가정하에 설정됩니다. AI Platform Prediction 모델 리소스는 그 자체로는 실제 머신러닝 모델이 아니므로 이 용어는 혼동을 줄 수 있습니다. AI Platform Prediction에서 모델은 머신러닝 모델 버전을 담을 컨테이너입니다.

버전 설명

AI Platform Prediction에 모델 버전으로 배포하는 '모델'은 호스팅된 프레임워크, TensorFlow, scikit-learn 또는 XGBoost를 사용한 학습을 통해 생성된 아티팩트 한 개 이상으로 구성됩니다. 클라우드에서 AI Platform Training을 사용하여 모델 학습을 수행했는지 아니면 다른 곳에서 수행했는지 여부는 중요하지 않습니다.

또한 커스텀 예측 루틴(베타)을 배포할 수도 있습니다. 이 경우 모델 버전과 함께 예측 요청을 처리하는 데 필요한 학습 아티팩트와 코드를 추가로 제공할 수 있습니다.

버전 간의 차이

지정된 모델 리소스에 대해 생성한 버전은 임의적입니다. 버전 간 머신러닝 모델을 완전하게 변경한 경우에도 동일한 모델 리소스를 사용할 수 있습니다. 모델은 상황에 따라 적합한 방식으로 활용할 수 있는 조직 도구입니다.

특히 프로덕션에서 버전을 도입한 후에 모델 버전 간에 입력과 출력을 동일하게 유지하기 위해 일반적으로 사용됩니다. 이를 통해 모델 주변에 구축했을 수 있는 다른 애플리케이션 구조를 변경할 필요 없이 버전을 전환할 수 있습니다. 또한 기존 데이터로 새 버전을 간편하게 테스트할 수 있습니다.

기본 버전

버전이 최소한 한 개 이상 있는 모든 모델에는 기본 버전이 있습니다. 첫 버전이 생성될 때 기본 버전이 설정됩니다. 모델 이름만 지정하여 예측을 요청하면 AI Platform Prediction에서는 모델의 기본 버전을 사용합니다.

버전을 처음 만들 때만 서비스에서 기본 버전을 자동으로 설정합니다. projects.models.versions.setDefault(gcloud ai-platform versions set-default로 노출되며 Google Cloud Console에서 모델 세부정보 페이지에 있는 버전 목록의 옵션으로도 노출됨)를 호출하여 이후의 버전을 기본 버전으로 직접 지정할 수 있습니다. 모델 세부정보 페이지로 이동하려면 모델 페이지의 모델 목록에서 원하는 모델을 클릭합니다. 예를 들면 이를 통해 테스트 전용 모델 리소스를 만들지 않고 최신 버전을 테스트하면서 프로덕션에서 안정적인 기본 버전을 사용하여 예측을 제공할 수 있습니다.

모델 및 버전 이름 지정

모델 및 버전 이름은 다음 조건을 충족해야 합니다.

  • 대소문자가 혼합된(대소문자 구분) 문자, 숫자, 밑줄만 포함해야 함
  • 문자로 시작함
  • 128개 미만의 문자를 포함
  • 지정된 프로젝트(모델용) 또는 모델(버전용) 내에서 고유해야 함

이러한 기술 요구 사항 외에 이름에 대한 규칙은 없지만 다음과 같은 몇 가지 권장사항이 있습니다.

  • 모델 이름은 기술적이며 고유해야 합니다. 로그나 보고서의 여러 이름 목록 중에서 해당 이름을 선택해야 할 수도 있습니다.
  • 버전 이름은 짧고 단순하게 만드는 것이 좋습니다. 예를 들어, 리소스 목록에서 '2017_01_29T13_54_58'을 찾는 것보다는 'v1'을 찾는 것이 더 쉽습니다.

모델 및 버전 제한

AI Platform Prediction 할당량 정책은 프로젝트당 모델 제한을 100개로 설정하고 모든 모델 간에 합산된 총 버전 수를 200개로 제한합니다.

모델 배포 매개변수

AI Platform 예측에서 모델 버전을 만들 때 몇 가지 정보가 필요합니다. 또한 개발자가 구성할 수 있는 옵션도 몇 가지 있습니다. 이 섹션에서는 두 유형의 매개변수를 모두 설명합니다. 이 매개변수는 Version 객체에서 정의되거나 편의를 위해 gcloud ai-platform versions create 명령어에 추가됩니다.

버전 이름
모델의 다른 버전 이름 사이에서 고유한 새 버전의 이름입니다.
설명
버전에 대한 설명을 제공할 수 있습니다. 현재 설명은 API를 사용하여 버전 정보를 가져온 경우에만 제공됩니다. gcloud 명령줄 도구나 Cloud Console을 사용할 경우에는 설명이 표시되지 않습니다.
배포 URI
저장된 모델이 저장되는 Cloud Storage 위치의 URI를 제공해야 합니다. AI Platform Prediction은 이 위치에서 모델을 가져오고 배포합니다. 이 매개변수는 gcloud ai-platform versions create 명령어에서 --origin으로 지정됩니다. 커스텀 예측 루틴(베타)을 배포하는 경우에는 저장된 모델이 아닌 사용자의 모델 버전에서 예측에 사용하는 아티팩트가 포함된 Cloud Storage 디렉터리의 URI를 제공하면 됩니다.
런타임 버전
AI Platform Prediction은 개발자가 다른 지원되는 버전을 지정하지 않는 한 안정적인 최신 런타임 버전을 사용하여 모델 버전을 배포합니다. 런타임 버전은 주로 예측 서비스가 모델을 실행하는 데 사용하는 TensorFlow 버전을 결정합니다. 일괄 예측 작업을 실행할 때 할당된 런타임 버전을 재정의할 수 있는 옵션이 있습니다. 온라인 예측은 항상 모델 버전이 배포될 때 설정된 런타임 버전을 사용합니다.
수동 확장

모델 버전에 계속 실행할 예측 노드의 수를 지정할 수 있습니다. 자세한 내용은 확장 섹션을 참조하세요.

스테이징 버킷

gcloud 명령줄 도구를 사용하여 모델을 배포할 경우 로컬 컴퓨터에서 저장된 모델을 사용할 수 있습니다. 이 도구는 AI Platform Prediction에 배포하기 전에 지정된 Cloud Storage 위치에 모델을 스테이징합니다.

예측을 위한 그래프 변경

주로 학습 맥락에서 유용했던 계산 그래프에 TensorFlow 작업을 포함시켰을 수 있습니다. 모델을 학습시켰으면 최종 버전을 내보내기 전에 그래프에서 이러한 작업을 삭제할 수 있습니다.

학습 애플리케이션 개발 페이지에서 제공되는 수많은 조언은 예측 경험을 위한 조언입니다. 경우에 따라서는 학습의 대부분이 완료되고 버전을 배포할 준비가 되었을 때 모델에 적용해야 할 변경사항이 있을 수 있습니다.

예측 수행

예측을 얻기 위해 배포된 모델 버전에 새 데이터를 전송할 수 있습니다. 다음 섹션에서는 중요한 예측 고려 사항을 설명합니다.

온라인 예측과 일괄 예측 비교

온라인 예측과 일괄 예측 간의 차이점을 알아보세요.

예측 노드 및 리소스 할당 이해

AI Platform Prediction에서는 예측에 소비되는 처리량을 노드 시간 단위로 측정합니다. 이 섹션에서는 이러한 노드를 설명하고 예측 유형별로 노드가 할당되는 방법을 설명합니다.

노드는 기존 VM과는 다른 메커니즘을 통해 구현되기는 하지만 노드를 가상 머신(VM)으로 생각하는 것이 가장 쉽습니다. 각 노드는 설정된 처리 역량 및 메모리의 양으로 프로비저닝됩니다. 또한 예측을 얻기 위해 모델을 실행하는 데 필요한 소프트웨어 설정 구성 및 운영체제 이미지도 있습니다.

온라인 예측과 일괄 예측은 모두 분산 처리로 노드를 실행하므로 지정된 요청이나 작업이 여러 노드를 동시에 사용할 수 있습니다. 시간당 요금을 사용해 분 단위로 총 노드 사용량에 대한 요금이 부과됩니다. 예를 들어 10분간 2개의 노드를 실행하면 20분간 1개의 노드를 실행하는 것과 같은 요금이 청구됩니다. 온라인 및 일괄 예측은 노드를 다르게 할당하므로 부과되는 요금에 상당한 영향을 미칠 수 있습니다.

일괄 예측용 노드 할당

일괄 예측 서비스는 사용하는 노드의 수를 확장하여 작업에 소요되는 시간을 최소화합니다. 이를 위해서 서비스는 다음을 수행합니다.

  • 시작 시 작업을 처리할 일부 노드를 할당합니다.

  • 효율성을 최적화하기 위해 작업 중에 노드 수를 확장합니다. 각 노드를 시작하는 데 시간이 걸리므로, 서비스는 경과 시간을 줄여 시작 시간을 상쇄하기에 충분한 노드만 할당하려 합니다.

  • 작업이 완료되자마자 노드를 종료합니다.

사용할 노드 최대 개수를 지정하여 일괄 예측 작업의 확장 범위를 조정할 수 있습니다. 일반적으로 서비스에서 사용하는 만큼 노드를 지정하려 하지만 노드 사용량에는 AI Platform Prediction 할당량 정책이 적용됩니다. 특히 프로젝트를 다른 사람과 공유하여 학습 및 예측 작업을 동시에 실행할 가능성이 있는 경우에는 지정된 작업에 할당된 노드 수를 제한하려 할 수 있습니다.

온라인 예측을 위한 노드 할당

온라인 예측 서비스는 사용하는 노드의 수를 확장해 지연 시간을 많이 들이지 않고 처리할 수 있는 요청의 수를 최대화합니다. 이를 위해 서비스는 다음을 수행합니다.

  • 요청을 장시간 일시중지한 후 처음으로 예측 요청 시에 일부 노드를 할당합니다.

  • 요청 트래픽에 대한 응답에 포함되는 노드 수를 확장하여 트래픽 증가 시 노드를 추가하고 요청이 줄면 삭제합니다.

  • 처리할 요청이 없더라도 요청을 처리할 수 있도록 몇 분 동안 최소한 하나 이상의 노드를 준비된 상태로 유지합니다. 준비 상태에서는 서비스가 각 예측을 즉시 제공할 수 있습니다.

  • 모델 버전이 예측 요청 없이 몇 분이 지나면 0으로 감소됩니다.

서비스가 0으로 감소된 후 또는 트래픽이 급증할 경우에는 노드가 요청을 처리하도록 초기화하는 데 시간이 걸릴 수 있습니다(몇 초에서 몇 분). 초기화 시간은 모델 버전 크기에 따라 달라지므로 클라이언트 측 시간 초과로 인해 새 노드가 초기화될 때까지 요청이 감소되거나 이 시간 동안 지연 시간이 늘어날 수 있습니다.

언제든지 즉시 노드를 제공할 수 있도록 모델 버전에서 minNodes 옵션을 설정하여 서비스가 항상 준비해야 할 최소 노드 수를 지정할 수 있습니다. 이 설정을 사용하면 예측이 제공되지 않는 경우에도 노드 요금을 지불하므로 비용이 증가할 수 있습니다.

자동 확장의 한계

온라인 예측에 AI Platform Prediction 자동 확장을 사용하면 비용을 최소화하면서도 다양한 속도로 예측 요청을 처리할 수 있습니다. 하지만 모든 상황에 적합한 것은 아닙니다. 이 서비스는 요청 트래픽이 급증할 때 온라인에서 그만큼 빠른 속도로 노드를 제공하지 못할 수 있습니다. 애플리케이션에서 트래픽이 정기적으로 급증하고 짧은 지연 시간이 안정적으로 유지되는 게 중요한 경우 수동 확장을 고려할 수 있습니다.

수동 확장 사용

트래픽과 관계없이 계속 실행할 노드의 수를 지정하여 모델 버전의 온라인 예측 확장에 영향을 줄 수 있습니다. 노드의 수를 수동으로 설정하면 실제로 확장 서비스가 중단됩니다. 이는 지정한 노드의 수가 항상 준비 상태로 유지되며 그에 따라 요금이 계속 부과된다는 의미입니다. 모델에서 수신하는 요청 수가 자동 확장으로 유지할 수 있는 것보다 더 빠르게 변동하지 않는 한 수동 확장을 사용해서는 안 됩니다. projects.models.versions.create로 전달하는 Version 객체에서 manualScaling을 설정하여 사용할 노드 수를 설정합니다.

멀티 영역 확장

버전에서 Compute Engine(N1) 머신 유형을 사용하고, 자동 확장인지 수동 확장인지에 따라 autoScaling.minNodes 또는 manualScaling.nodes를 2 이상으로 설정하는 경우 예측 노드는 동일한 리전의 여러 영역에서 실행됩니다. 따라서 한 영역에서 장애가 발생해도 지속적인 가용성이 보장됩니다.

예측 입력 데이터

예측을 얻기 위해 사용하는 데이터는 학습에 사용했던 데이터와 동일한 형태의 새로운 데이터입니다. 온라인 및 일괄 예측은 모두 동일한 데이터(모델의 특성)를 사용하지만 예측 유형과 사용되는 인터페이스에 따라 다른 형식이 필요합니다. 이러한 형식은 다음 표에 요약되어 있으며 아래 섹션에 좀 더 자세하게 설명되어 있습니다.

예측 유형 및 인터페이스 지원되는 입력 형식
API 호출을 통한 배치 예측 JSON 인스턴스 문자열 또는 TFRecord 파일(압축 가능)이 포함된 텍스트 파일
gcloud 도구를 사용한 일괄 예측 JSON 인스턴스 문자열 또는 TFRecord 파일(압축 가능)이 포함된 텍스트 파일
API 호출을 통한 온라인 예측 JSON 요청 메시지
gcloud 도구를 사용한 온라인 예측 JSON 인스턴스 문자열 또는 CSV 파일이 포함된 텍스트 파일

인스턴스 JSON 문자열

온라인 및 일괄 예측 모두 기본 형식은 인스턴스 데이터 텐서의 목록입니다. 학습 애플리케이션에서 입력을 구성한 방법에 따라 일반 값 목록 또는 JSON 객체의 멤버가 될 수 있습니다.

이 예에서는 입력 텐서와 인스턴스 키를 보여줍니다.

{"values": [1, 2, 3, 4], "key": 1}

JSON 문자열 구성은 다음 규칙을 따르는 한 복잡해도 괜찮습니다.

  • 인스턴스 데이터의 최상위 수준은 키-값 쌍의 사전인 JSON 객체여야 합니다.

  • 인스턴스 객체의 개별 값은 문자열, 숫자 또는 목록일 수 있습니다. JSON 객체를 삽입할 수 없습니다.

  • 목록에는 같은 유형의 항목만 포함되어야 합니다(다른 목록 포함). 문자열과 숫자 값을 함께 사용할 수 없습니다.

다음 문자열(가독성을 위해 형식 지정)은 라벨과 이미지를 포함하는 객체를 보여주며, 여기서 이미지는 8비트 정수의 3차원 배열입니다.

{
  "tag": "beach",
  "image": [
    [
      [138, 30, 66],
      [130, 20, 56],
      ...
    ],
    [
      [126, 38, 61],
      [122, 24, 57],
      ...
    ],
        ...
  ]
}

모델이 단일 입력만 수용하는 경우 JSON 객체로 래핑할 필요가 없습니다. 예를 들어 4개의 값을 지닌 단일 텐서(이 경우 벡터)를 보낸다면 다음과 같이 형식을 지정할 필요가 없습니다.

{"values": [1, 2, 3, 4]}

각 인스턴스를 목록 형식으로 지정하기만 하면 됩니다.

[1, 2, 3, 4]
예측 입력의 바이너리 데이터

바이너리 데이터는 JSON이 지원하는 UTF-8 인코딩된 문자열로 형식을 지정할 수 없습니다. 입력에 바이너리 데이터가 있는 경우 이 데이터를 표시하려면 base64 인코딩을 사용해야 합니다. 다음 특수 형식으로 지정해야 합니다.

  • 인코딩된 문자열 형식을 b64라는 단일 키를 사용하여 JSON 객체로 지정해야 합니다. 다음 Python 예시에서는 base64 라이브러리를 사용하여 원시 JPEG 데이터의 버퍼를 인코딩하여 인스턴스를 만듭니다.

    {"image_bytes":{"b64": base64.b64encode(jpeg_data)}}
    
  • TensorFlow 모델 코드에서 입력 및 출력 텐서의 별칭을 지정하여 '_bytes'로 끝나도록 해야 합니다.

온라인 예측 입력 데이터

온라인 예측의 입력 인스턴스를 예측 요청의 메시지 본문으로 전달합니다. 요청 및 응답 본문의 형식은 예측 요청 세부정보를 참조하세요.

요약: 각 인스턴스를 목록의 항목으로 만들고 목록 멤버 instances의 이름을 지정합니다. 위의 단순한 데이터 인스턴스 JSON의 예시는 다음과 같습니다.

{"instances": [{"values": [1, 2, 3, 4], "key": 1}]}

gcloud ai-platform projects predict를 사용하여 온라인 예측을 요청하는 경우 일괄 예측에 사용하는 것과 동일한 형식의 파일로 전달합니다.

일괄 예측 입력 데이터

위에서 설명한 바와 같이 일괄 예측의 입력 데이터는 JSON 인스턴스 데이터 행을 포함하는 하나 이상의 텍스트 파일로 제공합니다. 입력 파일에는 단순한 JSON 구문 외에 열 헤더나 기타 형식이 없습니다.

{"image": [0.0, 0.0, ... ], "key": 0}
{"image": [0.0, 0.0, ... ], "key": 1}
{"image": [0.0, 0.0, ... ], "key": 2}

인스턴스 키

AI Platform Prediction은 분산형 처리를 통해 일괄 예측 작업을 실행합니다. 즉, 데이터가 임의의 가상 머신 클러스터에 분산되어 처리 순서를 예측할 수 없습니다. 반환된 예측을 입력 인스턴스와 일치시키려면 인스턴스 키가 정의되어 있어야 합니다. 인스턴스 키는 데이터세트의 인스턴스 사이에 고유한 모든 인스턴스가 갖는 값입니다. 가장 간단한 키는 색인 번호입니다.

학습 애플리케이션에서 그래프를 통해 변경되지 않은 상태로 키를 전달해야 합니다. 데이터에 아직 인스턴스 키가 없다면 데이터 사전 처리의 일부로 추가할 수 있습니다.

런타임 버전

새 버전의 AI Platform Prediction이 출시되면 이전 버전을 기준으로 개발된 모델이 오래되어 사용할 수 없게 될 수 있습니다. 특히 오랫동안 변경되지 않은 상태로 유지된 유효 모델 버전의 경우 이러한 문제가 발생할 가능성이 높습니다. AI Platform Prediction 버전 관리 정책을 검토하고, 모델 버전 학습에 사용하는 AI Platform Prediction 런타임 버전을 알고 있어야 합니다.

런타임 버전 및 예측

모델 버전을 만들 때 지원되는 AI Platform Prediction 런타임 버전을 지정해야 합니다. 그러면 모델 버전의 기본 설정이 지정됩니다.

일괄 예측 작업 시작 시 사용할 런타임 버전을 지정할 수 있습니다. 이는 AI Platform Prediction에 배포되지 않은 모델을 사용하여 예측하는 데 적합합니다. 배포된 모델의 경우 작업 요청에서 모델의 기본 런타임 버전을 사용합니다. 다른 런타임 버전을 사용하면 예기치 않은 오류가 발생할 수 있습니다.

AI Platform Prediction 이외의 모델에서 온라인 예측을 요청할 수 없으므로 요청 시 기본 런타임 버전을 재정의할 수 있는 옵션은 없습니다.

모델 버전에 설정된 기본 런타임 버전은 변경될 수 없습니다. 모델 버전에 다른 런타임 버전을 지정하려면 처음에 사용한 것과 동일한 학습 아티팩트를 사용해 새 버전을 배포하세요.

리전 및 예측

Google Cloud에서는 여러 영역으로 하위 분할된 리전을 사용하여 실제 컴퓨팅 리소스의 지리적 위치를 정의합니다. AI Platform Prediction을 사용하는 예측 모델을 배포할 때는 예측을 실행할 기본 리전을 지정합니다.

일괄 예측 작업을 시작할 때 기본 리전을 재정의해 작업을 실행할 리전을 지정할 수 있습니다. 온라인 예측은 항상 모델에 지정된 기본 리전에서 제공됩니다.

모델 학습 및 온라인/일괄 예측을 포함하여 AI Platform Prediction 서비스에 사용할 수 있는 리전을 확인하려면 리전 가이드를 참조하세요.

예측 로깅

일괄 예측에서는 Cloud Logging에서 볼 수 있는 작업 로그를 생성합니다. 또한 모델을 만들 때 로그를 생성하도록 모델을 구성한 경우 온라인 예측 요청에 대한 로그도 가져올 수 있습니다. 한 모델의 모든 버전에서 온라인 예측에 대한 로그를 생성하는지 여부에 관계없이 AI Platform Prediction에서 모델 리소스를 만들 때 이 옵션을 지정해야 합니다.

projects.models.create로 모델을 만들 때 사용하는 모델 리소스에서 onlinePredictionLogging을 true(Python의 경우 True)로 설정하여 모델의 온라인 예측 로깅을 설정할 수 있습니다. gcloud 명령줄 도구를 사용하여 모델을 만드는 경우 gcloud ai-platform models create를 실행할 때 --enable-logging 플래그를 포함합니다.

배포되지 않은 모델에서 예측 수행

AI Platform Prediction 서비스에 배포되지 않은 모델을 사용하여 일괄 예측을 요청할 수 있습니다. 모델이나 버전 이름을 지정하는 대신 실행할 모델이 저장된 Cloud Storage 위치의 URI를 사용할 수 있습니다.

배포되지 않은 모델에는 기본 런타임 버전이 설정되어 있지 않으므로 작업 요청 시 이를 명시적으로 설정해야 합니다.

그 외에 경우에는 배포되지 않은 모델을 사용하는 일괄 예측 작업은 다른 일괄 작업과 동일하게 작동합니다.

모델 테스트

AI Platform Prediction 서비스를 사용하여 프로덕션에 있는 모델을 호스팅할 수 있지만 모델을 테스트하는 데에도 사용할 수 있습니다. 기본적으로 모델 테스트는 머신러닝 솔루션 배포를 준비하기 전에 수행하는 단계입니다. 테스트 패스의 목적은 실제 상황에서 모델이 사용될 방식과 유사한 환경에서 모델을 테스트하는 것입니다.

서비스에서 여러 버전의 모델을 동시에 배포할 수 있다는 것을 기억하세요. 이는 필요에 따라 테스트 시 한 번에 여러 버전을 이용할 수 있다는 의미입니다. 또한 다음 버전을 테스트하면서 프로덕션 버전의 모델을 배포하기도 쉽습니다. 수많은 머신러닝 애플리케이션 개발과 마찬가지로 새로운 데이터의 가용성이 제한 요소가 되는 경우가 많습니다. 보유한 데이터를 분할하고 테스트에 사용할 새 데이터를 수집하기 위한 전략을 개발해야 합니다.

다음 단계

  • 온라인 예측을 통해 새 데이터 인스턴스에서 값을 추론합니다.

  • 일괄 예측을 통해 새 데이터 인스턴스에서 값을 추론합니다.