부스트캠프 AI Tech 2기

부스트캠프 AI Tech 2기/2기 Product Serving

머신러닝 디자인 패턴

1. 디자인 패턴 1.1 디자인 패턴이란? - 문제를 해결하는 방법을 패턴화해서 표현 - 반복적으로 발생하는 문제를 어떻게 해결할지에 대한 솔루션 - 추상화된 패턴 - 개발할 때 구조화된 패턴을 설명하는 용어 - 안티 패턴 : 좋지 않은 패턴 1.2 머신러닝 디자인 패턴 - Serving 패턴 : 모델을 Production 환경에 서빙하는 패턴 - Training 패턴 : 모델을 학습하는 패턴 - QA 패턴 : 모델의 성능을 Production 환경에서 평가하기 위한 패턴 - Operation 패턴 : 모델을 운영하기 위한 패턴 2. Serving 패턴 2.1 Web Single 패턴 장점 - 하나의 프로그래밍 언어로 진행 - 아키텍처의 단순함 - 처음 사용할 때 좋은 방식 단점 - 구성 요소 하나가 바..

부스트캠프 AI Tech 2기/2기 Product Serving

Airflow

1. Apache Airflow 소개 1.1 Batch Process란? 예약된 시간에 실행되는 프로세스 일회성(1회)도 가능하고, 주기적인 실행도 가능 ex. 이번 주 일요일 07:00에 1번 실행되는 프로세스 ex. 매주 일요일 07:00에 실행되는 프로세스 1.2 Batch Process - Airflow 등장 전 대표적인 Batch Process 구축 방법 : Linux Crontab 크론표현식 자주 사용되는 크론표현식 크론 메이커 http://www.cronmaker.com CronMaker www.cronmaker.com 크론 해석기 https://crontab.guru/ Crontab.guru - The cron schedule expression editor crontab.guru 크론탭의..

부스트캠프 AI Tech 2기/2기 Product Serving

BentoML

1. BentoML 1.1 Introduction 만약 30개~50개의 모델을 만들어야 한다면? 많은 모델을 만들다보니 반복되는 작업이 존재(Config, FastAPI 설정 등) 여전히 Serving은 어렵다 더 쉬운 개발을 위해 본질적인 “Serving”에 특화된 라이브러리를 원하게 됨 이런 목적의 라이브러리들이 점점 등장하기 시작 1.2 BentoML 소개 위의 문제로인해 많은 라이브러리가 등장하고 있음 1.3 BentoML 특징 Serving에 집중하는 가벼운 Library, BentoML - 쉬운 사용성 - Online / Offline Serving 지원 - Tensorflow, PyTorch, Keras, XGBoost 등 Major 프레임워크 지원 - Docker, Kubernetes, A..

부스트캠프 AI Tech 2기/2기 Product Serving

Cloud

1. Cloud 1.1 Cloud 서비스를 사용하는 이유 갑자기 트래픽이 몰릴 경우, 컴퓨터 10대를 설치하기 어려움(자재 수급 이슈 등) 반대로 트래픽이 적어서 컴퓨터 10대를 없애기가 수월하지 않음 예전에는 IDC(Internet Data Center)를 사용했지만 현재는 cloud를 많이 사용하게됨 1.2 Cloud 서비스의 다양한 제품 Data Warehouse Database에 저장된 데이터는 데이터 분석을 메인으로 하는 저장소가 아닌 서비스에서 활용할 Database Database에 있는 데이터 Object Storage 에 있는 데이터 등을 모두 모아서 Data Warehouse에 저장 데이터 분석에 특화된 Database 2. Google Cloud Platform 2.1 Google C..

부스트캠프 AI Tech 2기/2기 Product Serving

Linux & Shell Command

1. Linux 1.1 Linux 1.2 Linux를 알아야 하는 이유 1.3 CLI, GUI 1.4 대표적인 Linux 배포판 리눅스 배포판 https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC:Linux_Distribution_Timeline.svg Debian - 온라인 커뮤니티에서 제작해 배포 Ubuntu - 영국의 캐노니컬이라는 회사에서 만든 배포판으로 쉽고 편한 설치 - 초보자들이 쉽게 접근할 수 있도록 만듬 Redhat - 레드햇이라는 회사에서 배포한 리눅스 CentOS - Red Hat이 공개한 버전을 가져와서 브랜드와 로고를 제거하고 배포한 버전 1.5 Linux, Shell Script 학습 가이드 2. Shell Command 2.1 쉘의 종류 쉘 -..

부스트캠프 AI Tech 2기/2기 Product Serving

웹 서비스 형태 - Streamlit

1. 웹 서비스 형태 - Streamlit 1.1 웹 서비스를 만드는 과정 다른 조직의 도움 없이 빠르게 웹 서비스를 만드는 방법이 무엇일까? Voila는 노트북환경에서 빠르게 프로토타입으로 보여주기 위한 방법이고 Streamlit은 웹페이지형태로 만들고 싶어서 만들게됐다 1.2 Streamlit의 대안 1)R의 Shiny 2) Flask, Fast API : 백엔드를 직접 구성 + 프론트엔드 작업도 진행 3) Dash : 제일 기능이 풍부한 Python 대시보드 라이브러리 4) Voila : Jupyter Notebook을 바로 시각화 가능 1.3 Streamlit Component 장점 - 파이썬 스크립트 코드를 조금만 수정하면 웹을 띄울 수 있음 - 백엔드 개발이나 HTTP 요청을 구현하지 않아도 ..

부스트캠프 AI Tech 2기/2기 Product Serving

Notebook 베이스 - Voila

1. Voila 1.1 프로토타입이 중요한 이유 - 모델을 개발한 후, 사람들과 테스트할 수 있는 프로토타입을 먼저 만들어보기 - 이 모델이 어떤 결과를 반환하는가?를 테스트할 수 있음 - 그러나 웹 서비스를 만드는 것은 시간이 많이 소요됨 - 익숙한 노트북에서 프로그램을 만들면 시간을 아낄 수 있음 - ipywidget과 같이 사용할 경우 간단한 대시보드를 구축할 수도 있음 - 실행할 때 저장된 Notebook 파일이 순차적으로 실행 1.2 Voila repository https://github.com/voila-dashboards/voila GitHub - voila-dashboards/voila: Voilà turns Jupyter notebooks into standalone web applic..

부스트캠프 AI Tech 2기/2기 Product Serving

머신러닝 프로젝트 라이프 사이클

1. 머신러닝 프로젝트 Flow 1.1 문제 정의의 중요성 How보다 Why에 집중 문제 정의란? - 본질을 파악하는 과정 - 해결해야 하는 문제는 무엇이고 그 문제를 해결하면 무엇이 좋을까? 어떻게 해결하면 좋을까? 1.2 현상 파악 어떤 현상이 발견되었는가? 현재 상황을 파악함 - 어떤 일이 발생하고 있는가? - 해당 일에서 어려움은 무엇인가? - 해당 일에서 해결하면 좋은 것은 무엇인가? - 추가적으로 무엇을 해볼 수 있을까? - 어떤 가설을 만들어 볼 수 있을까? - 어떤 데이터가 있을까? 1.3 구체적인 문제 정의 문제 정의는 결국 현상을 계속 쪼개고, 그 문제를 기반으로 어떤 어려움을 겪고 있는지를 파악함 데이터로 할 수 있는 일을 만들어서 진행하되, 무조건 알고리즘 접근이 최상은 아니라는 방..

모플로
'부스트캠프 AI Tech 2기' 카테고리의 글 목록