[GCP] VertexAI 커스텀 학습 컨테이너 생성하기


GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신러닝(ML) 플랫폼입니다. Vertex AI 플랫폼을 통해 초보자부터 전문가까지 다양한 수준의 머신러닝 사용자를 지원하며, 모델 유형에 관계없이 효율적인 AI 개발을 가능하게 합니다.

 

Vertex AI 커스텀 학습 컨테이너는 사용자가 직접 구성한 컨테이너 이미지로, 학습 코드, 라이브러리, 실행 환경을 완전히 제어할 수 있습니다. 이를 통해 특수한 라이브러리나 환경 설정, 커스텀 실행 방식 등을 자유롭게 구성하여 나만의 학습 프로세스를 구축할 수 있습니다.

 

Vertex에서 커스텀 학습 컨테이너를 생성하고 학습을 실행해보는 방법을 알아보도록 하겠습니다.

 

 


VertexAI 사전 구성

VertexAI를 사용할 사전 구성 작업을 알아봅니다.

 

[GCP] VertexAI 알아보기

https://every-up.tistory.com/106

 

[GCP] VertexAI 알아보기

[GCP] VertexAI 알아보기GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신러닝(ML)

every-up.tistory.com

 

 

[GCP] VertexAI Workbench 생성하기

https://every-up.tistory.com/107

 

[GCP] VertexAI Workbench 생성하기

[GCP] VertexAI Workbench 생성하기GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신

every-up.tistory.com

 

 

[GCP] VertexAI Custom Training Job 간단 구성하기

https://every-up.tistory.com/108

 

[GCP] VertexAI Custom Training Job 간단 구성하기

[GCP] VertexAI Custom Training Job 간단 구성하기GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게

every-up.tistory.com

 

 

 


커스텀 학습 컨테이너 생성

기본 작업

기본 작업은 'VertexAI Custom Training Job 간단 구성하기' 작업의 '작업3'번까지 진행합니다.

Custom_Container_Job.ipynb
0.01MB

 

작업 4 - Dockerfile 및 entrypoint.sh 파일 생성

Vertex AI에서 커스텀 학습 컨테이너를 사용하려면, 학습 환경(학습 코드, 라이브러리, 실행 환경 등)을 담은 컨테이너 이미지를 직접 만들어야 합니다. Vertex AI는 컨테이너 이미지의 실행만을 지원하며 내부 명령어를 자동으로 알지 못하므로 컨테이너 이미지에 학습 환경을 사전에 구성해야 되는 것입니다.

 

Dockerfile 파일을 생성하여 학습 환경을 정의하고 entrypoint.sh 파일을 생성하여 컨테이너 실행 시 해야 할 작업(복사, 학습, 업로드 등)을 정의합니다.

# 작업 4 - Dockerfile 및 entrypoint.sh 파일 생성

from pathlib import Path

# Dockerfile 내용
dockerfile_content = '''\
# 베이스 이미지: PyTorch GPU 기반
FROM gcr.io/deeplearning-platform-release/pytorch-gpu.1-12:latest

# 작업 디렉토리 생성
WORKDIR /app

# 필요한 패키지 설치
RUN apt-get update && \\
    apt-get install -y git gcc curl && \\
    pip install --upgrade pip

# YOLOv5 클론 및 의존성 설치
RUN git clone https://github.com/ultralytics/yolov5.git && \\
    cd yolov5 && \\
    pip install -r requirements.txt

# 진입점 스크립트 복사 (추후 작성)
COPY entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh

# 엔트리포인트 지정
ENTRYPOINT ["/app/entrypoint.sh"]
'''

# Entrypoint 스크립트 템플릿
entrypoint_content = '''\
#!/bin/bash
set -e

BUCKET_NAME="test-coco-dataset-bucket"

cd /app/yolov5

# 데이터 및 설정 다운로드 (사용자가 BUCKET_NAME을 수정해야 함)
gsutil -m cp -r gs://${BUCKET_NAME}/coco/coco128/coco128 .
gsutil -m cp gs://${BUCKET_NAME}/coco/coco128.yaml .
gsutil -m cp gs://${BUCKET_NAME}/coco/train.py .

# 학습 실행
python train.py --data=coco128.yaml --epochs=10 --batch-size=16 --img-size=640

# 결과 업로드
gsutil -m cp -r runs/train/* gs://${BUCKET_NAME}/coco/models/
'''

# 파일 생성
Path("Dockerfile").write_text(dockerfile_content)
Path("entrypoint.sh").write_text(entrypoint_content)

print("✅ Dockerfile 및 entrypoint.sh 파일이 생성되었습니다.")

 

 

작업 5 - 학습용 컨테이너 이미지 생성

학습 환경(학습 코드, 라이브러리, 실행 환경 등)을 정의한 Dockerfile을 사용하여 컨테이너 이미지를 생성하고, Vertex AI에서 사용할 수 있도록 컨테이너 레지스트리에 이미지를 등록합니다.

# 작업 5 - 학습용 컨테이너 이미지 생성

import subprocess

# 컨테이너 변수 설정
REPO_NAME="training-repo"
IMAGE_NAME = "yolo-train"
IMAGE_URI = f"{REGION}-docker.pkg.dev/{PROJECT_ID}/{REPO_NAME}/{IMAGE_NAME}:latest"

# Docker 빌드 실행 (현재 디렉토리에 Dockerfile, entrypoint.sh 존재해야 함)
subprocess.run(["docker", "build", "-t", IMAGE_URI, "."], check=True)

# 레포지토리 생성
!gcloud artifacts repositories create {REPO_NAME} \
  --repository-format=docker \
  --location={REGION} \

# Docker 인증
!gcloud auth configure-docker {REGION}-docker.pkg.dev

# Docker 이미지 푸시
subprocess.run(["docker", "push", IMAGE_URI], check=True)

 

 

작업 6 - Custom Training Job 실행

Google Cloud의 AI 관련 서비스(Google Vertex AI, AutoML, AI Platform 등)를 관리할 수 있는 gcloud ai 명령어를 사용하여 Custom Training Job을 실행합니다. gcloud ai custom-jobs create 명령어와 사전에 생성한 컨테이너 이미지를 선택하여 실행합니다.


해당 컨테이너 이미지에는 학습에 필요한 학습 데이터, 학습 환경, 학습 코드, 실행 명령어 등이 이미 구축되어 있으므로 별도의 환경 변수 설정은 필요 없습니다.

# 작업 6 - Custom Training Job 실행

!gcloud ai custom-jobs create \
  --region=us-central1 \
  --display-name=yolo-training-job \
  --worker-pool-spec=machine-type=n1-standard-8,replica-count=1,accelerator-type=NVIDIA_TESLA_T4,accelerator-count=1,container-image-uri={IMAGE_URI}

 

 

명령어 실행 시 아래와 같이 Custom Training Job 생성에 대한 로그가 출력됩니다.

Using endpoint [https://us-central1-aiplatform.googleapis.com/]
CustomJob [projects/123412341234/locations/us-central1/customJobs/3600309885524246528] is submitted successfully.

Your job is still active. You may view the status of your job with the command

  $ gcloud ai custom-jobs describe projects/123412341234/locations/us-central1/customJobs/3600309885524246528

or continue streaming the logs with the command

  $ gcloud ai custom-jobs stream-logs projects/123412341234/locations/us-central1/customJobs/3600309885524246528

 

 

 


커스텀 학습 컨테이너 실행

VertexAI 서비스 관리 페이지에서 Custom Training Job 실행을 확인해보도록 하겠습니다.

 

모델 개발 -> 학습 메뉴에서 커스텀 작업을 선택한 후 생성된 yolo-training-job 이름의 Custom Training Job을 선택합니다.

 

 

Custom Training Job의 현재 상태를 확인할 수 있으며 시작 시간, 경과 시간, 머신 유형, 로그 등의 상세한 정보를 확인할 수 있습니다. 모든 학습 환경을 학습 컨테이너에 정의했기 때문에 별도로 인자(환경 변수)에 대한 내용은 없습니다.

 

 

같은 화면에서 하단으로 내려보면 기계학습 실행 시 CPU, GPU, Network 사용에 대한 모니터링 정보를 상세하게 확인할 수 있습니다.

 

 

로그 보기 버튼을 클릭하면 기계학습 실행 시의 모든 상세 로그를 확인할 수 있습니다.

 

 

이제 학습된 모델 파일을 확인해봅시다.


학습된 모델 파일은 GCS 버킷(gs://{BUCKET_NAME}/coco/models/)에 저장되도록 설정하였으므로, GCS 버킷을 통해 확인해보도록 합시다. 기본 학습 코드(train.py)에 따라 GCS 버킷에 exp/weights/ 경로에 학습된 모델 파일(best.pt, last.pt)이 생성됨을 확인하실 수 있습니다.

 

 

 


 

GCP Vertex AI에서 커스텀 학습 컨테이너를 생성하고 학습을 실행해보는 방법에 대해 확인해봤는데요.

 

Dockerfile 파일을 생성하여 학습 환경을 정의하고 entrypoint.sh 파일을 생성하여 컨테이너 실행 시 해야 할 작업(복사, 학습, 업로드 등)을 정의합니다. 커스텀 학습 컨테이너 이미지 생성하고 Vertex AI에서 사용할 수 있도록 컨테이너 레지스트리에 이미지를 등록합니다. 별도의 환경 변수 설정 없이 gcloud ai custom-jobs create 명령어를 사용해 학습을 수행합니다. 학습된 모델(best.pt, last.pt)을 GCS 버킷에서 확인할 수 있으며 Vertex AI 관리 페이지에서 Custom Training Job의 상태, 리소스 사용량, 로그 등을 모니터링할 수 있습니다.

 

커스텀 학습 컨테이너를 통해 다양한 기계 학습 환경과 작업 등을 구축 및 관리하여 기계학습을 사용해보시기 바랍니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]
https://cloud.google.com/vertex-ai/docs/training/containers-overview?hl=ko

 

 

 

'GCP' 카테고리의 다른 글

[GCP] VertexAI Custom Training Job 간단 구성하기  (2) 2025.04.07
[GCP] VertexAI Workbench 생성하기  (0) 2025.03.31
[GCP] VertexAI 알아보기  (0) 2025.03.25

[GCP] VertexAI Custom Training Job 간단 구성하기


GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신러닝(ML) 플랫폼입니다. Vertex AI 플랫폼을 통해 초보자부터 전문가까지 다양한 수준의 머신러닝 사용자를 지원하며, 모델 유형에 관계없이 효율적인 AI 개발을 가능하게 합니다.

 

Vertex AI Custom Training Job은 사용자가 직접 구성한 커스텀 코드와 하이퍼파라미터를 이용해 모델 학습을 수행할 수 있는 Google Cloud Vertex AI의 기능입니다. 컨테이너 기반 환경에서 자동 리소스 할당과 분산 학습을 지원하여 효율적이고 확장 가능한 모델 개발을 구현합니다.

 

 

GCP에서 제공하는 Vertex AI Custom Training Job을 JupyterLab을 사용하여 간단히 구성해보는 방법을 알아보도록 하겠습니다.

 

 

 


[GCP] VertexAI 알아보기

GCP VertexAI에 대한 기본적인 정보를 알아봅니다.

 

https://every-up.tistory.com/106

 

[GCP] VertexAI 알아보기

[GCP] VertexAI 알아보기GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신러닝(ML)

every-up.tistory.com

 

 

[GCP] VertexAI Workbench 생성하기

JupyterLab을 사용할 수 있도록 사전에 VertexAI Workbench를 생성합니다.

 

https://every-up.tistory.com/107

 

[GCP] VertexAI Workbench 생성하기

[GCP] VertexAI Workbench 생성하기GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신

every-up.tistory.com

 

 

 

 


JupyterLab 실행

VertexAI Workbench에서 실행하고자 하는 JupyterLab 인스턴스를 클릭합니다.

 

 

잠깐의 로딩화면 이후 JupyterLab이 정상적으로 실행함을 확인하실 수 있습니다.

 

 

아래 Jupyter Notebook 파일을 다운로드 후 드래그 앤 드롭(Drag and Drop)으로 파일을 업로드 합니다.

Simple_Custom_Training_Job.ipynb
0.00MB

 

 

 

 


Custom Training Job 구성 및 실행

이제 업로드한 Jupyter Notebook 파일을 실행하여 Custom Training Job을 구성 및 실행해보도록 하겠습니다.

 

 

작업 1 - 기본 설정

Custom Training Job을 구성하기 위한 기본적인 패키지를 설치하고, 프로젝트 관련 설정을 정의합니다.
PROJECT_ID 값은 사용 중인 GCP 프로젝트의 ID 값으로 설정합니다.

# 작업 1 - 기본 설정

import os
from google.cloud import aiplatform, storage
import subprocess

# 필요한 패키지 설치
subprocess.run(["pip", "install", "torch", "torchvision", "google-cloud-aiplatform", "google-cloud-storage", "pyyaml"])

import torch
import torchvision
import zipfile

# GCP 프로젝트 설정
PROJECT_ID = "{Project ID}"  # GCP 프로젝트 ID
REGION = "us-central1"  # 리전 설정
BUCKET_NAME = "test-coco-dataset-bucket"  # GCS 버킷 이름

# Vertex AI 초기화
aiplatform.init(project=PROJECT_ID, location=REGION)

 

 

작업 2 - COCO 데이터셋 및 기계 학습 환경 다운로드

기계 학습은 COCO 데이터셋을 활용하여 YOLOv5 모델을 학습해보도록 하겠습니다.
COCO 데이터셋 및 YOLOv5 모델을 다운로드 및 압축을 해제합니다.

# 작업 2 - COCO 데이터셋 및 기계 학습 환경 다운로드

# COCO 데이터셋 및 학습 코드 다운로드
!wget https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128.zip
!wget https://raw.githubusercontent.com/ultralytics/yolov5/master/data/coco128.yaml
!wget https://raw.githubusercontent.com/ultralytics/yolov5/master/train.py

# 데이터 압축 해제
import zipfile
with zipfile.ZipFile("coco128.zip", "r") as zip_ref:
    zip_ref.extractall("coco128")

 

 

작업 2-1 - coco128.yaml 파일 수정

JupyterLab에서 데이터셋 구성 파일인 coco128.yaml 파일을 수정하여 COCO 데이터셋의 경로 설정을 변경합니다.
데이터셋 기본 경로(path), 학습 경로(train), 검증 경로(val)를 수정합니다.

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: . # dataset root dir
train: coco128/images/train2017 # train images (relative to 'path') 128 images
val: coco128/images/train2017 # val images (relative to 'path') 128 images
test: # test images (optional)

 

 

작업 3 - GCS 버킷 생성 및 업로드

GCS 버킷을 생성한 후 학습에 필요한 데이터셋, 데이터셋 구성 파일, 학습 코드를 GCS 버킷에 업로드 합니다.
Custom Training Job을 실행 시 GCS 버킷에 있는 데이터를 사용하여 학습을 구동시키고자 합니다.

# 작업 3 - GCS 버킷 생성 및 업로드

# GCS 버킷 생성
storage_client = storage.Client()
bucket = storage_client.create_bucket(BUCKET_NAME, location=REGION)

# GCS 버킷에 업로드
!gsutil -m cp -r coco128 gs://{BUCKET_NAME}/coco/
!gsutil -m cp -r coco128.yaml gs://{BUCKET_NAME}/coco/
!gsutil -m cp -r train.py gs://{BUCKET_NAME}/coco/

 

 

작업 4 - Custom Training Job 실행

Google Cloud의 AI 관련 서비스(Google Vertex AI, AutoML, AI Platform 등)를 관리할 수 있는 gcloud ai 명령어를 사용하여 Custom Training Job을 실행합니다.
gcloud ai custom-jobs create 명령어와 학습에 필요한 파라미터 값을 입력하여 실행합니다.

# 작업 4 - Custom Training Job 실행

!gcloud ai custom-jobs create \
  --region=us-central1 \
  --display-name=yolo-training-job \
  --worker-pool-spec=machine-type=n1-standard-8,replica-count=1,accelerator-type=NVIDIA_TESLA_T4,accelerator-count=1,container-image-uri=gcr.io/deeplearning-platform-release/pytorch-gpu.1-12:latest \
  --command=bash \
  --args="-c" \
  --args="\
  git clone https://github.com/ultralytics/yolov5.git && \
  gsutil -m cp -r gs://{BUCKET_NAME}/coco/coco128/coco128 yolov5/ && \
  gsutil -m cp -r gs://{BUCKET_NAME}/coco/coco128.yaml yolov5/ && \
  gsutil -m cp -r gs://{BUCKET_NAME}/coco/train.py yolov5/ && \
  cd yolov5 && \
  pip install --upgrade pip && \
  pip install -r requirements.txt && \
  python train.py --data=coco128.yaml --epochs=10 --batch-size=16 --img-size=640 && \
  gsutil -m cp -r runs/train/* gs://{BUCKET_NAME}/coco/models/"

 

worker-pool-spec 옵션을 통해 학습 머신에 대한 설정과 컨테이너 이미지를 설정할 수 있습니다. 컨테이너 이미지는 직접 생성한 이미지를 사용할 수 있으며 사전에 학습 환경이 구성된 컨테이너 이미지를 생성하여 기계 학습 환경을 더 빠르게 프로비저닝 수 있습니다.

 

이번 Custom Training Job 실행에서는 GCP에서 기본으로 제공하는 컨테이너 이미지를 사용하였으며, 학습에 필요한 환경구성과 학습 코드 실행 등을 args로 추가하여 구성할 수 있도록 설정하였습니다.

 

 

명령어 실행 시 아래와 같이 Custom Training Job 생성에 대한 로그가 출력됩니다.

Using endpoint [https://us-central1-aiplatform.googleapis.com/]
CustomJob [projects/123412341234/locations/us-central1/customJobs/8016661615963275264] is submitted successfully.

Your job is still active. You may view the status of your job with the command

  $ gcloud ai custom-jobs describe projects/123412341234/locations/us-central1/customJobs/8016661615963275264

or continue streaming the logs with the command

  $ gcloud ai custom-jobs stream-logs projects/123412341234/locations/us-central1/customJobs/8016661615963275264

 

 


Custom Training Job 실행 확인

VertexAI 서비스 관리 페이지에서 Custom Training Job 실행을 확인해보도록 하겠습니다.

 

모델 개발 -> 학습 메뉴에서 커스텀 작업을 선택한 후 생성된 yolo-training-job 이름의 Custom Training Job을 선택합니다.

 

 

Custom Training Job의 현재 상태를 확인할 수 있으며 시작 시간, 경과 시간, 머신 유형, 로그 등의 상세한 정보를 확인할 수 있습니다.

 

 

같은 화면의 하단에는 기계학습 실행 시 CPU, GPU, Network 사용에 대한 모니터링 정보를 상세하게 확인할 수 있습니다.

 

 

로그 보기 버튼을 클릭하면 기계학습 실행 시의 모든 상세 로그를 확인할 수 있습니다.

 

 

이제 학습된 모델 파일을 확인해봅시다.


학습된 모델 파일은 GCS 버킷(gs://{BUCKET_NAME}/coco/models/)에 저장되도록 설정하였으므로, GCS 버킷을 통해 확인해보도록 합시다. 기본 학습 코드(train.py)에 따라 GCS 버킷에 exp/weights/ 경로에 학습된 모델 파일(best.pt, last.pt)이 생성됨을 확인하실 수 있습니다.

 

 

 


 

 

GCP에서 제공하는 Vertex AI Custom Training Job을 JupyterLab을 사용하여 간단히 구성해보는 방법에 대해 확인해봤는데요.

 

Vertex AI Workbench에서 JupyterLab을 실행한 후, COCO 데이터셋과 YOLOv5 모델을 GCS 버킷에 업로드하여 Custom Training Job을 실행합니다. gcloud ai custom-jobs create 명령어를 사용해 학습을 수행하고, 학습된 모델(best.pt, last.pt)을 GCS 버킷에서 확인할 수 있습니다. Vertex AI 관리 페이지에서 Custom Training Job의 상태, 리소스 사용량, 로그 등을 모니터링할 수 있습니다.

 

데이터셋과 기계학습 환경을 구축하고 Vertex AI Custom Training Job을 사용하여 기계학습을 사용해보시기 바랍니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]
https://cloud.google.com/vertex-ai/docs/training/create-custom-job?hl=ko

 

 

 

'GCP' 카테고리의 다른 글

[GCP] VertexAI 커스텀 학습 컨테이너 생성하기  (0) 2025.04.14
[GCP] VertexAI Workbench 생성하기  (0) 2025.03.31
[GCP] VertexAI 알아보기  (0) 2025.03.25

[GCP] VertexAI Workbench 생성하기

GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신러닝(ML) 플랫폼입니다. Vertex AI 플랫폼을 통해 초보자부터 전문가까지 다양한 수준의 머신러닝 사용자를 지원하며, 모델 유형에 관계없이 효율적인 AI 개발을 가능하게 합니다.

 

Vertex AI Workbench는 전체 기계 학습 워크플로에 사용되는 Jupyter 노트북 기반 개발 환경입니다. Vertex AI Workbench 인스턴스의 Jupyter 노트북 내에서 Vertex AI 및 기타 Google Cloud 서비스와 상호작용할 수 있습니다.

 

 

GCP에서 제공하는 VertexAI Workbench를 생성하는 방법을 알아보도록 하겠습니다.

 

 


Workbench 생성

Vertex AI Workbench를 생성하는 방법을 알아보겠습니다.

 

메뉴 접근

Google Cloud의 콘솔을 접근 후 "Vertex AI"를 검색하여 Vertex AI 서비스 메뉴에 접근합니다.

 

 

좌측 메뉴에 Notebooks -> Workbench 메뉴를 클릭합니다.

 

 

Workbench의 새로 만들기 버튼을 통해 신규 Workbench를 생성할 수 있습니다.

 

 

생성 옵션

새로 만들기 버튼을 클릭한 후 새 인스턴스를 생성합니다.
이름을 지정하고, 머신 유형 및 기타 옵션을 수정하기 위해 고급 옵션을 선택합니다.



세부정보에서는 리전과 라벨, 네트워크 태그, Workbench 유형을 선택할 수 있습니다.
Workbench 유형은 인스턴스, 관리형 노트북, 사용자 관리형 노트북으로 총 3가지가 있지만 관리형 노트북과 사용자 관리형 노트북 유형은 25년 4월 14일에 서비스 지원이 종료될 예정입니다.

 

 

JupyterLab 환경에 대한 버전 및 기타 옵션을 선택할 수 있습니다.
JupyterLab 4.x 버전에서는 JupyterLab 3.x 버전과 다르게 커널 및 서버가 Jupyter Server로 통합 관리되며
확장 기능 설치 시 Node.js 없이도 설치가 가능하고 초기 로딩 속도롤 쵀대 50% 개선했다고 합니다.

 

 

머신 유형에서는 가상머신에 대한 다양한 타입을 선택하여 사용할 수 있습니다.
기계 학습 테스트 시 학습용 머신을 별도로 생성할 것이므로, 범용 머신 유형을 선택했습니다.

GPU 타입을 선택하여 JupyterLab 환경에서 바로 기계학습을 테스트 할 수도 있습니다.

 

 

디스크 설정에서는 Boot 디스크와 Data 디스크의 옵션을 선택할 수 있습니다.
Boot 디스크는 JupyterLab 머신의 "/" 경로의 디스크 파티션에 할당되며, Data 디스크는 "/home/jupyter" 경로의 디스크 파티션에 할당됩니다.

 

 

네트워크 설정에서는 사전에 생성한 네트워크를 선택하거나 기본 네트워크를 선택할 수 있습니다.
네트워크 설정을 통해 인터넷, Google Cloud 서비스, 조직 내부 시스템 등과 어떻게 연결하여 사용할지 결정할 수 있습니다.

 

 

IAM 및 보안 설정에서는 JupyterLab 인터페이스를 사용할 수 있는 사용자를 결정합니다.
Google Cloud IAM 계정이 있는 사용자와 단일 사용자로 구분됩니다. 또한 그 외의 다양한 보안 옵션을 선택할 수 있습니다.

 

 

마지막으로 시스템 상태 관련 설정을 완료한 후 만들기 버튼을 클릭하여 인스턴스를 생성합니다.

 

 

 


Workbench 생성 확인

정상적으로 Workbench가 생성되었는지 확인합니다.

인스턴스를 생성하면 아래와 같이 프로비저닝을 진행하며 Workbench 인스턴스가 생성됩니다.

 

 

인스턴스 이름을 클릭하면 인스턴스의 세부정보를 확인할 수 있습니다.
현재 상태 뿐만 아니라 시스템, 하드웨어, 소프트웨어 및 보안, 상태, 모니터링, 로그 등 다양한 정보를 확인 및 수정하실 수 있습니다.

 

 

 


 

GCP에서 제공하는 VertexAI Workbench를 생성하는 방법에 대해 확인해봤는데요.

 

Vertex AI Workbench는 JupyterLab 기반의 머신러닝 개발 환경으로, 인스턴스 생성 시 머신 유형, 디스크, 네트워크, 보안, 시스템 상태 등을 상세히 설정할 수 있습니다.  Workbench 생성 후 콘솔에서 인스턴스 상태, 설정, 모니터링 정보를 실시간으로 확인하고 수정할 수 있으며, JupyterLab 환경을 사용하여 기계학습 환경을 구축할 수 있습니다.

 

기계학습을 사용할 기회가 있다면 Vertex AI를 사용하여 구현해보시기 바랍니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]
https://cloud.google.com/vertex-ai/docs/workbench/introduction?hl=ko

 

 

 

[GCP] VertexAI 알아보기

GCP에서 제공하는 Vertex AI는 ML 모델과 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용할 대규모 언어 모델(LLM)을 맞춤설정할 수 있게 해주는 머신러닝(ML) 플랫폼입니다. Vertex AI 플랫폼을 통해 초보자부터 전문가까지 다양한 수준의 머신러닝 사용자를 지원하며, 모델 유형에 관계없이 효율적인 AI 개발을 가능하게 합니다.

 

GCP에서 제공하는 Vertex AI에 대해 알아보는 시간을 가져보겠습니다.

 

 


머신러닝 워크플로우

Vertex AI는 머신러닝의 전체 워크플로우를 하나의 플랫폼에서 지원합니다.


각 단계를 중심으로 Vertex AI의 역할을 설명하면, 사용자가 어떤 과정에서 Vertex AI를 활용할 수 있는지 쉽게 이해할 수 있습니다.

 

  • 머신러닝 단계
      1. 데이터 준비 : 데이터 세트를 추출하고 정리한 후 탐색적 데이터 분석(EDA)을 수행하여 ML 모델에서 예상하는 데이터 스키마와 특성을 파악합니다. 데이터 변환 및 특성 추출을 모델에 적용하고 데이터를 학습, 검증, 테스트 세트로 분할합니다.
      1. 모델 학습 : 모델 학습 방법을 선택하고 성능을 위해 조정합니다. 코드를 작성하지 않고 AutoML을 사용하여 모델을 학습하거나, 원하는 ML 프레임워크를 사용하여 학습 코드를 직접 작성하고 커스텀 모델을 학습시킬 수 있습니다.
      1. 모델 평가 및 반복 : 학습된 모델을 평가하고, 평가 측정항목을 기준으로 데이터를 조정하고, 모델을 반복합니다.
      1. 모델 서빙 : 모델을 프로덕션에 배포하고 온라인 예측을 가져오거나 일괄 예측을 위해 직접 쿼리합니다.
      1. 모델 모니터링: 배포된 모델의 성능을 모니터링합니다. 수신되는 예측 데이터로 모델을 재학습시켜 성능을 높입니다.

 

머신러닝 워크플로우를 통해 관리형 데이터셋을 이용해 데이터를 수집 및 가공하고, AutoML 또는 커스텀 모델로 학습한 후 Explainable AI로 성능을 분석 및 최적화할 수 있습니다. 또한, 배포된 모델을 엔드포인트에서 실시간 또는 배치 예측으로 활용하며, 콘솔 UI, 명령줄(CLI), SDK를 통해 자동화 및 애플리케이션과 연동할 수 있습니다.

 

 


MLOps

MLOps는 머신러닝 모델의 운영 및 관리를 위한 일련의 프로세스, 도구, 문화적 변화를 의미합니다.
Vertex AI는 MLOps의 핵심 기능을 지원하며, 머신러닝 모델을 효과적으로 배포하고 운영할 수 있도록 돕습니다.

 

Vertex AI의 MLOps 기능은 자동화(AutoML), 커스텀 모델(Custom Model), 파이프라인(Pipelines), 배포(Deployment), 모니터링(Monitoring) 등을 포함합니다.

 

Vertex AI를 활용한 MLOps 아키텍처는 다음과 같이 구성될 수 있습니다.

 

  • 1. 데이터 수집 및 전처리
    • BigQuery, Cloud Storage에서 데이터 수집
    • Feature Store를 활용한 피처 엔지니어링
  • 2. 모델 개발 및 실험 
    • Vertex AI Experiment를 사용한 모델 실험 및 최적화
    • AutoML 또는 Custom Model을 활용한 모델 학습
  • 3. ML 파이프라인 구축
    • Vertex AI Pipelines로 데이터 전처리 → 학습 → 평가 자동화
    • Hyperparameter tuning 포함
  • 4. 모델 배포
    • Vertex AI Prediction을 활용하여 온라인/배치 예측
    • Multi-model Deployment 및 A/B Testing 지원
  • 5. 모델 모니터링 및 개선
    • Model Monitoring으로 데이터 드리프트 감지
    • Explainable AI를 통한 모델 해석
    • CI/CD를 통한 지속적인 모델 업데이트

 

 

MLOps 도입 시에는 다음과 같은 장점이 있습니다.

  • 전체 ML 라이프사이클 자동화
  • 데이터 및 모델 재현성 보장
  • ML 모델 배포 및 확장 용이
  • 모델 성능 모니터링 및 지속적인 개선 가능
  • Cloud 기반으로 확장성과 유지보수 용이
  • DevOps + MLOps 통합으로 운영 효율성 향상

 


핵심 기능 및 강점

Vertex AI의 핵심 기능 및 강점입니다.

 

Vertex AI는 AutoML과 커스텀 모델을 지원하여 초보자부터 전문가까지 모두 활용할 수 있는 완전한 머신러닝 플랫폼입니다. Explainable AI 및 Google Cloud 기반의 고성능 인프라를 제공하여 효율적인 모델 개발과 배포를 지원합니다.

핵심 기능

  • AutoML 지원: 코드 없이 AI 모델을 학습 가능
  • 커스텀 모델 개발: TensorFlow, PyTorch 등 다양한 프레임워크 지원
  • Explainable AI: 모델의 예측 근거를 분석하여 최적화 가능
  • 완전한 머신러닝 파이프라인: 데이터 준비부터 배포까지 한 번에 관리 가능
  • 확장성과 유연성: Google Cloud 기반으로 고성능 인프라 활용 가능

 

Vertex AI의 강점

  • 초보자도 쉽게 사용 가능 (AutoML 지원)
  • 전문가는 커스텀 모델을 활용해 고급 개발 가능
  • 데이터 준비, 학습, 배포까지 중앙 집중형 관리
  • 설명 가능한 AI(Explainable AI) 기능 제공
  • Google Cloud의 강력한 인프라 활용 가능

 

 

Vertex AI는 AutoML 및 커스텀 모델 지원, Explainable AI, 완전한 머신러닝 파이프라인, Google Cloud 기반 인프라를 제공하여 효율적인 AI 개발과 운영을 지원합니다. 초보자는 AutoML로 쉽게 활용하고, 전문가는 커스텀 모델과 확장성 높은 인프라를 활용해 고급 머신러닝 프로젝트를 수행할 수 있습니다. 

 

 


GCP에서 제공하는 Vertex AI에 대해 기본적인 내용을 확인해봤는데요.

 

Vertex AI는 머신러닝의 전체 워크플로우를 지원하며, AutoML 및 커스텀 모델을 통해 데이터 준비부터 모델 배포까지 자동화할 수 있습니다. MLOps 기능을 활용해 모델 개발, 파이프라인 구축, 배포 및 모니터링을 효율적으로 관리할 수 있으며, Explainable AI 및 CI/CD를 통해 지속적인 개선이 가능합니다. Google Cloud 기반의 고성능 인프라를 활용하여 확장성과 유연성을 갖춘 머신러닝 운영을 최적화할 수 있습니다.

 

머신러닝을 사용할 기회가 있다면 Vertex AI를 사용하여 구현해보시기 바랍니다....! 끝...!

 

 

유익하게 보셨다면 공감을 눌러주고, 댓글로 의견을 공유해 남겨주시면 감사하겠습니다!

 

 

 

[Reference]
https://cloud.google.com/vertex-ai?hl=ko

 

 

 

+ Recent posts