Model Serving

eric9687·2022년 1월 16일
0

Serving

  • Production(Real world)환경에 모델을 사용할 수 있도록 배포
  • 머신러닝 모델을 개발하고, 앱/웹 들에서 사용할 수 있게 만드는 행위
  • 서비스화라고 표현 가능
  • 머신러닝 모델을 회사 서비스의 기능 중 하나로 활용
  • 방식: Online/ Batch/ Edge(모바일기기, IoT device) serving

Online Serving

  • 웹 서버
    - HTTP를 통해 웹 브라우저에서 요청하는 HTML문서나 오브젝트를 전송해주는 서비스 프로그램
    • 요청(Request)을 받으면 요청한 내용을 보내주는(Response) 프로그램
    • Falsk, FastAPI등을 사용해 서버 구축
    • 클라우드 서비스 활용
  • API(Application Programming Interface)
    • 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
    • 특정 서비스에서 해당 기능을 사용할 수 있도록 외부에 노출
    • 라이브러리 함수: Pandas, Tensorflow, Pytorch...
  • Online Servingㅇ서 고려할 부분
    • Input data를 기반으로 database에 있는 데이터를 추출해서 모델 예측해야하는 경우
      • 데이터는 다양한 공간에 저장되어 있을 수 있음
      • 데이터를 추출하기 위해 쿼리를 실행하고, 결과를 받는 시간 소요
    • 모델이 수행하는 연산
      • RNN, LSTM은 회귀분석보다 많은 연산 요구, 시간소요가 많음
      • 경량화 작업이 필요할 수 있음
    • 결과 값에 대한 보정이 필요한 경우
      • 유효하지않은 예측값 반환

    Batch Serving

  • Workflow Scheduler
    : 작업을 특정 기간 단위로 실행, Airflow, Cron Job
  • 주기적으로 학습이나 예측
profile
그러나 먼저 된 자로서 나중되고 나중 된 자로서 먼저될 자가 많으니라(마:19:30)

0개의 댓글