모델을 학습시키고 배포하여 예측을 수행하는 동안 Google Cloud Platform의 리소스를 관리해야 합니다. 이 페이지에서는 모델, 버전, 작업의 작동 방식을 설명합니다.
AI Platform Prediction 리소스 이름 지정
작업을 만들 때는 항상 이름을 지정해야 합니다. 이름 지정 규칙은 3가지 유형의 리소스에서 모두 동일합니다. 각 이름은 다음 규칙을 준수해야 합니다.
- 문자, 숫자, 밑줄만 사용할 수 있습니다.
- 대소문자를 구분합니다.
- 문자로 시작해야 합니다.
- 128자(영문 기준) 이하여야 합니다.
- 네임스페이스(모델 및 작업의 경우 프로젝트, 버전의 경우 상위 모델) 내에서 고유해야 합니다.
작업 로그와 같은 리소스 목록에서 쉽게 구별할 수 있는 이름을 지정해야 합니다. 다음은 몇 가지 권장사항입니다.
- 모델 이름과 작업 색인(작업 생성 시의 타임스탬프가 적합)을 사용하는 동일한 모델의 모든 작업 이름을 지정합니다.
- 모델이 사용하는 데이터세트에서 쉽게 식별할 수 있도록 모델 이름을 지정합니다(예를 들어 일반적으로
my_new_model
보다census_wide_deep
이 더 적합). - 버전은 쉽게 읽을 수 있는 이름으로 지정하는 것이 좋습니다. 타임스탬프나 이와 비슷한 고유한 값 대신 간단한 버전 지정자(예:
v1
)를 사용하는 것이 좋습니다.
모델 관리
AI Platform Prediction의 모델 리소스는 머신러닝 모델을 개별적으로 구현하는 데 사용되는 논리적 컨테이너입니다. 할당이나 유지보수에 필요한 복잡한 작업이나 추가 리소스가 없으므로 작업하기에 가장 간단한 리소스입니다.
다음 표에는 모델 작업에 대한 요약과 이를 수행하는 데 사용할 인터페이스 목록이 나와 있습니다.
작업 | 인터페이스 | 참고 |
---|---|---|
create |
projects.models.create
|
|
gcloud
ai-platform models create
|
||
AI Platform Prediction 모델 페이지에서 모델 만들기 | ||
delete |
projects.models.delete
|
모델 삭제는 장기 실행 작업입니다. 모델에 연결된 버전이 없어야 삭제할 수 있습니다. |
gcloud
ai-platform models delete
|
||
모델 목록 또는 모델 세부정보 페이지에서 삭제 | ||
get |
projects.models.get
|
제공되는 정보는 |
gcloud
ai-platform models describe
|
||
모델 세부정보 페이지(모델 목록에서 링크를 통해 이동) | ||
list |
projects.models.list
|
|
gcloud
ai-platform models list
|
||
AI Platform Prediction 모델 페이지 |
버전 관리
버전은 모델의 특정한 반복 작업입니다. 모델 버전의 핵심은 텐서플로우 저장된 모델입니다.
다음 표에는 버전 작업에 대한 요약과 이를 수행하는 데 사용할 인터페이스 목록이 나와 있습니다.
작업 | 인터페이스 | 참고 |
---|---|---|
create |
projects.models.versions.create
|
버전 만들기는 저장된 모델을 AI Platform Prediction으로 배포하는 작업입니다. 자세한 내용은 모델 배포 가이드를 참조하세요. |
gcloud
ai-platform versions create
|
||
모델 세부정보 페이지(모델 목록에서 링크를 통해 이동)에서 버전 만들기 | ||
delete |
projects.models.versions.delete
|
버전 삭제는 장기 실행 작업입니다. 모델의 기본 버전을 삭제하려면 모델에 할당된 다른 버전이 있어야 합니다. |
gcloud
ai-platform versions delete
|
||
모델 세부정보 페이지의 버전 목록에서 삭제 | ||
get |
projects.models.versions.get
|
제공되는 정보는 |
gcloud
ai-platform versions describe
|
||
버전 세부정보 페이지(모델 세부정보 페이지의 버전 목록에서 링크를 통해 이동) | ||
list |
projects.models.versions.list
|
|
gcloud
ai-platform versions list
|
||
모델 세부정보 페이지의 버전 목록 | ||
setDefault |
projects.models.versions.setDefault
|
모델에 새 기본 버전을 할당할 수 있는 유일한 방법입니다. 첫 번째 버전 이후 버전을 만들어도 새 버전이 기본 버전으로 전환되지 않습니다. |
gcloud
ai-platform versions set-default
|
||
모델 세부정보 페이지의 버전 목록에서 기본값으로 설정 |
작업 관리
AI Platform Prediction은 학습과 일괄 예측 등 두 가지 유형의 작업을 지원합니다. 각 유형의 세부 내용은 다르지만 기본 작업은 동일합니다.
다음 표에는 작업에 대한 요약과 이를 수행하는 데 사용할 인터페이스 목록이 나와 있습니다.
작업 | 인터페이스 | 참고 |
---|---|---|
create |
projects.jobs.create
|
|
콘솔 구현 없음 | ||
취소 |
projects.jobs.cancel
|
실행 중인 작업 취소 |
작업 세부정보 페이지에서 취소 | ||
get |
projects.jobs.get
|
제공되는 정보는 Jobs 리소스 참조에 설명되어 있습니다. |
작업 세부정보 페이지(작업 목록의 링크를 통해 이동) | ||
list |
projects.jobs.list
|
최근 90일 동안 만든 작업만 표시됩니다. |
작업 목록 |
비동기 작업 처리
대부분의 AI Platform Prediction 리소스 관리 작업은 최대한 빨리 반환되며 완전 응답을 제공합니다. 그러나 작업 및 장기 실행 작업이라는 두 가지 유형의 비동기 작업에 대해 이해하고 있어야 합니다.
일반적으로 비동기 작업을 시작할 때는 완료 시점을 파악해 두는 것이 좋습니다. 상태를 가져오는 프로세스는 작업 및 장기 실행 작업에 따라 다릅니다.
작업 상태 가져오기
projects.jobs.get을 사용하여 작업 상태를 가져올 수 있습니다. 이 메서드는 gcloud ai-platform jobs describe
및 Google Cloud Console의 작업 페이지에서도 제공됩니다. 상태를 가져오는 방법과 관계없이 가져온 정보는 작업 리소스의 구성원을 기반으로 합니다. 응답의 Job.state
가 다음 값 중 하나와 같으면 작업이 완료된 것입니다.
SUCCEEDED
FAILED
CANCELLED
장기 실행 작업 상태 가져오기
AI Platform 예측에는 3가지 장기 실행 작업이 있습니다.
- 버전 만들기
- 모델 삭제
- 버전 삭제
장기 실행 작업 중 버전 만들기 작업은 완료하는 데 많은 시간이 걸릴 수 있는 유일한 작업입니다. 일반적으로 모델 및 버전 삭제는 거의 실시간으로 완료됩니다.
Google Cloud CLI 또는 Google Cloud Console을 사용하여 버전을 만들 경우 작업이 완료되면 인터페이스에서 자동으로 알려줍니다. API를 사용하여 버전을 만들면 작업 상태를 직접 추적할 수 있습니다.
projects.models.versions.create 호출에 대한 응답에 포함된 작업 객체에서 서비스 할당 작업 이름을 가져옵니다. 이름 값의 키는
"name"
입니다.projects.operations.get을 사용하여 작업 상태를 주기적으로 폴링합니다.
첫 번째 단계에서 가져온 작업 이름을 사용하여 다음과 같은 형식의 이름 문자열을 만듭니다.
'projects/my_project/operations/operation_name'
응답 메시지에는 작업 객체가 포함됩니다.
"done"
키의 값을 가져옵니다. 이 값은 작업 완료를 나타내는 부울 표시기입니다. 작업이 완료되면 이 값은 true입니다.
완료되면 작업 객체에 다음 두 가지 키 중 하나가 포함됩니다.
작업이 성공하면
"response"
키가 표시됩니다. 값은 google.protobuf.Empty입니다. 응답 객체가 있는 AI Platform Prediction 장기 실행 작업이 없기 때문입니다.오류가 발생하면
"error"
키가 표시됩니다. 값은 상태 객체입니다.
다음 단계
- 모델 학습
- 리소스 구성에 라벨을 사용하는 방법 알아보기