AI: 배포 아키텍처 – Real-time Serving
ㅁ 배포 아키텍처
ㅇ 정의:
실시간 서빙(Real-time Serving)은 AI 모델의 예측 결과를 사용자의 요청에 즉시 응답하는 형태로 제공하는 배포 방식으로, 요청-응답 지연(latency)을 최소화하는 것을 목표로 함.
ㅇ 특징:
– 밀리초~수초 단위의 응답 속도 요구
– 온라인 API 형태로 제공되며, 주로 REST API, gRPC 기반
– 고가용성(HA)과 확장성(Scalability)을 위해 로드 밸런싱, 캐싱, 오토스케일링 적용
– 실시간 데이터 스트림 처리와 결합 가능 (Kafka, Flink 등)
ㅇ 적합한 경우:
– 챗봇, 음성인식, 실시간 추천 시스템, Fraud Detection 등 즉시성 요구 서비스
– 사용자가 대기 시간을 인지할 수 있는 인터랙티브 서비스
ㅇ 시험 함정:
– ‘실시간’이라는 용어를 ‘배치 처리’와 혼동하는 경우
– 스트리밍 처리와 실시간 서빙의 차이를 구분하지 못하는 경우
– 응답 속도와 처리량(throughput)을 동일시하는 경우
ㅇ 시험 대비 “패턴 보기” 예시:
O: “사용자 요청에 대해 1초 이내 응답을 목표로 하는 AI 모델 배포 방식”
X: “대량 데이터를 모아 주기적으로 처리하는 방식”
ㅁ 추가 학습 내용
실시간 서빙 관련 학습 정리
1. 모델 최적화 기법
– TensorRT, ONNX Runtime, Quantization 등을 활용하여 모델 추론 속도와 효율성을 높임
– 추론 지연 최소화와 리소스 사용 최적화를 목표로 함
2. 네트워크 지연 최소화 방법
– CDN(Content Delivery Network) 활용: 사용자와 가까운 노드에서 콘텐츠 제공
– 엣지 컴퓨팅 활용: 데이터 처리와 추론을 사용자 근처에서 수행하여 지연 감소
3. Online Serving과 Near Real-time Serving 차이
– Online Serving: 요청이 들어올 때 즉시 모델이 응답하는 방식
– Near Real-time Serving: 약간의 지연이 허용되며, 배치 처리나 스트리밍 처리와 결합 가능
4. 요청 처리 방식
– 동기 처리: 요청-응답이 순차적으로 진행, 응답을 받을 때까지 대기
– 비동기 처리: 요청 후 즉시 다음 작업 수행 가능, 응답은 별도로 수신
5. SLA(Service Level Agreement) 지표
– Latency: 요청에 대한 응답 시간
– Availability: 서비스 가용성 비율
– Error Rate: 오류 발생 비율
6. 서버리스 환경에서의 실시간 서빙
– 장점: 인프라 관리 부담 감소, 자동 확장, 사용량 기반 과금
– 단점: 콜드 스타트 지연, 장기 연결 처리 어려움, 특정 런타임 제약
7. 무중단 배포 전략
– Canary Deployment: 일부 트래픽만 신규 버전에 전달 후 점진적 확대
– Blue-Green Deployment: 기존 버전(Blue)과 신규 버전(Green)을 병행 운영 후 전환