AI: 배포 아키텍처 – Batch Serving
ㅁ 배포 아키텍처
ㅇ 정의:
– Batch Serving은 일정 주기마다 대량의 데이터를 한 번에 처리하여 결과를 제공하는 AI 모델 서빙 방식이다.
– 실시간 응답이 필요하지 않은 경우에 주로 사용되며, 사전 계산된 결과를 저장 후 제공한다.
ㅇ 특징:
– 데이터 처리량이 크고, 처리 주기가 명확하다.
– 처리 시간 동안 결과가 갱신되지 않으며, 일정 간격으로만 업데이트된다.
– 분산 처리 시스템(Hadoop, Spark 등)과 연계하여 대규모 데이터를 효율적으로 처리 가능.
ㅇ 적합한 경우:
– 일 단위, 시간 단위로 집계가 필요한 리포트 생성.
– 추천 시스템에서 하루 한 번 모델을 재학습 후 결과 제공.
– 대규모 로그 데이터 분석.
ㅇ 시험 함정:
– Batch Serving은 항상 실시간성을 제공한다고 오해하는 경우 (X)
– Batch Serving은 데이터가 생성되는 즉시 반영되는 구조이다 (X)
– Batch Serving은 사전 계산된 결과를 제공하므로 응답 지연이 거의 없다 (O, 단 실시간성 아님)
ㅇ 시험 대비 “패턴 보기” 예시:
– “Batch Serving은 실시간 데이터 스트리밍 처리에 적합하다” → X
– “Batch Serving은 일정 주기마다 대량 데이터를 처리하여 결과를 제공한다” → O
– “Batch Serving은 대규모 로그 분석에 적합하다” → O
– “Batch Serving은 데이터 변경 즉시 결과를 반영한다” → X
ㅁ 추가 학습 내용
Batch Serving과 Online Serving(Real-time Serving)의 차이점 정리
Batch Serving
– 일정한 처리 주기에 따라 데이터를 모아 한 번에 처리
– 결과 갱신 주기가 길어 최신성이 떨어질 수 있음
– 대규모 데이터를 효율적으로 처리하는 데 강점
– 구현 시 스케줄링 도구(Airflow, Cron 등)와 연계하여 주기적 실행
– 처리 결과를 데이터베이스나 캐시 등에 저장하여 활용
– 성능 최적화를 위해 병렬 처리, 파티셔닝 등의 기법 사용
Online Serving (Real-time Serving)
– 요청이 발생하는 즉시 데이터를 처리하고 결과를 반환
– 실시간성이 높아 최신 데이터를 즉시 반영 가능
– 처리 주기가 아닌 개별 요청 단위로 동작
– 낮은 지연 시간과 빠른 응답 속도가 중요
시험 포인트
– ‘실시간성’과 ‘처리 주기’의 개념 차이를 명확히 구분
– Batch Serving은 주기적 처리, Online Serving은 즉시 처리라는 핵심 구분을 이해