Vertex AI 텐서보드 시작하기

실험을 시각화하려면 먼저 Vertex AI 텐서보드 실험을 저장하는 리전화된 리소스인 Vertex AI 텐서보드 인스턴스가 있어야 합니다. 한 프로젝트(예: 수동으로 생성되거나 실험 SDK에서 생성된 기본)에서 인스턴스를 여러 개 만들 수 있습니다.

Vertex AI 텐서보드 인스턴스 만들기

Python용 Vertex AI SDK

Python용 Vertex AI SDK를 사용하여 Vertex AI 텐서보드 인스턴스를 만듭니다.

Python용 Vertex AI SDK

def create_tensorboard_sample(
    project: str,
    location: str,
    display_name: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

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

    aiplatform.init(
        project=project,
        location=location,
        experiment_tensorboard=tensorboard
    )

    return tensorboard

  • project: 프로젝트 ID입니다. 이러한 ID는 Google Cloud 콘솔 시작 페이지에서 찾을 수 있습니다.
  • display_name: 텐서보드 인스턴스의 이름을 지정합니다.
  • location: 사용 가능한 위치 목록을 참조하세요. 텐서보드 인스턴스를 만드는 경우 텐서보드를 지원하는 리전을 사용해야 합니다.

Google Cloud 콘솔

Google Cloud 콘솔을 사용하여 Vertex AI 텐서보드 인스턴스를 만들려면 다음 단계를 수행합니다.

  1. Vertex AI를 처음 사용하거나 새 프로젝트를 시작하는 경우 프로젝트 및 개발 환경을 설정합니다.
  2. Google Cloud 콘솔의 Vertex AI 섹션에서 실험 페이지로 이동합니다.

    실험 페이지로 이동.
  3. 텐서보드 인스턴스 탭으로 이동합니다.
  4. 페이지 상단의 만들기를 클릭합니다.
  5. 리전 드롭다운 목록에서 리전을 선택합니다.
  6. 설명을 추가합니다. (선택사항)
  7. 만들기를 클릭하여 텐서보드 인스턴스를 만듭니다.

텐서보드 인스턴스 만들기

gcloud CLI

Google Cloud CLI를 사용하여 Vertex AI 텐서보드 인스턴스를 만듭니다.
  1. gcloud CLI 설치
  2. gcloud init을 실행하여 Google Cloud CLI를 초기화합니다.
  3. 설치를 확인하려면 명령어를 살펴봅니다.
     gcloud ai tensorboards --help 

    명령어에는 create, describe, list, delete가 포함됩니다. 필요한 경우 다음 단계를 따라 계속하기 전에 프로젝트와 리전의 기본값을 설정할 수 있습니다.
    이제 Vertex AI 텐서보드 인스턴스를 만들 수 있습니다.
  4. gcloud CLI에 인증합니다.
    gcloud auth application-default login
  5. 프로젝트 이름과 표시 이름을 제공하여 Vertex AI 텐서보드 인스턴스를 만듭니다. 프로젝트에서 이 단계를 처음 완료하는 데 몇 분 정도 걸릴 수 있습니다. 다음 명령어 끝에서 출력되는 Vertex AI 텐서보드 인스턴스 이름(예: projects/123/locations/us-central1/tensorboards/456)을 기록합니다. 이후 단계에서 필요합니다.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
         --project PROJECT_NAME
       

    다음을 바꿉니다.
    • PROJECT_NAME: 텐서보드 인스턴스를 만들려는 프로젝트
    • DISPLAY_NAME: 텐서보드 인스턴스를 설명하는 이름


텐서보드 로그

Vertex AI 텐서보드는 텐서보드 로그를 업로드할 수 있도록 Google Cloud CLI 및 Python용 Vertex AI SDK를 제공합니다. Google Cloud에 연결할 수 있는 모든 환경에서 로그를 업로드할 수 있습니다.

가상 환경 만들기(선택사항)

선택사항이지만 권장되는 첫 번째 단계:

  1. Vertex AI 텐서보드 업로더 Python CLI를 설치할 전용 가상 환경을 만듭니다.
python3 -m venv PATH/TO/VIRTUAL/ENVIRONMENT
source PATH/TO/VIRTUAL/ENVIRONMENT/bin/activate
  1. PATH/TO/VIRTUAL/ENVIRONMENT를 전용 가상 환경 경로로 바꿉니다.

Vertex AI SDK를 통해 Vertex AI 텐서보드 패키지 설치

업로더가 제대로 설치되려면 최신 버전의 pip가 필요합니다.

pip install -U pip
pip install google-cloud-aiplatform[tensorboard]

Vertex AI 텐서보드 로그 업로드

Python용 Vertex AI SDK

지속적 모니터링

학습 시작 시 aiplatform.start_upload_tb_log를 호출합니다. SDK는 업로드를 위해 새 스레드를 엽니다. 이 스레드는 디렉터리에 새 데이터가 있으면 계속 모니터링합니다. 학습이 완료되면 end_upload_tb_log를 호출하여 업로더 스레드를 종료합니다. end_upload_tb_log를 호출하지 않으면 타임아웃 계획이 스레드를 닫습니다.

Python용 Vertex AI SDK

def upload_tensorboard_log_continuously_sample(
    tensorboard_experiment_name: str,
    logdir: str,
    tensorboard_id: str,
    project: str,
    location: str,
    experiment_display_name: Optional[str] = None,
    run_name_prefix: Optional[str] = None,
    description: Optional[str] = None,
) -> None:

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

    # Continuous monitoring
    aiplatform.start_upload_tb_log(
        tensorboard_id=tensorboard_id,
        tensorboard_experiment_name=tensorboard_experiment_name,
        logdir=logdir,
        experiment_display_name=experiment_display_name,
        run_name_prefix=run_name_prefix,
        description=description,
    )
    aiplatform.end_upload_tb_log()

  • tensorboard_experiment_name: 이 실험의 이름입니다.
  • logdir: 로컬 파일 시스템 또는 Cloud Storage에 상주하는 텐서보드 로그의 위치입니다.
  • tensorboard_id:
    • tensorboard_id를 찾으려면 Google Cloud 콘솔의 실험 페이지 Vertex AI 섹션으로 이동한 후 텐서보드 인스턴스 탭을 선택합니다.
      실험 페이지로 이동

      텐서보드 인스턴스 만들기
    설정하지 않으면 aiplatform.inittensorboard_id가 사용됩니다.
  • project: 프로젝트 ID입니다. 이러한 프로젝트 ID는 Google Cloud 콘솔 시작 페이지에서 찾을 수 있습니다.
  • location: 사용 가능한 위치 목록을 참조하세요.
  • experiment_display_name: 실험의 표시 이름입니다.
  • run_name_prefix: 있는 경우, 이 호출로 생성되는 모든 실행의 이름에는 이 값이 접두어로 추가됩니다.
  • description: 실험에 할당할 문자열 설명입니다.

일회성 로깅

aiplatform.upload_tb_log를 호출하여 텐서보드 로그를 한 번만 업로드합니다. logdir에 기존 데이터만 업로드한 후 즉시 반환합니다.

Python용 Vertex AI SDK

def upload_tensorboard_log_one_time_sample(
    tensorboard_experiment_name: str,
    logdir: str,
    tensorboard_id: str,
    project: str,
    location: str,
    experiment_display_name: Optional[str] = None,
    run_name_prefix: Optional[str] = None,
    description: Optional[str] = None,
    verbosity: Optional[int] = 1,
) -> None:

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

    # one time upload
    aiplatform.upload_tb_log(
        tensorboard_id=tensorboard_id,
        tensorboard_experiment_name=tensorboard_experiment_name,
        logdir=logdir,
        experiment_display_name=experiment_display_name,
        run_name_prefix=run_name_prefix,
        description=description,
    )

  • tensorboard_experiment_name: 이 텐서보드 실험의 이름입니다. projects/{project}/locations/{location}/tensorboards/{tensorboard_id}
  • logdir: 로컬 파일 시스템 또는 Cloud Storage에 상주하는 텐서보드 로그의 위치입니다.
  • tensorboard_id:
    • tensorboard_id를 찾으려면 Google Cloud 콘솔의 실험 페이지 Vertex AI 섹션으로 이동한 후 텐서보드 인스턴스 탭을 선택합니다.
      실험 페이지로 이동

      텐서보드 인스턴스 만들기
    설정하지 않으면 aiplatform.inittensorboard_id가 사용됩니다.
  • project: 프로젝트 ID입니다. 이러한 프로젝트 ID는 Google Cloud 콘솔 시작 페이지에서 찾을 수 있습니다.
  • location: 사용 가능한 위치 목록을 참조하세요.
  • experiment_display_name: 실험의 표시 이름입니다.
  • run_name_prefix: 있는 경우, 이 호출로 생성되는 모든 실행의 이름에는 이 값이 접두어로 추가됩니다.
  • description: 실험에 할당할 문자열 설명입니다.
  • verbosity: 통계 세부정보 수준(정수)입니다. 지원되는 값: 0 - 업로드 통계가 출력되지 않습니다. 1 - 데이터를 업로드하는 동안 업로드 통계를 출력합니다(기본값).

gcloud CLI


tb-gcp-uploader --tensorboard_resource_name \
  TENSORBOARD_INSTANCE_NAME \
  --logdir=LOG_DIR \
  --experiment_name=TB_EXPERIMENT_NAME --one_shot=True
  • TENSORBOARD_INSTANCE_NAME: 인스턴스 이름을 식별하는 방법에는 두 가지가 있습니다.
    • 전체 이름은 이전에 사용한 gcloud ai tensorboards create 명령어 끝에 출력됩니다.
    • Google Cloud 콘솔을 사용하여 텐서보드 인스턴스를 만든 경우 TENSORBOARD_INSTANCE_NAMEprojects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID입니다.
      • TENSORBOARD_INSTANCE_ID를 찾으려면 Google Cloud 콘솔의 실험 페이지 Vertex AI 섹션으로 이동한 후 텐서보드 인스턴스 탭을 선택합니다.
        실험 페이지로 이동

        텐서보드 인스턴스 만들기
  • LOG_DIR: 로컬 파일 시스템 또는 Cloud Storage에 상주하는 이벤트 로그의 위치
  • TB_EXPERIMENT_NAME: 실험의 이름입니다(예: test-experiment). 실험 이름은 텐서보드 리소스 내에서 고유해야 합니다.

기본적으로 업로더 CLI는 무기한으로 실행되어 LOG_DIR의 변경사항을 모니터링하고 새로 추가된 로그를 업로드합니다. --one_shot=True는 동작을 중지합니다. 자세한 내용은 tb-gcp-uploader --help를 실행하세요.

Vertex AI 텐서보드 실험 보기

Google Cloud 콘솔에서 Vertex AI 텐서보드 실험에 액세스할 수 있습니다. Vertex AI 텐서보드 패키지를 사용하면 Google Cloud CLI가 Vertex AI 텐서보드 인스턴스에 대한 링크를 출력합니다.

Google Cloud 콘솔을 사용하여 Vertex AI 텐서보드에 액세스

다음 단계를 통해 Google Cloud 콘솔에서 Vertex AI 텐서보드 실험에 액세스할 수 있습니다.

  1. Google Cloud 콘솔의 Vertex AI 섹션에서 실험 페이지로 이동합니다.

    실험 페이지로 이동

  2. 실험 탭에서 실험 목록을 스크롤하거나 필터링하여 실험을 찾습니다.

  3. Vertex AI 텐서보드 웹 애플리케이션 페이지를 열려면 실험 옆에 있는 텐서보드 열기를 클릭합니다.

텐서보드 보기

Vertex AI 텐서보드 웹 애플리케이션 뷰가 표시됩니다.

텐서보드 보기가 표시됩니다.

이 뷰에 대한 링크를 권한 있는 다른 사람과 공유할 수 있습니다.

커스텀 학습에서 Vertex AI 텐서보드를 사용하는 경우 실험 추적 페이지에서 실험을 선택합니다. 페이지 상단에 텐서보드 열기 버튼이 나타납니다. 마찬가지로 Vertex AI Pipelines에서 Vertex AI 텐서보드를 사용하는 경우 연결된 구성요소를 선택하면 텐서보드 열기 버튼이 나타납니다.

또한 텐서보드 패키지를 사용하는 경우 Google Cloud CLI는 실험을 볼 수 있는 로그의 처음 몇 줄에 Vertex AI 텐서보드 인스턴스에 대한 링크를 출력합니다. 예를 들면 다음과 같습니다. View your TensorBoard at https://us-central1.tensorboard.googleusercontent.com/experiment/projects+123+locations+us-central1+tensorboards+4567+experiments+my-experiment-name

Notebooks

다음 단계