0Pricing
Learn AI with Python · 강의

클라우드 배포: AWS SageMaker

SageMaker Model, EndpointConfig, Endpoint, 실시간 추론, 배치 변환을 다룹니다.

클라우드 배포: AWS SageMaker은(는) CoddyKit의 무료 Learn AI with Python 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Learn AI with Python 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

SageMaker를 사용하는 이유

Amazon SageMaker는 머신러닝 모델을 학습하고 배포하기 위한 관리형 서비스입니다. 서버와 부하 분산기를 직접 프로비저닝하는 대신 모델을 설명하면, SageMaker가 보이지 않는 곳에서 확장 가능한 HTTPS 엔드포인트를 구성합니다.

세 가지 요소

SageMaker 배포에는 세 가지가 필요합니다:

  • 컨테이너 이미지 URI(ECR에 저장한 제공 이미지 또는 기본 제공 프레임워크 이미지)
  • 모델 데이터로 제공되는 학습된 가중치. S3에 저장된 tar.gz 형식의 파일입니다
  • 해당 리소스에 SageMaker가 접근할 수 있도록 권한을 부여하는 IAM 역할

모델 정의

sagemaker.Model 객체는 컨테이너 이미지와 S3의 모델 아티팩트를 연결합니다.

import sagemaker
from sagemaker.model import Model

model = Model(
    image_uri="123456789012.dkr.ecr.us-east-1.amazonaws.com/my-model:latest",
    model_data="s3://my-bucket/models/model.tar.gz",
    role="arn:aws:iam::123456789012:role/SageMakerRole",
)

model.tar.gz에는 무엇이 있나요

SageMaker는 시작할 때 model_data를 다운로드하고 컨테이너 내부의 /opt/ml/model에 압축을 풉니다. 제공 코드는 그 위치에서 가중치를 읽습니다. 일반적으로 이 아카이브에는 저장된 모델 파일과 전처리에 필요한 리소스가 들어 있습니다.

# model.tar.gz contents
# model.pt
# tokenizer.json
# config.json

실시간 엔드포인트 배포

model.deploy는 하나 이상의 인스턴스를 지속적으로 실행되는 HTTPS 엔드포인트 뒤에 배치합니다. 인스턴스 유형과 초기 인스턴스 수를 선택합니다.

predictor = model.deploy(
    initial_instance_count=1,
    instance_type="ml.m5.xlarge",
    endpoint_name="my-model-endpoint",
)

인스턴스 유형 선택

인스턴스 유형은 비용과 지연 시간을 결정합니다:

  • ml.m5.* 범용 CPU 인스턴스로, 작은 모델에 저렴합니다
  • ml.c5.* 계산에 최적화된 인스턴스입니다
  • ml.g4dn.* / ml.g5.* 딥러닝 추론을 위한 GPU 인스턴스입니다

모델에 맞는 인스턴스를 선택해야 합니다. 아주 작은 사이킷런 모델에 GPU를 사용하면 자원이 낭비됩니다.

predict() 호출

배포가 완료되면 predictor.predict()가 엔드포인트로 페이로드를 보내고 추론 결과를 반환합니다. SageMaker는 요청을 직렬화한 뒤 실행 중인 인스턴스로 전달합니다.

result = predictor.predict({
    "instances": [[5.1, 3.5, 1.4, 0.2]]
})
print(result)

엔드포인트 정리

실시간 엔드포인트는 실행되는 동안 초 단위로 요금이 부과됩니다. 더 이상 필요하지 않은 엔드포인트는 항상 삭제해야 합니다. 트래픽이 전혀 없어도 요금이 계속 발생하기 때문입니다.

predictor.delete_endpoint()

오프라인 작업을 위한 배치 변환

대규모 데이터 세트의 점수를 한 번 계산하는 경우(지연 시간이 낮은 제공이 아닌 경우) 배치 변환을 사용합니다. SageMaker는 인스턴스를 시작하고 S3 데이터 세트 전체를 처리한 뒤 결과를 S3에 다시 기록하고 인스턴스를 종료합니다. 지속적인 엔드포인트가 필요하지 않으므로 유휴 비용도 발생하지 않습니다.

배치 변환 실행

모델에서 변환기를 만들고 S3의 입력 데이터를 가리키도록 설정합니다.

transformer = model.transformer(
    instance_count=1,
    instance_type="ml.m5.xlarge",
    output_path="s3://my-bucket/predictions/",
)
transformer.transform(
    data="s3://my-bucket/input/batch.csv",
    content_type="text/csv",
)
transformer.wait()

실시간 처리와 배치 처리 비교

작업 부하에 따라 선택합니다:

  • 실시간 엔드포인트: 지속적으로 들어오는 지연 시간이 낮은 요청(예: 추천 API)
  • 배치 변환: 대규모 데이터 세트에 대한 주기적인 점수 계산(예: 매일 밤 수행하는 이탈 예측)

즉각적인 응답이 필요하지 않다면 배치 처리가 훨씬 저렴합니다.

간단한 확인

실시간 엔드포인트 대신 SageMaker 배치 변환을 사용해야 하는 경우는 언제인가요?

복습

AWS SageMaker에 모델을 배포했습니다:

  • sagemaker.Model은 S3의 모델 데이터에 이미지 URI를 연결합니다
  • model.deploy는 선택한 인스턴스 유형으로 실시간 엔드포인트를 만듭니다
  • predictor.predict()는 추론 요청을 보냅니다
  • 배치 변환은 대규모 오프라인 작업을 저렴하게 처리합니다
  • 요금이 발생하지 않도록 유휴 엔드포인트는 항상 삭제해야 합니다

자주 묻는 질문

“클라우드 배포: AWS SageMaker” 강의는 무료인가요?

네 — “클라우드 배포: AWS SageMaker” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Learn AI with Python 강의 전체를 잠금 해제할 수 있습니다. Learn AI with Python 강의에는 총 4개의 강의가 포함되어 있습니다.

“클라우드 배포: AWS SageMaker”에서 뭘 배우나요?

SageMaker Model, EndpointConfig, Endpoint, 실시간 추론, 배치 변환을 다룹니다. 브라우저에서 직접 실행하는 실습 코드로 Learn AI with Python을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Learn AI with Python을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Learn AI with Python은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“클라우드 배포: AWS SageMaker” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Learn AI with Python 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Learn AI with Python 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Docker로 머신러닝 모델 컨테이너화하기
  2. 클라우드 배포: AWS SageMaker
  3. Triton Inference Server를 활용한 고성능 제공
  4. 모델 엔드포인트 확장과 자동 확장
← Learn AI with Python(으)로 돌아가기