모델 및 작업 관리

모델을 학습시키고 배포하여 예측을 수행하는 동안 Google Cloud Platform의 리소스를 관리해야 합니다. 이 페이지에서는 모델, 버전, 작업의 작동 방식을 설명합니다.

AI Platform Training 리소스 이름 지정

작업을 만들 때는 항상 이름을 지정해야 합니다. 이름 지정 규칙은 3가지 유형의 리소스에서 모두 동일합니다. 각 이름은 다음 규칙을 준수해야 합니다.

  • 문자, 숫자, 밑줄만 사용할 수 있습니다.
  • 대소문자를 구분합니다.
  • 문자로 시작해야 합니다.
  • 128자(영문 기준) 이하여야 합니다.
  • 네임스페이스(모델 및 작업의 경우 프로젝트, 버전의 경우 상위 모델) 내에서 고유해야 합니다.

작업 로그와 같은 리소스 목록에서 쉽게 구별할 수 있는 이름을 지정해야 합니다. 다음은 몇 가지 권장사항입니다.

  • 모델 이름과 작업 색인(작업 생성 시의 타임스탬프가 적합)을 사용하는 동일한 모델의 모든 작업 이름을 지정합니다.
  • 모델이 사용하는 데이터세트에서 쉽게 식별할 수 있도록 모델 이름을 지정합니다(예를 들어 일반적으로 my_new_model보다 census_wide_deep이 더 적합).
  • 버전은 쉽게 읽을 수 있는 이름으로 지정하는 것이 좋습니다. 타임스탬프나 이와 비슷한 고유한 값 대신 간단한 버전 지정자(예: v1)를 사용하는 것이 좋습니다.

작업 관리

AI Platform Training은 학습과 일괄 예측 등 두 가지 유형의 작업을 지원합니다. 각 유형의 세부 내용은 다르지만 기본 작업은 동일합니다.

다음 표에는 작업에 대한 요약과 이를 수행하는 데 사용할 인터페이스 목록이 나와 있습니다.

작업 인터페이스 참고
create projects.jobs.create

작업 만들기에 대한 자세한 내용은 학습일괄 예측 가이드를 참조하세요.

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

콘솔 구현 없음
cancel projects.jobs.cancel

실행 중인 작업 취소

gcloud ai-platform jobs cancel

작업 세부정보 페이지에서 취소
get projects.jobs.get 제공되는 정보는 Jobs 리소스 참조에 설명되어 있습니다.

gcloud ai-platform jobs describe

작업 세부정보 페이지(작업 목록의 링크를 통해 이동)
list projects.jobs.list

gcloud ai-platform jobs list

작업 목록

비동기 작업 처리

대부분의 AI Platform Training 리소스 관리 작업은 최대한 빨리 반환되며 완전한 응답을 제공합니다. 그러나 작업 및 장기 실행 작업이라는 두 가지 종류의 비동기 작업을 이해하고 있어야 합니다.

일반적으로 비동기 작업을 시작할 때는 완료 시점을 파악해 두는 것이 좋습니다. 상태를 가져오는 프로세스는 작업 및 장기 실행 작업에 따라 다릅니다.

작업 상태 가져오기

projects.jobs.get을 사용하여 작업 상태를 가져올 수 있습니다. 이 메서드는 gcloud ai-platform jobs describe 및 Google Cloud Console의 작업 페이지에서도 제공됩니다. 상태를 가져오는 방법과 관계없이 가져온 정보는 작업 리소스의 구성원을 기반으로 합니다. 응답의 Job.state가 다음 값 중 하나와 같으면 작업이 완료된 것입니다.

  • SUCCEEDED
  • FAILED
  • CANCELLED

장기 실행 작업 상태 가져오기

AI Platform 학습에는 3가지 장기 실행 작업이 있습니다.

  • 버전 만들기
  • 모델 삭제
  • 버전 삭제

장기 실행 작업 중 버전 만들기 작업은 완료하는 데 많은 시간이 걸릴 수 있는 유일한 작업입니다. 일반적으로 모델 및 버전 삭제는 거의 실시간으로 완료됩니다.

gcloud 명령줄 도구 또는 Cloud Console을 사용하여 버전을 만들 경우 작업이 완료되면 인터페이스에 자동으로 알림이 표시됩니다. API를 사용하여 버전을 만들면 작업 상태를 직접 추적할 수 있습니다.

  1. projects.models.versions.create 호출에 대한 응답에 포함된 작업 객체에서 서비스 할당 작업 이름을 가져옵니다. 이름 값의 키는 "name"입니다.

  2. projects.operations.get을 사용하여 작업 상태를 주기적으로 폴링합니다.

    1. 첫 번째 단계에서 가져온 작업 이름을 사용하여 다음과 같은 형식의 이름 문자열을 만듭니다.

      'projects/my_project/operations/operation_name'
      

      응답 메시지에는 작업 객체가 포함됩니다.

    2. "done" 키의 값을 가져옵니다. 이 값은 작업 완료를 나타내는 부울 표시기입니다. 작업이 완료되면 이 값은 true입니다.

  3. 완료되면 작업 객체에 다음 두 가지 키 중 하나가 포함됩니다.

    • 작업이 성공하면 "response" 키가 표시됩니다. 값은 google.protobuf.Empty여야 합니다. 응답 객체가 있는 AI Platform Training 장기 실행 작업은 없기 때문입니다.

    • 오류가 발생하면 "error" 키가 표시됩니다. 값은 상태 객체입니다.

다음 단계