Cloud AI - 2. 클라우드 AI 서비스 개요 및 기초 실습 (클라우드 기반 머신러닝 서비스)

2025. 3. 18. 20:26AI/AI

📌 클라우드 기반 머신러닝 서비스

클라우드 기반 머신러닝 서비스는 데이터 준비 → 모델 학습 → 최적화 → 배포 → 운영(MLOps)까지 지원하는 통합 AI 플랫폼이다. Google Cloud, AWS 등 주요 클라우드 서비스 제공업체는 자동화된 머신러닝(AutoML), 맞춤형 모델 학습(Custom Model), 모델 배포 및 운영을 지원하여 AI 활용을 쉽게 할 수 있도록 돕는다.


🔹 1️⃣ 클라우드 기반 머신러닝 서비스 개요

✅ 클라우드 기반 머신러닝 서비스란?

  • 머신러닝 모델의 학습, 평가, 배포 및 운영을 클라우드 환경에서 지원하는 서비스
  • 데이터 과학자뿐만 아니라 비전문가도 쉽게 AI 모델을 활용 가능
  • AutoML(자동 머신러닝)과 커스텀 모델을 함께 지원

클라우드 머신러닝 서비스의 주요 기능
데이터 준비 & 전처리 지원 → 데이터 업로드 및 자동 정제
AutoML → 머신러닝 지식 없이 모델 생성 가능
맞춤형 모델 학습(Custom Model) → TensorFlow, PyTorch 등의 모델 학습 가능
MLOps(모델 운영 자동화) → 지속적인 모델 업데이트, 성능 모니터링


🔹 2️⃣ Google Cloud 머신러닝 서비스

Google Cloud는 AI 및 머신러닝 관련 서비스가 강력하며, AutoML과 Vertex AI를 중심으로 머신러닝 기능을 제공한다.


✅ 1. Google AutoML

AutoML(Auto Machine Learning)은 비전문가도 머신러닝 모델을 쉽게 생성할 수 있도록 지원하는 자동화 AI 서비스

📌 AutoML 특징

데이터 업로드 후 자동 모델 학습 가능
코딩 없이 GUI 기반으로 모델 생성
AutoML Vision, AutoML Tables, AutoML Natural Language 지원

📌 AutoML 주요 기능

기능  설명
AutoML Vision 이미지 분류 및 객체 감지
AutoML Natural Language 감정 분석, 문서 요약, 키워드 추출
AutoML Tables 테이블 데이터를 활용한 예측 분석

📌 AutoML 모델 학습 예제

from google.cloud import automl_v1

client = automl_v1.AutoMlClient()
project_id = "your-gcp-project"
location = "us-central1"

# 데이터셋 목록 조회
parent = f"projects/{project_id}/locations/{location}"
response = client.list_datasets(parent=parent)

for dataset in response:
    print(f"Dataset ID: {dataset.name}, Display Name: {dataset.display_name}")

특징:

  • AutoML을 사용하면 머신러닝 모델을 코드 없이 쉽게 학습 가능
  • GUI 기반 모델 학습도 가능하지만 API를 활용한 자동화도 가능

✅ 2. Vertex AI

Vertex AI는 Google Cloud의 통합 머신러닝 플랫폼으로, AutoML과 맞춤형 모델을 함께 제공

📌 Vertex AI 특징

AutoML 기능 포함 → AutoML을 더 발전시켜 MLOps 지원
맞춤형 모델 학습 가능 (TensorFlow, PyTorch 등 지원)
MLOps 자동화 기능 내장 (모델 업데이트 & 모니터링 포함)

📌 Vertex AI 주요 기능

기능  설명
Vertex AI Workbench Jupyter 기반의 데이터 과학 환경
Vertex AI Training 머신러닝 모델 학습 & 최적화
Vertex AI Prediction AI 모델을 배포하고 API 형태로 제공
Vertex AI Model Monitoring 배포된 모델의 성능 모니터링 및 자동 업데이트

📌 Vertex AI 모델 학습 예제

from google.cloud import aiplatform

aiplatform.init(project="your-gcp-project", location="us-central1")

dataset = aiplatform.TabularDataset("your-dataset-id")
model = aiplatform.AutoMLTabularTrainingJob(display_name="my-model")
model = model.run(dataset=dataset, model_display_name="my-trained-model")

특징:

  • 커스텀 모델을 지원하여 TensorFlow 및 PyTorch 모델 학습 가능
  • MLOps 기능 포함 → 모델을 지속적으로 업데이트 가능

🔹 3️⃣ AWS 머신러닝 서비스

Amazon Web Services(AWS)는 SageMaker를 중심으로 머신러닝 서비스 제공


✅ 1. Amazon SageMaker 개요

AWS SageMaker는 머신러닝 모델의 전체 개발 과정(데이터 준비, 학습, 배포, 모니터링)을 통합 관리하는 플랫폼

📌 SageMaker 주요 기능

기능  설명
SageMaker Studio 웹 기반의 머신러닝 개발 환경 (Jupyter Lab 포함)
SageMaker Autopilot AutoML 기능 지원
SageMaker Feature Store 데이터 특성 저장 및 재사용
SageMaker Model Monitor 배포된 모델의 성능 모니터링
SageMaker JumpStart 미리 학습된 모델 제공

📌 SageMaker 모델 학습 예제 (Python Boto3)

import boto3

sagemaker = boto3.client("sagemaker")

response = sagemaker.create_training_job(
    TrainingJobName="my-sagemaker-model",
    AlgorithmSpecification={"TrainingImage": "image-url", "TrainingInputMode": "File"},
    RoleArn="arn:aws:iam::your-account:role/service-role",
    InputDataConfig=[{"ChannelName": "train", "DataSource": {"S3DataSource": {"S3Uri": "s3://your-bucket/data"}}}]
)

print(response)

특징:

  • Amazon S3와 연동하여 대규모 데이터 학습 가능
  • AWS 인프라와 통합되어 확장성이 뛰어남

🔹 4️⃣ 클라우드 머신러닝 모델 학습 및 배포 과정

✅ 1. 모델 학습 과정

1️⃣ 데이터 준비 → Google Cloud Storage(AutoML) 또는 AWS S3에 데이터 업로드
2️⃣ 모델 학습 → AutoML 또는 맞춤형 모델 학습 수행
3️⃣ 하이퍼파라미터 튜닝 → 모델 최적화

✅ 2. 모델 배포 과정

1️⃣ 모델 배포 → API 엔드포인트 생성 (Google Cloud Vertex AI 또는 AWS SageMaker Endpoint)
2️⃣ 실시간 예측 → REST API 또는 SDK를 통해 모델 사용
3️⃣ 모니터링 및 업데이트 → 모델 성능 평가 및 자동 업데이트

📌 모델 배포 예제 (Google Cloud Vertex AI)

from google.cloud import aiplatform

aiplatform.init(project="your-gcp-project", location="us-central1")

model = aiplatform.Model("projects/your-project/locations/us-central1/models/your-model-id")

endpoint = model.deploy(machine_type="n1-standard-4")
print(f"Model deployed at {endpoint}")

특징:

  • 모델을 클라우드에서 API 형태로 배포 가능
  • 확장성이 뛰어나며 실시간 요청 처리 가능

📌 최종 정리

  1. Google Cloud 머신러닝 서비스
    • AutoML: 자동 모델 학습 지원
    • Vertex AI: 맞춤형 모델 학습 & MLOps 포함
  2. AWS SageMaker 개요
    • 데이터 준비, 모델 학습, 배포, 운영까지 포함된 통합 머신러닝 서비스
  3. 모델 학습과 배포 과정
    • 데이터 준비 → 모델 학습 → 최적화 → 배포 → 모니터링 및 업데이트