CertNote/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
  • Week 1
    • 1.ML 수명주기와 ML 엔지니어의 역할
    • 2.ML 문제 유형과 평가 지표 기초
    • 3.AWS ML 스택 한눈에 보기
    • 4.SageMaker 개요: Studio, 학습/추론, 빌트인 알고리즘
    • 5.Week 1 종합 — ML 기초·AWS 스택 복습
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
    • 1.추론 옵션 개요: 4가지 배포 방식과 선택 기준
    • 2.실시간 엔드포인트: 구성, 오토스케일링, 인스턴스 선택
    • 3.비용·고급 추론: 멀티모델, 멀티컨테이너, 추론 파이프라인, Inferentia
    • 4.배치·서버리스 추론 심화: 대량 처리 튜닝과 비용 트레이드오프
    • 5.Week 6 종합: 추론 배포 복습
  • Week 7
  • Week 8
  • Week 9
  • Week 10
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← MLA-C01/Week 6/Day 1

기준: MLA-C01 시험 가이드·오류 제보

MLA-C01· AssociateWeek 6 · Day 1읽기 약 11분
핵심 정리
  • 추론 옵션은 알고리즘이 아니라 요청 패턴이 정한다 — 즉시성·트래픽·페이로드·처리시간 4축.
  • 실시간: 동기 즉시 응답(ms~초), 꾸준한 트래픽. 최소 1대가 항상 켜져 always-on 비용이 든다.
  • 서버리스: 동기 응답이지만 트래픽이 0이면 비용도 0. 대신 콜드 스타트 지연을 감수해야 한다.
  • 비동기: 큐 기반. 큰 페이로드(최대 1GB)·긴 처리(최대 60분)를 받고 0까지 스케일 다운된다.
  • 배치 변환: 엔드포인트 없이 전체 데이터셋을 일괄 처리. 즉시성은 없지만 대량 처리 비용이 가장 싸다.

Day 1 - 추론 옵션 개요: 4가지 배포 방식과 선택 기준

4가지 추론 옵션 한눈에 보기

모델은 사용자 요청에 응답하거나 쌓인 데이터를 일괄 처리하는 형태로 배포(deployment)되어야 비로소 비즈니스 가치를 만든다. SageMaker는 추론(inference) 워크로드의 성격에 따라 4가지 방식을 제공하고, MLA-C01은 "이 시나리오에 어떤 방식인가"를 끊임없이 묻는다.

옵션응답 형태트래픽 패턴페이로드/지속시간비용 발생 구간
실시간(Real-time)동기, 즉시(ms~초)꾸준하고 예측 가능작음(<6MB), <60초인스턴스 가동 시간 전체
서버리스(Serverless)동기, 즉시간헐적·예측 불가, 0까지 떨어짐작음(<4MB), <60초요청을 처리하는 시간만
비동기(Asynchronous)비동기, 큐 기반가변적, 긴 처리 허용큼(최대 1GB), <60분큐에 일이 있을 때만
배치 변환(Batch Transform)비동기, 작업 단위정기적·일괄매우 큼(전체 데이터셋)작업이 도는 시간만
  • 실시간·서버리스 = 동기(synchronous). 호출하면 그 자리에서 결과가 돌아온다.
  • 비동기·배치 = 요청을 던지고 나중에 결과를 받는 구조다.
동기 vs 비동기 요청 흐름
 
[동기]   클라이언트 ── invoke_endpoint ──▶ 엔드포인트 ──▶ 모델
                   ◀────── 응답(ms~초) ──────────────────┘
         실시간 / 서버리스
 
[비동기] 클라이언트 ── invoke_endpoint_async ──▶ 내부 큐 ──▶ 엔드포인트
                   ◀── OutputLocation 즉시 반환              │
                                                    ┌────────┴────────┐
                                                    ▼                 ▼
                                              S3(결과 저장)      SNS(완료 알림)
 
[배치]   S3(입력) ──▶ [일시적 클러스터 N대 병렬 추론] ──▶ S3(출력) ──▶ 클러스터 종료
         엔드포인트 자체가 없다
import boto3
runtime = boto3.client("sagemaker-runtime")
 
# 실시간 엔드포인트 호출: 즉시 응답이 돌아온다
response = runtime.invoke_endpoint(
    EndpointName="my-realtime-endpoint",
    ContentType="application/json",
    Body='{"features": [5.1, 3.5, 1.4, 0.2]}',
)
result = response["Body"].read()

추론 옵션 선택은 본질적으로 "always-on 비용 vs 지연 시간(latency) vs 처리량(throughput)"의 삼각 트레이드오프다. 실시간 엔드포인트는 인스턴스를 항상 켜두므로 트래픽이 없어도 비용이 나가지만 지연이 가장 낮다. 서버리스는 트래픽이 0이면 비용도 0이지만 콜드 스타트(cold start) 지연이 생긴다. 배치는 대량 처리당 비용이 가장 효율적이지만 즉시성이 없다. 시험은 이 셋 중 무엇을 우선해야 하는지 시나리오로 묻는다.

실시간 엔드포인트 — 즉시 응답이 생명일 때

HTTPS 엔드포인트로 항상 켜진 인스턴스가 요청을 받아 밀리초~초 단위로 응답한다.

  • 지정한 인스턴스가 24시간 가동 → 트래픽이 없어도 시간당 비용 발생
  • 가장 낮은 지연 시간(low latency), 일관된 성능
  • Auto Scaling으로 트래픽 증감에 인스턴스 수 조절 가능 — 단 최소 1대는 유지(0 불가)
  • 페이로드 6MB 이하, 응답 60초 이내 제약
  • 적합 사례: 추천 시스템, 사기 탐지, 챗봇처럼 사용자가 결과를 기다리고 있는 온라인 서비스

→ 트래픽이 꾸준하고 지연에 민감하면 실시간이 기본 선택지다.

서버리스 추론 — 트래픽이 들쭉날쭉할 때

인스턴스를 직접 관리하지 않고, 요청이 올 때만 컴퓨팅을 자동 프로비저닝한다.

  • 트래픽이 없으면 0으로 스케일 다운 → 유휴 비용이 들지 않는다
  • 지정할 것은 메모리 크기(1~6GB)와 최대 동시성(MaxConcurrency) 둘뿐 — 인스턴스 타입을 고르지 않는다
  • 페이로드 4MB 이하, 처리 60초 이내
  • 적합 사례: 사내 도구, 가끔 호출되는 데모, 트래픽이 들쑥날쑥한 신규 서비스
# 서버리스 엔드포인트 구성 — 메모리와 동시성만 지정
serverless_config = {
    "MemorySizeInMB": 2048,
    "MaxConcurrency": 10,
}

단점은 콜드 스타트다. 한동안 호출이 없다가 첫 요청이 오면 컨테이너를 띄우는 동안 지연이 생긴다. 일관된 저지연이 필요하면 부적합하다.

⚠️ 함정: "비용을 줄이고 싶다"는 키워드만 보고 무조건 서버리스를 고르면 안 된다. 트래픽이 꾸준히 많은 워크로드에서는 서버리스가 오히려 실시간 엔드포인트보다 비쌀 수 있다. 서버리스의 비용 이점은 "유휴 시간이 많을 때" 발생한다. 또 콜드 스타트를 못 견디는 SLA가 있으면 서버리스는 탈락이다. "간헐적/예측 불가 트래픽 + 콜드 스타트 허용"이 서버리스의 정확한 조건이다.

비동기 추론 — 크고 오래 걸리는 요청일 때

비동기 추론(Asynchronous Inference)은 요청을 내부 큐에 넣고 순차 처리한 뒤, 결과를 S3에 저장하고 SNS로 완료를 알린다.

  • 페이로드 최대 1GB, 처리 최대 60분 — 실시간/서버리스가 못 받는 구간을 커버한다
  • 입력을 본문에 싣지 않고 S3 위치(InputLocation)만 전달한다
  • 요청이 없으면 인스턴스를 0까지 줄일 수 있다(실시간은 최소 1대 유지)
  • 큐에 요청이 쌓이면 자동으로 인스턴스를 띄우고, 큐가 비면 다시 0으로 줄여 비용을 아낀다
  • 적합 사례: 큰 이미지/비디오 처리, 대용량 NLP 문서 추론
# 비동기 호출: 입력을 S3에 두고 위치만 전달, 즉시 응답 대신 출력 위치를 받는다
response = runtime.invoke_endpoint_async(
    EndpointName="my-async-endpoint",
    InputLocation="s3://my-bucket/input/large-image.png",
)
output_location = response["OutputLocation"]  # 결과가 저장될 S3 경로

비동기 추론은 실시간과 배치의 중간 지대를 메운다. 실시간처럼 엔드포인트가 살아 있어 개별 요청 단위로 호출하지만, 큐를 두어 요청 폭주를 흡수하고 큰 페이로드와 긴 처리시간을 허용한다. "엔드포인트가 필요하지만(개별 호출) 페이로드가 6MB를 넘거나 처리가 60초를 넘어 실시간 제약을 못 맞춘다" → 비동기가 정답인 전형적 신호다.

배치 변환 — 전체 데이터셋을 한 번에

배치 변환(Batch Transform)은 엔드포인트를 두지 않는다. S3의 대량 입력을 읽어 일괄 추론하고 결과를 S3에 쓴 뒤, 작업이 끝나면 리소스를 모두 종료한다.

  • 영구적인 엔드포인트 비용이 없다 — 작업이 도는 시간만 과금
  • 데이터를 여러 인스턴스에 분할해 병렬 처리(수평 확장)
  • 적합 사례: 야간 일괄 점수 계산, 전체 고객 이탈 예측, 누적 로그 분류처럼 즉시성이 필요 없고 한꺼번에 처리하면 되는 작업
from sagemaker.transformer import Transformer
 
transformer = Transformer(
    model_name="my-model",
    instance_count=4,           # 데이터를 분할해 병렬 처리
    instance_type="ml.m5.xlarge",
    output_path="s3://my-bucket/batch-output/",
)
transformer.transform(
    data="s3://my-bucket/batch-input/",
    content_type="text/csv",
    split_type="Line",          # 레코드 단위 분할
)

배치 변환은 데이터를 여러 인스턴스에 분할(split_type)하고 각 인스턴스가 미니배치(BatchStrategy, MaxPayloadInMB)로 처리해 수평 확장한다. 처리가 끝나면 클러스터가 통째로 사라지므로 always-on 비용이 0이다. "실시간성이 전혀 필요 없는 대량 일괄 처리"라는 키워드가 나오면 배치 변환이 거의 항상 가장 저렴한 정답이다.

제약 조건 비교 — 탈락 조건부터 거른다

시나리오에 숫자가 등장하면 제약으로 후보를 먼저 줄이는 편이 빠르다.

제약실시간서버리스비동기배치 변환
최대 페이로드6MB4MB1GB데이터셋 단위(S3)
최대 처리시간60초60초60분작업 단위(장시간 가능)
0까지 스케일불가(최소 1대)가능가능해당 없음(끝나면 종료)
GPU 인스턴스지원미지원지원지원
결과 수령 방식응답 본문응답 본문S3 + SNS 알림S3

⚠️ 함정: 서버리스 추론은 GPU를 쓸 수 없다. "딥러닝 추론인데 트래픽이 간헐적이니 서버리스로 비용을 줄이자"는 선택지는 GPU가 필요한 모델이라면 애초에 성립하지 않는다. 페이로드·처리시간뿐 아니라 하드웨어 요구도 탈락 조건이라는 점을 같이 봐야 한다는 점이다.

선택 기준 결정 트리

① 즉시(동기) 응답이 필요한가?
   │
   ├─ 아니오 ─┬─ 전체 데이터셋을 한 번에?        ──▶ 배치 변환
   │          └─ 개별 요청인데 크거나 오래 걸림? ──▶ 비동기 추론
   │
   └─ 예 ─────┬─ 트래픽이 꾸준한가?              ──▶ 실시간 엔드포인트
              └─ 간헐적 + 콜드 스타트 허용?      ──▶ 서버리스 추론
 
② 제약 재확인: 페이로드 > 6MB 이거나 처리 > 60초
   → 실시간/서버리스 탈락 → 비동기(1GB·60분) 또는 배치 변환

시나리오 키워드 → 정답 매핑

시나리오 키워드정답결정 근거
"구매 순간 50ms 판정, 트래픽 꾸준"실시간지연 최우선
"사내 도구, 하루 몇 번, 유휴가 대부분"서버리스유휴 비용 제거
"200MB 이미지, 5분 처리, 개별 요청"비동기페이로드·시간 제약 초과
"매일 밤 1,000만 건 점수화"배치 변환즉시성 불필요 + 최저 비용
"처리가 끝나면 알림을 받고 싶다"비동기SNS 완료 알림이 내장
"엔드포인트를 상시 유지하고 싶지 않다"배치 변환작업 종료 시 리소스 전부 해제

증상 → 원인 → 조치

증상원인조치
서버리스 첫 요청만 몇 초씩 느리다콜드 스타트(컨테이너·모델 로드)Provisioned Concurrency로 미리 워밍, 또는 실시간 전환
실시간 엔드포인트 비용이 과하다유휴 시간에도 인스턴스 상시 가동간헐 트래픽이면 서버리스·비동기로, 대량 일괄이면 배치로
호출이 타임아웃·페이로드 오류로 실패60초 초과 또는 6MB(서버리스 4MB) 초과비동기 추론(1GB·60분) 또는 배치 변환으로 이동
배치 작업이 인스턴스를 늘려도 안 빨라진다입력이 분할 불가능한 단일 대용량 파일입력을 여러 파일로 샤딩하고 split_type 지정
비동기 결과를 언제 받는지 모르겠다응답이 즉시 오지 않는 구조SNS 완료 알림 구독 + OutputLocation 확인

다음 글에서는 가장 핵심인 실시간 엔드포인트를 깊이 파고들어 구성, Auto Scaling, 인스턴스 선택을 본다.

📖 용어

  • 추론(Inference) : 학습이 끝난 모델에 새 데이터를 넣어 예측값을 얻는 단계. 모델을 "쓰는" 쪽이다.
  • 배포(Deployment) : 학습된 모델을 다른 시스템이 호출할 수 있는 형태로 올려두는 일.
  • 엔드포인트(Endpoint) : 모델을 호출할 수 있게 열어 둔 HTTPS 주소. 살아 있는 동안 요청을 받는다.
  • 동기 호출 : 요청을 보내면 그 자리에서 결과가 돌아오는 방식. 호출한 쪽이 기다린다.
  • 비동기 호출 : 요청만 접수하고 결과는 나중에 별도 경로(S3·알림)로 받는 방식.
  • 페이로드(Payload) : 한 번의 호출에 실어 보내는 데이터 본문. 크기 한도가 옵션마다 다르다.
  • 콜드 스타트(Cold start) : 한동안 안 쓰던 서비스의 첫 요청에서 컨테이너·모델을 새로 올리느라 생기는 지연.
  • always-on 비용 : 요청이 없어도 인스턴스가 켜져 있어 계속 나가는 고정 비용.
  • 지연 시간(Latency) : 요청을 보낸 뒤 응답이 돌아올 때까지 걸리는 시간.
  • 처리량(Throughput) : 단위 시간에 처리할 수 있는 요청·레코드의 개수.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

한 모바일 게임이 사용자가 아이템 구매 버튼을 누르는 순간 사기 여부를 50ms 이내에 판정해야 한다. 트래픽은 하루 종일 꾸준히 높다. 가장 적절한 추론 옵션은?

문제 2

사내 분석 도구가 가끔(하루 몇 번, 시간대 불규칙) 모델을 호출한다. 호출이 없는 시간이 대부분이라 인스턴스를 항상 켜두는 비용이 아깝다. 약간의 첫 응답 지연은 허용된다. 적절한 옵션은?

문제 3

의료 영상 분석 모델이 한 장당 200MB의 고해상도 이미지를 받아 처리에 약 5분이 걸린다. 요청은 개별로 들어오며 결과는 처리 완료 후 받으면 된다. 적절한 옵션은?

문제 4

매일 밤 12시에 전체 고객 1,000만 명의 이탈 확률을 계산해 데이터 웨어하우스에 적재한다. 실시간성은 전혀 필요 없다. 비용을 최소화하려면?

문제 5

비동기 추론이 실시간 엔드포인트와 구별되는 핵심 특징으로 가장 적절한 것은?

이전Week 5 종합: 모델 개발 2 복습Week 5 · Day 5다음 실시간 엔드포인트: 구성, 오토스케일링, 인스턴스 선택Week 6 · Day 2

참고 공식 자료

  • MLA-C01 공식 시험 안내(새 탭에서 열림)
  • Amazon S3 공식 문서(새 탭에서 열림)
  • Amazon SNS 공식 문서(새 탭에서 열림)

이 페이지

  • 4가지 추론 옵션 한눈에 보기
  • 실시간 엔드포인트 — 즉시 응답이 생명일 때
  • 서버리스 추론 — 트래픽이 들쭉날쭉할 때
  • 비동기 추론 — 크고 오래 걸리는 요청일 때
  • 배치 변환 — 전체 데이터셋을 한 번에
  • 제약 조건 비교 — 탈락 조건부터 거른다
  • 선택 기준 결정 트리
  • 시나리오 키워드 → 정답 매핑
  • 증상 → 원인 → 조치
  • 용어
  • 연습 문제