추적 클래스

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

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

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

메타데이터 클래스

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

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 Experiments 클래스

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

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 텐서보드 클래스

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

Vertex AI SDK for Python을 사용하여 Vertex AI 텐서보드로 작업하는 방법에 대한 자세한 내용은 다음 노트북 튜토리얼 중 하나를 시도해 보세요.

Tensorboard

Tensorboard 클래스는 Vertex AI 텐서보드 실험을 저장하는 관리형 리소스를 나타냅니다. 실험을 시각화하려면 먼저 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 클래스는 학습 실행에서 생성된 시리즈를 나타냅니다.

다음 단계