[부스트캠프 AI-Tech] 18주차 Day 2

LKM·2022년 7월 25일
0

✏️학습 정리


1-3. Model Serving

  • Model Serving Basic

    • Production(Real World) 환경에 모델을 사용할 수 있도록 배포
    • 머신러닝 모델을 개발하고, 현실 세계에서 사용할 수 있게 만드는 행위
    • input이 제공되면 모델이 output을 반환
    • 방법
      • Batch Serving
      • Online Serving
      • Edge Serving (모바일 기기, IoT 기기에서 사용)
  • Online Serving

    • 웹 서버
      • 요청(Request)을 받으면 요청한 내용을 보내주는 Response 프로그램
      • 예시 (Youtube 접속 과정)
        • 크롬에서 Youtube에 접근
        • 페이지 요청 (Request)
        • 유튜브 서버는 유튜브 메인 페이지 반환 (Response)
    • 머신러닝 모델 서버
      • 데이터를 제공하며 예측해달라고 요청(Request)하면, 모델을 사용해 예측 값을 반환(Response)하는 서버
    • API (Application Programming Interface)
      • 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
      • 특정 기능을 사용할 수 있도록 외부에 노출: 지도 API, 기상청 API 등..
    • Online Serving Basic
      • 요청(Request)이 들어올 때마다 실시간으로 예측
      • 구현 방식
        • 직접 API 웹 서버 개발
          • Flask, FastAPI 등을 사용해 서버 구축
        • 클라우드 서비스 활용
          • AWS의 SageMaker, GCP의 Vertex AI 등…
          • MLOps의 다양한 부분이 제공 (API 서버 등..)
          • 직접 만드는 것보다 많은 비용이 나갈 수 있음
        • Serving 라이브러리 활용
          • Tensorflow Serving, Torch Serve, MLFlow, BentoML 등..
          • 추상화된 패턴을 잘 제공하는 오픈소스를 활용하는 방식
      • 고려할 부분
        • Python 버전, 패키지 버전 등 Dependency가 굉장히 중요 → Virtualenv, Poetry, Docker
        • 재현 가능 하지 않은 코드는 Risk를 가지는 코드
        • 실시간 예측을 하기에 예측할 때 지연 시간(Latency)를 최소화해야 함
  • Batch Serving

    • 특정 기간 단위로 예측
    • 주기적으로 학습을 하거나 예측을 하는 경우 사용
    • Airflow, Cron Job 등으로 스케쥴링 작업 (Workflow Scheduler)
    • 장점
      • Online Serving 보다 구현 수월, 간단
      • 한번에 많은 데이터를 처리하므로 Latency가 문제되지 않음
    • 단점
      • 실시간 활용 불가
      • Cold Start 문제 (오늘 새로 생긴 컨텐츠 추천 X)



1-4. 머신러닝 프로젝트 라이프 사이클

https://velog.io/@kangmin/부스트캠프-AI-Tech-5주차-Day-1

profile
함께 자라기

0개의 댓글