Serving

머신 러닝 모델 Serving

모델의 예측 결과를 요청한 Client에게 제공하는 과정
데이터에 기반하여 모델 예측 결과를 제공하는 것

정의

  • Production(Real World) 환경에 모델을 사용할 수 있도록 배포하는 것
  • ‘머신러닝 모델의 서비스화’
  • 모델을 연구하는 환경 이후에 진행되는 작업
  • Input을 Model에게 주입하면 모델이 Output을 반환
  • Model은 머신러닝 모델, 딥러닝 모델, LLM 등 다양할 수 있음

Serving의 종류

Batch ServingOnline(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