추적 클래스

Python용 Vertex AI SDK에는 시각화, 측정, 추적을 지원하는 클래스가 포함되어 있습니다. 이러한 클래스는 다음 세 가지 유형으로 그룹화할 수 있습니다.

  • 메타데이터를 사용하여 머신러닝(ML) 워크플로의 리소스를 추적하는 클래스
  • Vertex AI 실험에 사용되는 클래스
  • Vertex AI TensorBoard에 사용되는 클래스

다음 주제에서는 Python용 Vertex AI SDK에서 ML 워크플로를 추적하고 모니터링하는 것과 관련된 클래스를 간략하게 설명합니다.

메타데이터 클래스

Python용 Vertex AI SDK를 사용하여 ML 워크플로에서 메타데이터를 추적하고 분석하는 데 도움이 되는 Vertex ML 메타데이터를 만들 수 있습니다. 자세한 내용은 Vertex ML 메타데이터 소개를 참조하세요.

Artifact

Artifact 클래스는 Vertex AI의 아티팩트에서 메타데이터를 나타냅니다. 아티팩트는 ML 워크플로에서 생성되는 개별 항목 또는 데이터 조각입니다. 아티팩트의 예시로는 데이터 세트, 모델, 입력 파일이 있습니다. 자세한 내용은 실행 및 아티팩트 추적을 참조하세요.

Artifact 리소스를 만들 때 스키마를 지정해야 합니다. 아티팩트 유형마다 고유한 스키마가 있습니다. 예를 들어 system.Dataset 스키마는 데이터 세트를 나타내고 system.Metrics 스키마는 평가 측정항목을 나타냅니다. 자세한 내용은 시스템 스키마 사용 방법을 참조하세요.

다음 샘플 코드는 모델을 나타내는 Artifact 리소스를 만드는 방법을 보여줍니다.

model_artifact = aiplatform.Artifact.create(
        schema_title="system.Model",
        display_name=PREPROCESSED_DATASET_NAME,
        uri=PREPROCESSED_DATASET_URI,

Execution

Execution 클래스는 Vertex AI에서 실행의 메타데이터를 나타냅니다. 실행은 ML 워크플로의 한 단계입니다. 실행의 예시로는 데이터 처리, 학습, 모델 평가가 있습니다. 실행은 데이터 세트와 같은 아티팩트를 사용하고 모델과 같은 아티팩트를 생성할 수 있습니다.

aiplatform.start_execution을 사용하여 Execution 리소스를 만듭니다. Execution 리소스를 만든 후 resume 매개변수가 True로 설정된 동일한 aiplatform.start_execution 메서드를 사하여 재개합니다.

다음 샘플 코드에서는 Execution 리소스를 만드는 방법을 보여줍니다.

with aiplatform.start_execution(schema_title='system.ContainerExecution',
                                display_name='trainer') as execution:
    execution.assign_input_artifacts([my_artifact])
    model = aiplatform.Artifact.create(uri='gs://my-uri', schema_title='system.Model')
    execution.assign_output_artifacts([model])

Vertex AI 실험 클래스

Python용 Vertex AI SDK를 사용하여 Vertex AI 실험을 만들고 실행할 수 있습니다. Vertex AI 실험을 사용하여 ML 워크플로를 분석하고 최적화하는 데 도움이 되는 로깅된 측정항목 및 매개변수를 추적합니다. 자세한 내용은 Vertex AI 실험 소개를 참조하세요.

ExperimentExperimentRun 클래스를 사용하는 방법에 대한 자세한 내용은 다음 튜토리얼 중 하나를 참조하세요.

Experiment

Experiment 클래스는 Vertex AI의 실험을 나타냅니다. 실험을 사용하여 여러 입력 아티팩트, 초매개변수와 같이 다양한 구성으로 실험 실행파이프라인 실행을 분석합니다.

Experiment 리소스를 만드는 방법에는 두 가지가 있습니다.

  1. Experiment를 만드는 가장 좋은 방법은 aiplatform.init를 호출할 때 실험 이름을 매개변수로 지정하는 것입니다.

    # In a real world scenario it's likely you would specify more parameters
    # when you call aiplatform.init. This sample shows only how to use the
    # parameter used to create an Experiment.
    
    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    
    # Create the experiment
    aiplatform.init(experiment=EXPERIMENT_NAME)
    
  2. aiplatform.Experiment.create를 호출하여 Experiment를 만들 수도 있습니다. aiplatform.Experiment.createExperiment 리소스를 만들지만 전역 환경으로 설정하지 않습니다. 따라서 aiplatform.start_run으로 실험을 실행할 수 없습니다. 다음 샘플 코드는 aiplatform.Experiment.create를 사용하여 실험을 만든 다음 실험을 실행하는 방법을 보여줍니다.

    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    EXPERIMENT_RUN_NAME = "your-run"
    
    # Create the experiment
    experiment = aiplatform.Experiment.create(experiment_name=EXPERIMENT_NAME)
    experiment_run = aiplatform.ExperimentRun.create(EXPERIMENT_RUN_NAME, experiment=EXPERIMENT_NAME)
    

ExperimentRun

ExperimentRun 클래스는 실험 실행을 나타냅니다.

다음 샘플 코드는 실험 실행을 만들고 시작한 후 이를 사용하여 실험에 대한 정보를 가져오는 방법을 보여줍니다. 실험 실행을 삭제하려면 ExperimentRun 인스턴스에 대한 참조를 가져오고 delete 메서드를 호출합니다.

# Specify your project name, location, experiment name, and run name
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
EXPERIMENT_NAME = "experiment-1"
RUN_NAME = "run-1"

# Create the experiment to run
aiplatform.init(experiment_name=EXPERIMENT_NAME,
                project=PROJECT_NAME,
                location=LOCATION)

# Create and run an ExperimentRun resource. Next, you can use it to get
# information about your experiment. For example, you can log parameters and
# metrics with specified key-value pairs.
with aiplatform.start_run(RUN_NAME):
     aiplatform.log_params({'learning_rate': 0.1, 'dropout_rate': 0.2})
     aiplatform.log_metrics({'accuracy': 0.9, 'recall': 0.8})

# Get a reference to the ExperimentRun resource, get the parameters logged to
# the run, get the summary metrics logged to the run, then delete it.
with aiplatform.start_run(RUN_NAME, resume=True) as run:
     run.get_params()
     run.get_metrics()
     run.delete()

Vertex AI TensorBoard 클래스

Python용 Vertex AI SDK에는 오픈소스 Vertex AI 텐서보드의 관리형 버전으로 작동하는 클래스가 포함되어 있습니다. Vertex AI TensorBoard는 ML 워크플로 중에 측정 및 시각화를 모니터링하는 데 사용되는 도구입니다. 자세한 내용은 Vertex AI TensorBoard 시작하기를 참조하세요.

Python용 Vertex AI SDK를 사용하여 Vertex AI TensorBoard를 사용하는 방법을 자세히 알아보려면 다음 노트북 튜토리얼 중 하나를 사용해 보세요.

Tensorboard

Tensorboard 클래스는 Vertex AI TensorBoard 실험을 저장하는 관리형 리소스를 나타냅니다. 실험을 시각화하려면 먼저 Tensorboard 인스턴스를 만들어야 합니다. Google Cloud 프로젝트에서 Tensorboard 인스턴스를 두 개 이상 만들 수 있습니다.

다음 샘플 코드는 Tensorboard 인스턴스를 만드는 방법을 보여줍니다.

# Specify your project name, location, and the name of your Tensorboard
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
TENSORBOARD_NAME = "my-tensorboard"

aiplatform.init(project=PROJECT_NAME, location=LOCATION)

tensorboard = aiplatform.Tensorboard.create(
    display_name=TENSORBOARD_NAME,
    project=PROJECT_NAME,
    location=LOCATION,
)

TensorboardExperiment

TensorboardExperimentTensorboardRun 객체 그룹을 나타냅니다. TensorboardRun 인스턴스는 텐서보드에서 실행된 학습 작업 결과를 나타냅니다.

TensorboardRun

TensorboardRun 클래스의 인스턴스는 지정된 초매개변수 집합, 모델 정의, 데이터 세트 등을 사용하여 텐서보드에서 실행되는 학습 작업에 매핑됩니다.

TensorboardTimeSeries

TensorboardTimeSeries 클래스는 학습 실행에서 생성된 시리즈를 나타냅니다.

다음 단계