배포 아키텍처: Batch Serving

ㅁ 배포 아키텍처

ㅇ 정의:
배포 아키텍처는 AI 모델을 실제 서비스 환경에 배포하기 위한 구조와 방법론을 의미하며, 모델의 성능, 확장성, 안정성을 보장하기 위한 중요한 설계 요소이다.

ㅇ 특징:
– 다양한 배포 방식(Batch, Online 등)으로 구성될 수 있음.
– 데이터 처리량, 응답 속도, 시스템 자원 등을 고려하여 설계됨.
– 클라우드 환경, 온프레미스 환경 등 다양한 인프라 환경에 적합하게 설계 가능.

ㅇ 적합한 경우:
– AI 모델을 운영 환경에서 안정적으로 실행하고자 할 때.
– 대규모 데이터 처리와 실시간 응답이 필요한 경우.

ㅇ 시험 함정:
– 배포 아키텍처의 유형을 혼동하거나, 적합하지 않은 케이스를 선택하는 경우.
– Batch와 Online의 특성을 명확히 구분하지 못하는 경우.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: 배포 아키텍처 설계 시 처리량과 응답 속도를 고려해야 한다.
– X: 배포 아키텍처는 항상 클라우드 환경에서만 작동한다.

================================

1. Batch Serving

ㅇ 정의:
Batch Serving은 AI 모델이 대규모 데이터를 일정 주기로 처리하여 결과를 생성하는 배포 방식이다.

ㅇ 특징:
– 실시간성이 요구되지 않는 작업에 적합.
– 대규모 데이터 처리에 유리하며, 처리 완료 후 결과를 저장하거나 전달.
– 주로 데이터 분석, 리포트 생성, 예측 작업 등에 사용.

ㅇ 적합한 경우:
– 데이터 처리 주기가 명확히 정해져 있는 경우.
– 실시간 응답이 필요하지 않고, 대량의 데이터를 한 번에 처리해야 하는 경우.

ㅇ 시험 함정:
– Batch Serving과 Online Serving을 혼동하여 실시간성이 요구되는 작업에 Batch Serving을 사용하는 것으로 오해하는 경우.
– Batch 처리의 주기를 설정하는 기준을 명확히 이해하지 못하는 경우.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: Batch Serving은 대규모 데이터를 주기적으로 처리하는 데 적합하다.
– X: Batch Serving은 항상 실시간 데이터를 처리하기 위한 방식이다.

ㅁ 추가 학습 내용

Batch Serving과 관련하여 학습해야 할 내용을 다음과 같이 정리할 수 있습니다:

1. **Batch Serving의 주기 설정과 최적화 방법**
– 데이터 처리 주기를 짧게 설정할 경우:
– 실시간에 가까운 데이터 갱신이 가능하지만 시스템 부하가 증가할 수 있음.
– 빈번한 배치 작업으로 인해 자원 소모가 많아질 수 있으므로 리소스 관리가 중요.
– 데이터 처리 주기를 길게 설정할 경우:
– 시스템 부하를 줄일 수 있지만 데이터 갱신이 느려져 지연 시간이 증가.
– 긴 주기 설정 시 사용자 요구 사항과 데이터 신선도 간의 균형을 고려해야 함.
– 최적화 방법:
– 데이터 처리량과 시스템 리소스를 분석하여 적절한 주기 설정.
– 필요시 우선순위가 높은 데이터만 처리하거나 인덱싱을 활용.
– 주기적 작업을 스케줄링하면서 리소스 사용량을 모니터링하고 조정.

2. **Batch Serving에서 사용하는 주요 기술 스택**
– Apache Spark:
– 분산 데이터 처리에 최적화된 프레임워크로, 대규모 배치 작업에 적합.
– 데이터 변환, 집계, 분석 등을 효율적으로 수행.
– Hadoop:
– 분산 파일 시스템(HDFS)과 맵리듀스 기반으로 대규모 데이터 처리 가능.
– 데이터 저장 및 처리에 안정적인 환경 제공.
– 기타 기술:
– Flink: 실시간 및 배치 처리 모두 가능.
– Airflow: 배치 작업의 워크플로 관리에 적합.
– Presto: 대규모 데이터 쿼리 처리에 활용 가능.

3. **Batch Serving 결과 저장 및 전달 방식**
– 데이터베이스에 저장:
– 관계형 데이터베이스(MySQL, PostgreSQL 등)나 NoSQL 데이터베이스(MongoDB, Cassandra 등)에 결과를 저장.
– 데이터 검색 및 쿼리 기능을 통해 결과 활용 가능.
– 파일로 저장:
– CSV, JSON, Parquet 등의 포맷으로 결과를 파일로 저장.
– 저장된 파일은 분석 또는 다른 시스템으로 전송 가능.
– 메시지 큐를 통해 전달:
– Kafka, RabbitMQ 등을 사용하여 배치 결과를 메시지 큐로 전달.
– 실시간 소비자 시스템과 연계하여 데이터 활용 가능.

이러한 내용은 배포 아키텍처의 실제 구현 사례를 이해하는 데 중요한 요소이며 시험 대비에 유용합니다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*