MLOps21 MLOps - 12. FastAPI 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. 1.백엔드 프로그래밍 1.1 Server 구성 Use Case 앱/웹 서비스의 서버가 존재 머신러닝 서비스의 서버가 존재 서비스 서버에서 머신러닝 서버에 예측 요청하며 통신함(혹은 서비스 서버의 한 프로세스로 실행) 1.2 Server의 형태 1.2.1 Monolithic Architecture 하나의 큰 서버 = 종업원, 요리사, 서랍, 계산 등을 모두 하나에서 처리하는 경우(큰 범주로 모두 서버) 모놀리식 아키텍처(Monolithic Architecture) 1.2.2 Mircroservice Architecture - MSA 종업원, 요리사, 서랍, 계산 등을 각각의 개별 서버로 구성하고 서로 통신하도록 하는 경우 마이크로서비스 아키텍처.. 2022. 5. 27. MLOps - 11. CI/CD, Github Action 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. 1. CI/CD 1.1 현업 개발 프로세스 Local 각자의 컴퓨터에서 개발 각자의 환경을 통일시키기 위해 Docker 등을 사용 Dev Local에서 개발한 기능을 테스트할 수 있는 환경 Test 서버 Staging Production 환경에 배포하기 전에 운영하거나 보안, 성능 측정하는 환경 Staging 서버 Production 실제 서비스를 운영하는 환경 운영 서버 개발 환경을 나누는 이유 Dev = Staging = Production인 경우 - 소스 코드를 저장하면 바로 반영 PyCharm이 SSH로 서버에 바로 붙어있고, 자리비운 상황에 만약 고양이가 코드를 치고 ctrl + s를 했다면? 1.2 CI/CD 개념 서버에 코드를 보.. 2022. 5. 26. MLOps - 10. Cloud 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. 1. Cloud 1.1 Cloud 서비스를 사용하는 이유 웹, 앱 서비스를 만드는 경우 자신의 컴퓨터(localhost)로 서비스를 만들 수도 있음 IP로 누구나 접근할 수 있게 수정하고, IP를 공유하기 등 그러나 이런 경우 자신의 컴퓨터가 종료되면 웹, 앱 서비스도 종료됨 물리적 공간, 확장성을 고려한 서버실을 만들고 운영 - 전통적인 접근 방법 IDC(Internet Data Center) 서버 컴퓨터를 넣을 공간 + 추후 서버를 추가할 때 즉각적으로 확장할 수 있는지 전기, 에어컨 등 서버가 급작스럽게 종료되지 않도록 준비가 필요함 갑자기 트래픽이 몰릴 경우, 컴퓨터 10대를 설치하기 어려움(자재 수급 이슈 등) 반대로 트래픽이 적어서.. 2022. 5. 25. MLOps - 9. Linux & Shell Command 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. 1.Linux 1.1 Linux를 알아야 하는 이유 서버에서 자주 사용하는 OS Mac, Window도 서버로 활용은 가능하나 유료 Free, 오픈소스 여러 버전이 존재 => 여러분들의 버전을 만들 수도 있음 안정성, 신뢰성. 유닉스라 Stability, Reliability 쉘 커맨드, 쉘 스크립트 1.2 CLI, GUI CLI : Terminal Command Line Interface GUI : Desktop Graphic User Interface 1.3 대표적인 Linux 배포판 Debian 온라인 커뮤니티에서 제작해 배포 Ubuntu 영국의 캐노니컬이라는 회사에서 만든 배포판으로 쉽고 편한 설치 - 초보자들이 쉽게 접근할 수 있도록.. 2022. 5. 24. MLOps - 8. Streamlit 실습 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. ref : https://stackoverflow.com/questions/70274841/streamlit-unhashable-typeerror-when-i-use-st-cache 출처 : https://github.com/philhoonoh/Boostcamp-AI-Tech-Product-Serving/blob/main/part2/02-streamlit/app_mrc.py import streamlit as st import time from transformers import pipeline import copy import tokenizers import os from predict import load_model, get_predict.. 2022. 5. 23. MLOps - 7. Streamlit 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. streamlist run app.py --server.port 30002 2022. 5. 23. MLOps - 6. Streamlit 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. 1. Streamlit 1.1 웹 서비스를 만드는 과정 데이터 분석가(또는 데이터 사이언티스트 등)가 웹 서비스를 작업하는 Flow 데이터 Product로 중요하게 된다면 프론트엔드/PM 조직과 협업 단, 프론트엔드/PM 조직은 다른 웹도 만들고 있어서 빠르게 이터레이션이 어려움 다른 조직의 도움 없이 빠르게 웹 서비스를 만드는 방법이 무엇일까? 이런 문제를 해결하기 위해 등장한 것이 Streamlit 주의할 점 : 툴이나 라이브러리에 집착하지 말고, 점진적으로 문제를 해결하는 과정에 집중하기! 현재 사용하는 도구의 장단점은 어떤 것이고 새로운 대안이 있을지 항상 생각해보기! 강의에선 Voila - Streamlit 순서로 했지만, 추후엔 S.. 2022. 5. 22. MLOps - 5. Voila, ipywidget 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. View Source In [ ]: from IPython.core.display import display, HTML display(HTML("")) 0. Libarary Import¶ In [9]: import io import os import yaml import pandas as pd import numpy as np from PIL import Image import torch import torch.nn as nn import torch.nn.functional as F from efficientnet_pytorch import EfficientNet import albumentations import albumentations... 2022. 5. 21. MLOps - 4. Voila, ipywidget 출처 : 변성윤님 블로그. 출처 : 부스트캠프 AI Tech. 1. Voila 1.1 Why Voila? - 프로토타입이 중요한 이유 모델 개발 과정 Jupyter Notebook에서 함수를 작성한 후, 예측 함수를 실행하며 성능 확인 혼자 확인할 땐 위와 같이 진행해도 괜찮으나, 동료들과 함께 보면서 이야기할 때는? 라이브러리의 의존성 테스트를 위해 추가 환경 설정이 필요 개발을 잘 모르는 분에게 테스트 요청할 경우엔 이 부분을 어려워 할 수 있음 이런 경우 활용할 수 있는 도구가 Voila Notebook 베이스로 프로토타입 만들기 ipywidget과 같이 사용할 경우 간단한 대시보드를 구축할 수도 있음 실행할 때 저장된 Notebook 파일이 순차적으로 실행 1.2 Voila Voila의 본래 목적.. 2022. 5. 20. 이전 1 2 3 다음