[부스트캠프 AI tech 4기] week 8 회고 📝 - AI 서비스 기초

반응형

BoostCamp AI tech

 

 

Contents

    1. 강의 내용 (Product Serving)

    1️⃣ 강의 소개

    1강에서는 변성윤 마스터님의 소개 및 강의의 목표, 커리큘럼, 어떻게 학습하는 게 좋을지 추천 학습 방식 등을 다뤄주셨습니다.

     

    2️⃣ MLOps 개론

    2강에서는 아래 2가지를 중점적으로 다뤘습니다. 

    1. MLOps 개론
      1. 모델 개발 프로세스(Research)
      2. 모델 개발 프로세스(Production) 
    2. MLOps Component
      1. Infra(Server, GPU) 
      2. Serving 
      3. Experiment, Model Management 
      4. Feature Store 
      5. Data Validation 
      6. Continuous Training 
      7. Monitoring 
      8. AutoML

     

    3️⃣ Model Serving

    3강 에서는 모델 서빙과 온라인 서빙 vs 배치 서빙의 차이에 대해 주로 다룹니다.

    1. Model Serving
      1. Serving Basic
    2. Online Serving
      1. Web Server Basic
      2. API
      3. Online Serving Basic
    3. Batch Serving
      1. Batch Serving Basic 3.2 Online Serving vs Batch Serving

     

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

    4강 에서는 머신러닝 프로젝트의 Flow를 다룹니다.

    1. 머신러닝 프로젝트 Flow
      1. 문제 정의의 중요성
      2. 현상 파악
      3. 구체적인 문제 정의
      4. 프로젝트 설계
      5. 지표 결정
      6. Action(모델 개발 후 배포 & 모니터링)
      7. 추가 원인 분석
    2. 비즈니스 모델
      1. 비즈니스 모델 파악하기

     

    5️⃣ Voila

    5강 에서는 머신러닝 모델의 프로토타입을 만들기 좋은 Voila와 ipywidget을 같이 쓰는 방법을 배웁니다.

    1. Voila
      1. 프로토타입이 중요한 이유
      2. Voila
    2. ipywidget
      1. ipywidget 사용법
      2. Ipywidget + Voila

     

    6️⃣ 웹 서비스 - Streamlit

    6강 에서는 프로토타이핑에 가장 Fancy 한 Streamlit을 이용한 방법을 배웁니다.

    1. 웹 서비스 형태 - Streamlit
      1. 웹 서비스를 만드는 과정
      2. Streamlit의 대안
      3. Streamlit Component
      4. Session State
      5. @st.cache

     

    7️⃣ Linux & Shell Command

    7강 에서는 Linux 기초와 쉘의 종류 기초적인 커맨드와 Redirection & Pipe, 쉘 스크립트 기초를 배웁니다.

     

    8️⃣ Docker

    8강 에서는 가상화의 개념과 Docker 등장의 의의, 할 수 있는 일을 다룹니다. 설치하고 실행하며 Image를 만들어보고 이미지 배포까지 다룹니다.

     

    9️⃣ MLflow

    9강 에서는 MLflow란 무엇인지 실습하며 알아봅니다. 그냥도 띄워보고, 도커를 이용해서도 띄워봅니다.

     

    2. 피어 세션

    1) 일반

    이번 주에는 AL 서비스 개발 기초 강의와 실습을 듣고, 중요한 부분은 파트를 나누어 공부한 뒤에 발표를 하는 방식으로 진행했습니다. 최종적으로 스페셜 미션으로 저번 주에 진행한 책 평점 대회의 모델을 활용하여 AI 서비스를 streamlit을 통해 개발하는 과제가 주어졌습니다. 모두 과제를 어떻게 해결했는지 돌아가며 발표해보는 시간을 가졌습니다. 

    제가 만든 서비스는 책을 5권 고르면, 유클리디안 유사도와 책의 평점, 투표한 횟수 등의 정보를 바탕으로 유저와 취향이 얼마나 유사한지 책을 보여주며, Top 10 book들을 보여주는 간단한 웹서비스를 만들어 보았습니다.

    BookTube 서비스 시연영상 10초 내외

    2) 코딩 테스트 스터디

    이번 주에는 최단 경로와 관련된 알고리즘을 풀어와 한 문제씩 발표하고 의견을 나누었습니다.

    최단 경로 알고리즘

    다익스트라 알고리즘부터, 플로이드 와샬 알고리즘, 벨만 포드 알고리즘까지 정말 다양하게 다루었습니다. 특히, 프로그래머스의 합승 택시 요금은 다익스트라 알고리즘과, 플로이드 와샬 알고리즘으로 모두 풀 수 있었는데 시간 복잡도 측면에서 어떤 차이가 있을 까 궁금하여 프로그래머스에서 주어진 테스트 케이스 30개에 대해 각 알고리즘으로 제출해보고 시간복잡도 차이가 어떻게 발생하는지 분석해봤습니다.

    다익스트라 알고리즘과 플로이드 와샬 알고리즘 시간복잡도 차이 설명
    테스트 케이스별 시간복잡도 차이 그래프

     

    3) 면접 질문 스터디

    이번 주 면접 질문 스터디의 주제는 저번 주에 진행했던 [Book Rating Prediction] 대회에서 진행한 방식을 리뷰해보고, 본인이 부족했던 부분 중에 주제를 정해서, 공유하기였습니다. 

     제 주제는 AutoML과 AutoViz, Hyperopt를 이용한 베이지안 방식의 HyperParemeter 최적화 방법을 적용해보지 못한 게 아쉬워 적용해 보았습니다. AutoViz를 통해 자동으로 시각화하고, AutoML을 통해 모델별 성능 비교를 한눈에 해보았습니다. HyperOpt를 통해 최적 하이퍼 파라미터도 찾아보았습니다.

    sklearn의 lazypredict의 LazyRegressor를 이용한 최적 모델 찾기
    hyperopt의 fmin을 사용한 하이퍼 파라미터 최적화 및 최적 하이퍼 파라미터 출력

    외에도 EDA를 하는 방식과 베이스 라인에서 주어진 모델 중 해당 대회에 적합한 모델은 무엇이었을까?, 정형 데이터는 어떤 모델이 좋을까? wandb로 분석해보기 등을 발표해주셨습니다.

     

     

    4) 한 주 회고

    한 주 회고

    3. 그 외 이벤트들

    1) 멘토링 (level 1 마지막 멘토링)

    이번 주는 level 1 마지막 멘토링이었습니다. 멘토님도 마지막이니 만큼 같이 편하게 얘기해보자고 하셔서 크게 중요한 내용은 다루지 않고 서로 편하게 얘기를 했습니다. 저희 조는 멘토님께 롤링 페이퍼를 만들어 드리자고 해서 롤링 페이퍼를 만들어 드렸습니다. canva에서 만들었는데 생각보다 너무 예쁘고 감성 있게 만들어졌습니다. 멘토님도 감동하신 것 같았습니다.
    (일부분만 발췌하여 첨부해봅니다.)

     

    2) 두런두런 2회 차 (AI 서비스 프로젝트)

    강의의 실습 코드에 일부로 "오류"를 심어 두셨다고 합니다. 개발을 하며 "오류"를 어떻게 대하는지 중요성을 보여주시기 위함이었습니다. 큰 그림을 정말 잘 그리시는 분이라고 느꼈습니다. AI 서비스에 대한 프로젝트 시작을 어떻게 하는지, 그 Flow에 대한 전체상을 다뤘습니다. 그와 연결 지어 실제 현업에서 데이터를 다루는 다양한 직군들과 하는 일을 다뤘습니다.

     

    3) 취업 특강 (Upstage 추천팀 CTO Russell 취업 특강)

    취업을 어떻게 준비하는지, 면접과 인턴 준비 관점에서 알려주셨고, 채용 프로세스와 각 프로세스를 어떤 식으로 준비하면 좋을지도 잘 알려주셨습니다. 특히, 현실적인 조언들을 거침없이 해주셔서 저는 오히려 속이 시원했습니다. 현실을 받아들이고 어떤 과정들을 준비해야 하는지 볼 수 있었기 때문입니다. 

     

     

    Reference)
    1. 네이버 부스트 캠프 Ai tech 4기
    반응형

    댓글

    Designed by JB FACTORY