모델 클래스

Vertex AI SDK에는 학습시킨 후 예측에 사용할 모델로 사용할 Model 클래스가 포함되어 있습니다. 또한 SDK에는 학습된 AutoML 모델에서 측정항목을 평가하는 ModelEvaluation 클래스가 포함되어 있습니다. 모델에 대한 자세한 내용은 자체 모델 학습 및 사용을 참조하세요.

Model

Model 클래스는 Vertex AI 모델 레지스트리에 등록된 학습된 모델을 나타냅니다. 학습된 모델을 사용하여 예측을 생성합니다.

aiplatform.Model() 메서드를 사용하여 모델에 대한 참조를 찾고 반환합니다. 모델 이름 또는 ID를 사용하여 모델을 지정할 수 있습니다. 한 프로젝트에서 2개 이상의 모델이 동일한 이름을 공유할 수 있기 때문에 모델 ID를 사용하여 모델을 지정하는 것이 좋습니다. 다음 코드 샘플에서는 모델 ID를 사용하여 기존 모델에 대한 참조를 찾고 참조를 반환하는 방법을 보여줍니다.

MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)

학습된 모델에 대한 참조가 있으면 Model속성메서드를 사용하여 작업하고 예측을 수행할 수 있습니다.

등록된 모델 만들기

Vertex AI 모델 레지스트리에 등록된 모델 리소스를 만들려면 학습 작업 클래스에서 run 메서드를 호출합니다. 다음 메서드는 모델을 만들고, 학습시키고, Vertex AI 모델 레지스트리에 모델을 등록한 후 모델에 대한 참조를 반환합니다.

다음 샘플 코드에서는 CustomTrainingJob 리소스를 만든 다음 해당 run 메서드를 사용하여 모델을 만들고, 모델을 학습시키고, Vertex AI 모델 레지스트리에 모델을 등록하고 모델에 대한 참조를 반환하는 방법을 보여줍니다.

# Create a custom training job using a script
job = aiplatform.CustomTrainingJob(
    display_name="my-training-job",
    script_path="task.py",
    container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
    requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
    model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)

# Create and train your model using a BigQuery dataset. The method
# returns a reference to the trained model.
model = job.run(
    dataset=dataset,
    model_display_name="my-model-name",
    bigquery_destination=f"bq://{project_id}",
    args=CMDARGS,
)

등록되지 않은 모델 만들기

Vertex AI 모델 레지스트리에 등록되지 않은 모델을 만들려면 CustomJob 클래스와 run 메서드를 사용합니다. CustomJob.run 메서드는 모델을 학습시키지만 Vertex AI 모델 레지스트리에 모델을 등록하지 않으며 모델에 대한 참조를 반환하지 않습니다.

CustomJob 클래스를 사용할 경우 스크립트를 사용하여 모델을 Cloud Storage 버킷과 같은 위치에 써야 합니다. 자세한 내용은 학습된 ML 모델 내보내기를 참조하세요.

모델 등록

Vertex AI 모델 레지스트리에 등록되지 않은 모델이 있는 경우 모델의 수명 주기를 관리할 수 있도록 모델을 등록해야 합니다. Vertex AI 모델 레지스트리는 모델을 관리할 수 있도록 모델 개요를 제공하는 중앙 저장소입니다. 자세한 내용은 Vertex AI 모델 레지스트리 소개를 참조하세요.

Vertex AI SDK에는 모델을 Vertex AI 모델 레지스트리로 가져오는 다음 메서드가 포함되어 있습니다. 방법 중 하나를 클릭하여 Vertex AI SDK 참조 가이드에서 자세히 알아보세요.

모델 배포

모델을 등록한 후에는 엔드포인트에 모델을 배포해야 예측에 사용할 수 있습니다. Model.deploy 메서드를 사용하여 Endpoint에 모델을 배포합니다. 자세한 내용은 엔드포인트에 모델 배포를 참조하세요.

ModelEvaluation

ModelEvaluation 클래스를 사용하여 정밀도 및 재현율과 같은 AutoML 모델에 대한 평가 측정항목을 가져오고 모델의 성능을 결정하는 데 도움을 줄 수 있습니다. 자세한 내용은 Vertex AI의 모델 평가를 참조하세요.

다음 코드 샘플은 프로젝트 ID가 my-project이고 us-central1 리전에 있는 모델 ID가 model-id인 모델에 대한 모든 평가를 나열하는 방법을 보여줍니다.

model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')

evaluations = model.list_model_evaluations()

다음 코드 샘플은 프로젝트 ID가 my-project인 프로젝트에 있고 us-central1 리전에 있는 프로젝트의 모델 ID가 model-id인 모델에 대한 모델 평가를 가져오는 방법을 보여줍니다.

model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')

# Return the first evaluation with no arguments. You can also specify a model
# using its model ID.
evaluation = model.get_model_evaluation()

eval_metrics = evaluation.metrics

모델 평가에 대한 참조를 만들려면 리소스 이름 또는 모델 ID와 평가 ID를 사용합니다. 다음 코드 샘플은 리소스 이름을 사용하여 모델 평가에 대한 참조를 만드는 방법을 보여줍니다.

evaluation = aiplatform.ModelEvaluation(
  evaluation_name='projects/my-project/locations/us-central1/
    models/{model-id}/evaluations/{evaluation-id}')

eval_metrics = evaluation.metrics

다음 코드 샘플은 모델 ID와 평가 ID를 사용하여 모델 평가에 대한 참조를 만드는 방법을 보여줍니다.

evaluation.metrics = aiplatform.ModelEvaluation(
  evaluation_name={evaluation-id},
  model_id={model-id})

eval_metrics = evaluation.metrics

다음 단계