Serving
머신 러닝 모델 Serving
모델의 예측 결과를 요청한 Client에게 제공하는 과정
데이터에 기반하여 모델 예측 결과를 제공하는 것
정의
- Production(Real World) 환경에 모델을 사용할 수 있도록 배포하는 것
- ‘머신러닝 모델의 서비스화’
- 모델을 연구하는 환경 이후에 진행되는 작업
- Input을 Model에게 주입하면 모델이 Output을 반환
- Model은 머신러닝 모델, 딥러닝 모델, LLM 등 다양할 수 있음
Serving의 종류
Batch Serving과 Online(Real Time) Serving 두 가지 방식을 많이 활용
Batch Serving
- Batch : 일괄, 묶음
- 데이터를 일정 묶음 단위로 서빙(예 : 14시~15시 사이에 생성된 데이터)
- Batch Serving은 많은 양을 일정 주기로 한꺼번에 서빙
- 정기 배송, 택배와 유사함
Online(Real Time) Serving
- Online : 연결, 실시간
- 클라이언트가 요청할 때 서빙 (예: API Request)
- 요청할 때 데이터를 같이 제공
- Online Serving은 주문이 들어오면 바로 만들어 전달
- 한번에 하나씩 포장해서 배송
- 동시에 여러 주문이 들어올 경우 확장 가능하도록 준비해야 함
어떤 Serving을 사용해야 할까?
문제의 상황, 문제 정의, 제약 조건, 개발할 인력 수, 데이터 저장 형태, 레거시 유무 등에 따라 결정
Batch Serving 사용 경우
- 상황
- 실시간 응답이 중요하지 않은 경우
- 데이터 처리에 일정 시간이 소요되어도 괜찮은 경우
- 대량의 데이터를 처리할 때
- 정기적인 일정으로 수행할 때
- 실시간 응답이 중요하지 않은 경우
- 인력
- 인력이 적은 경우 → Batch Serving이 Online Serving보다 쉬울 수 있음
- 데이터 저장 형태
- RDB, 데이터 웨어하우스
- Batch Serving의 예시
- DoorDash의 레스토랑 추천
- Netflix의 추천(2021년)
- 1시간 단위, 4시간 단위, 24시간(하루) 단위로 예측 후 DB에 저장
→ 서비스(앱/웹)는 DB에 있는 예측 결과 활용
Online Serving 사용 경우
- 상황
- 실시간 응답이 중요한 경우 : 즉각적으로 응답을 제시해야 하는 경우
- 개별 요청에 대한 맞춤 처리가 중요할 때
- 동적인 데이터에 대응할 때 : 데이터가 지속적으로 변하는 경우
- 인력
- API 서버, 실시간 처리 등의 경험이 필요
- 데이터 저장 형태
- 요청할 때 같이 데이터 제공
- Online Serving의 예시
- 유튜브의 추천 시스템(새로고침)
- 번역
- 은행의 사기 탐지 시스템 : 실시간으로 거래의 이슈 탐지
- 요청(Request)이 오면 바로 요청에 대한 응답(Response)을 제공
'Study - AI > Product Serving' 카테고리의 다른 글
2. Serving Pattern (2) | 2024.12.11 |
---|