커스텀 학습을 수행할 때 Vertex AI에서 실행할 머신러닝(ML) 코드를 지정해야 합니다. 이렇게 하려면 커스텀 컨테이너 또는 사전 빌드된 컨테이너에서 실행되는 Python 학습 애플리케이션의 학습 컨테이너 설정을 구성합니다.
커스텀 컨테이너 또는 사전 빌드된 컨테이너를 사용할지 결정하려면 학습 코드 요구사항을 참조하세요.
이 문서에서는 위의 사례 중 하나에서 지정해야 하는 Vertex AI API의 필드를 설명합니다.
컨테이너 설정을 지정하는 위치
WorkerPoolSpec 내에 구성 세부정보를 지정합니다. 커스텀 학습을 수행하는 방법에 따라 이 WorkerPoolSpec을 다음 API 필드 중 하나에 넣습니다.
CustomJob리소스를 만드는 경우CustomJob.jobSpec.workerPoolSpecs에WorkerPoolSpec을 지정합니다.Google Cloud CLI를 사용하는 경우
gcloud ai custom-jobs create명령어에서--worker-pool-spec플래그 또는--config플래그를 사용하여 작업자 풀 옵션을 지정할 수 있습니다.CustomJob만들기에 대해 자세히 알아보세요.HyperparameterTuningJob리소스를 만드는 경우HyperparameterTuningJob.trialJobSpec.workerPoolSpecs에WorkerPoolSpec을 지정합니다.gcloud CLI를 사용하는 경우
gcloud ai hpt-tuning-jobs create명령어에--config플래그를 사용하여 작업자 풀 옵션을 지정할 수 있습니다.HyperparameterTuningJob만들기에 대해 자세히 알아보세요.하이퍼파라미터 조정 없이
TrainingPipeline리소스를 만드는 경우TrainingPipeline.trainingTaskInputs.workerPoolSpecs에WorkerPoolSpec을 지정합니다.커스텀
TrainingPipeline만들기에 대해 자세히 알아보세요.하이퍼파라미터 조정으로
TrainingPipeline을 만드는 경우TrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs에WorkerPoolSpec을 지정합니다.
분산 학습을 수행하는 경우 각 작업자 풀에 서로 다른 설정을 사용할 수 있습니다.
컨테이너 설정 구성
사전 빌드된 컨테이너 또는 커스텀 컨테이너를 사용하는지 여부에 따라 WorkerPoolSpec에 다른 필드를 지정해야 합니다. 시나리오를 위한 탭을 선택합니다.
사전 빌드된 컨테이너
학습에 사용할 ML 프레임워크를 지원하는 사전 빌드된 컨테이너를 선택합니다.
pythonPackageSpec.executorImageUri필드에 컨테이너 이미지 URI 중 하나를 지정합니다.pythonPackageSpec.packageUris필드에 Python 학습 애플리케이션의 Cloud Storage URI를 지정합니다.pythonPackageSpec.pythonModule필드에서 학습 애플리케이션의 진입점 모듈을 지정합니다.원하는 경우
pythonPackageSpec.args필드에서 학습 애플리케이션의 진입점 모듈에 전달할 명령줄 인수 목록을 지정합니다.
다음 예시에서는 CustomJob을 만들 때 이러한 컨테이너 설정을 지정하는 위치를 보여줍니다.
콘솔
Google Cloud 콘솔에서는 CustomJob을 직접 만들 수 없습니다. 하지만 CustomJob을 만드는 TrainingPipeline을 만들 수 있습니다. Google Cloud 콘솔에서 TrainingPipeline을 만들 때 학습 컨테이너 단계의 특정 필드에 사전 빌드된 컨테이너 설정을 지정할 수 있습니다.
pythonPackageSpec.executorImageUri: 모델 프레임워크 및 모델 프레임워크 버전 드롭다운 목록을 사용합니다.pythonPackageSpec.packageUris: 패키지 위치 필드를 사용합니다.pythonPackageSpec.pythonModule: Python 모듈 필드를 사용합니다.pythonPackageSpec.args: 인수 필드를 사용합니다.
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--python-package-uris=PYTHON_PACKAGE_URIS \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE
자세한 내용은 CustomJob 만들기 가이드를 참조하세요.
커스텀 컨테이너
containerSpec.imageUri필드에 커스텀 컨테이너의 Artifact Registry 또는 Docker Hub URI를 지정합니다.원하는 경우 컨테이너의
ENTRYPOINT또는CMD안내를 재정의하려면containerSpec.command또는containerSpec.args필드를 지정합니다. 이러한 필드는 컨테이너가 다음 규칙에 따라 실행되는 방식에 영향을 줍니다.둘 다 지정하지 않은 경우: 컨테이너가
ENTRYPOINT안내와CMD안내(있는 경우)에 따라 실행됩니다.CMD와ENTRYPOINT의 상호작용 방식에 대한 Docker 문서를 참조하세요.containerSpec.command만 지정하는 경우: 컨테이너가ENTRYPOINT안내 대신containerSpec.command값으로 실행됩니다. 컨테이너에CMD명령어가 있는 경우 무시됩니다.containerSpec.args만 지정하는 경우:CMD안내 대신containerSpec.args값으로ENTRYPOINT안내에 따라 컨테이너가 실행됩니다.두 필드 모두 지정하는 경우: 컨테이너가
ENTRYPOINT안내 대신containerSpec.command로,CMD안내 대신containerSpec.args로 실행됩니다.
다음 예시에서는 CustomJob을 만들 때 이러한 컨테이너 설정 중 일부를 지정할 수 있는 위치를 보여줍니다.
콘솔
Google Cloud 콘솔에서는 CustomJob을 직접 만들 수 없습니다. 하지만 CustomJob을 만드는 TrainingPipeline을 만들 수 있습니다. Google Cloud 콘솔에서 TrainingPipeline을 만들 때 학습 컨테이너 단계의 특정 필드에 커스텀 컨테이너 설정을 지정할 수 있습니다.
containerSpec.imageUri: 컨테이너 이미지 필드를 사용합니다.containerSpec.command: 이 API 필드는Google Cloud 콘솔에서 구성할 수 없습니다.containerSpec.args: 인수 필드를 사용합니다.
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI
Java
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Vertex AI Java API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vertex AI Node.js API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 참조하세요.
자세한 내용은 CustomJob 만들기 가이드를 참조하세요.
다음 단계
CustomJob을 만들어 커스텀 학습을 수행하는 방법 알아보기