공백 제외 4000자 후기를 작성해보겠습니다.
1. 강의 신청 배경 및 이유
3년 가까이 ML 관련 컨설팅 프로젝트하면서 불편하고 고생했던 점들을 나열하면 상당하다고 자부할 수 있습니다. 석사, 주니어 때(지금도 실력이 전혀 뛰어나진 않지만)부터 지금까지 논문을 작성하거나 기존 ML 프로젝트 진행을 하면서 느꼈던 것들을 서술해보면 다음과 같습니다.
- 석사 때(바야흐로 2017년 말) 성능이 가장 좋았던 모델이나 데이터 정보 기억은 나지만 n번째 좋은 모델이나 다른 데이터들을 Tracking하기 어려웠습니다. 또한 수많은 실험을 진행하면서 데이터와 모델 관리가 쉽지 않았습니다. 매일매일 코드를 보면 그러려니 하겠지만, 오랜만에 다시 보려면 기억을 더듬는데 시간 cost가 꽤 컸습니다.
- 석사 때 R 코드와 데이터를 잘 정리해서 주어도 대학원 후배와 내 학습 환경이 다르기 때문에 후배가 조금 고생했을 것 입니다. 이때는 Docker의 존재도 몰랐습니다. (2019년쯤에 알았음)
- 실험과 연구는 혼자하면 편합니다. 특히 공모전이 그렇다고 생각됩니다. 하지만 공모전은 혼자 하면 마음대로 내 편한 대로 코드를 짜고 구현하고 잘하면 상금을 혼자 받습니다. 하지만 그 허들이 상당히 높고 집단지성을 활용하지 못하는 것이 단점입니다. 그래서 여러 명이서 협업을 해야 등수 상위권을 노리기 좋은데, 이 부분에서 환경을 일치시켜야 하고 모델이나 데이터 관리하는데 협업을 하는 동시에 맞추기가 어렵습니다. pytorch 버전, os 차이, python 버전, 몇몇 package, 자원 공유 및 부족 등 여러 요소가 안 맞아 분석하는데 피로도가 상당히 증가합니다
- 이상적으로는 데이터 준비 > 모델 구현 > 모델 배포 > 제품화 > 수익창출인데 각 단계마다 엄청난 허들이 존재합니다. 특히 배포와 제품화가 제일 어려운 것 같습니다.
- 그냥 입사하기 전에는 코드 구현 > 빌드 > 운영 및 배포 이게 전부인 줄 알았습니다. 특히 데이터가 기업마다 잘 준비가 되어있고 존재하는 줄 알았습니다. 보통 분석을 요리에 비유를 많이하고, 데이터를 요리 재료에 많이 비유를 합니다. 하지만 요리 재료가 지저분 한건 이해하는데(이건 전처리하면 되는 문제니까) 요리 재료가 상하거나 냉장고가 텅텅비어있는 것이 제일 문제였었습니다. 정말 정말 제일 스트레스받는 경우가 요리 재료가 없는데 AI로 무언갈 하고 싶다는 경우가 제일 미치고 팔짝 뛰는 경우입니다.
더 불편했던 것을 나열하면 끝이 없을 것 같습니다. 근데 점점 프로젝트를 수행하면서 저의 Learning Curve보다 좋은 알고리즘과 논문들이 나오는 것처럼 좋은 Tool들이 많이 나오고 있는 점은 인지하고 있었습니다. 그리고 머신러닝 딥러닝 공부할 때 무조건 나오는 교수님인 앤드류 응 교수님도 모델보다 데이터의 중요성 그리고 ML과 Ops를 결합한 MLOps에 대한 중요성을 평소에 세뇌 수준으로 당하고 있었습니다. MLOps는 "ML을 효율적으로 개발하고 성공적으로 서비스화 및 운영"이라는 것은 느낌은 알고 있었습니다. 언젠가 진짜 공부한다... 다짐을 여러 번 하다 올해 초 1월부터 강의를 수강해보았습니다.
수강한 이유를 간단히 정리하면
- Trend 뒤쳐지고 싶지 않아서 라는 욕심이 일부 있었습니다.
- 점점 알고리즘 보다도 그 이외의 서빙과 모니터링 관련하여 중요성을 프로젝트하면서 느끼고 있었습니다. 정말 모델은 일부이고 비즈니스에 잘 접목하는 것이 우선이기 때문에 데이터와 서빙, 모니터링 같은 요소가 너무나 중요성을 뼈저리게 느끼고 있었습니다.
- 파편화된 영문 자료를 보는 것은 당연한 일이지만, 시간은 소중하기 때문에 잘 정리된 강의를 보고 싶었습니다. (교육에는 돈을 팍팍 쓰는 것이 중요하다고 생각하기 때문에)
- 알아두면 나중에 다른 엔지니어분들이나 개발자분들과 Communication하기 용이할 것 같았습니다. Airflow를 조금 공부하니까 스케쥴링과 모니터링 쪽 중요성과 필요성을 느끼게 되니, 전체적으로 엔지니어분들과 커뮤니케이션했을 때 조금 덜 얼타게 되는 경험을 했었습니다. 컨설팅하는 데 있어 간접적으로 도움이 됩니다.
정도로 정리할 수 있을 것 같습니다.
2. 전체 강의 장점
- 강사 두분 전달력이 양호하다. 특히 마키나락스에 다니시는 강사분은 개인적으로 좋았습니다.
- 강의가 꽤 폭 넓은 부분을 다루고 있습니다. 솔직히 처음 커리큘럼 보고 덜컥 겁이 났었는데 그 이유는 모르는 용어, 오픈소스들이 절반 이상이었기 때문에 그랬었습니다. 적당히 소통 정도까지는 할 수준으로 지도를 해주는 것 같습니다.
- 강의 노트가 노션으로 깔끔하게 정리되어있어서 예습하고 듣기 깔끔해서 제일 흡족스러웠습니다. 강추
- 솔직히 도커랑 쿠버네티스, MLflow 등등 처음 하는 부분이 꽤 많았는데 기본적인 부분을 짚어주고 최대한 쉽게 가르쳐 주었습니다.
- 모델 서빙, CI/CD 파이프라인 배포, Monitoring 등 Parts별로 순서대로 빌드업하는 과정이 좋았었습니다.
- 개인적으로 실무에 문제를 부딪혔을 때 어떤 것을 좀 중점적으로 공부해야겠다 단계까지는 머릿속에 지식을 주입시켜주는 것 같습니다. 시야를 넓혀주어서 좋습니다.
3. 전체 강의 단점
- 강의 목표가 "MLOps의 기본부터 심화, 그리고 실무 활용까지 전 과정을 담았으니 필요한 부분만 학습하고, 내게 필요한 ML모델 서비스화 방법을 얻어갈 수 있다"라고 제시가 되어있지만 실무 활용 단계까지는 잘 모르겠습니다. 정말 기본적인 부분을 Cover 합니다.
- 이거 듣고 MLOps 쪽으로는 취업은 절대 못합니다. 또한 이 강의를 이해한다고 해서 이력서에 한 줄 쓰기에는 많이 어렵지 싶습니다. 그 이유는 깊이가 부족하기 때문입니다. 깊이는 본인이 문제를 찾아서 그 부분을 공략하면서 실력을 기르는 것을 추천합니다.
4. 부분별 장단점, 느낀점
강의 세부 커리큘럼마다 느낀 부분을 작성하면 아래와 같습니다. ( ) 부분은 블로그 챌린지 일차 작성한 부분입니다.
1) ML을 Service화 하기 위한 기술, MLOps(1~3일 차) : 기존 SI에서 SW와 MLOps의 차이점을 설명하고 구성요소를 언급합니다. 이때 수강하면 MLOps 재미있어 보이고 흥미를 돋우게 합니다.
2) MLOps환경 구축을 위한 도커와 쿠버 네티스(4~12일차) : 도커 완전 기초를 설명해주고 minikube바탕으로 쿠버네티스 실습을 합니다. yaml 파일이 뭐 어디에다가 쓰는 건지도 몰랐는데 시간을 아낄 수 있을 만큼 컴팩트 한 부분 기초부터 잘 설명해주고 쿠버네티스 리소스를 간단하게 다룹니다.
3) 오픈소스를 통해 알아보는 MLOps(13~23일 차) : DVC, MLflow, Flask, Seldon Core, Prometheus, Grafana에 대해서 정말 기본적인 내용만 가르치는데 정말 깔끔하게 잘 설명해줍니다. 아마 필요한 부분만 골라서 심층학습을 할 것 같습니다. 개인적으로는 MLflow가 제일 유용했던 것 같고 먼가 Prometheus나 Grafana 부분에 있는 모니터링 예제들은 추후에 장표나 개발 및 수행 계획서 작성 시 많은 영감을 줄 것 같습니다.
4) 쿠버네티스 기반 MLOps Pipeline 구축하기(24~36일 차) : Pipeline, Katib, Feature Store, Feast에 대해서 다룹니다. 특히 Feature Store에 대한 사상이 너무 좋았고 Feast는 정말 시간 여유가 되면 제대로 공부를 해야겠다는 생각을 했습니다.
5) 다양한 클라우드 플랫폼에서의 MLOps(37~49일 차) : Cloud에서 빅테크는 빼놓으면 섭섭합니다. AMZN, MSFT, Google의 대표 클라우드 플랫폼 AWS, Azure, GCP를 간단하게 실습합니다. UI 하나하나 디테일하게 설명하는 것이 아니고 AWS는 AutoML인 Autopilot, Azure은 ML Pipeline, GCP는 Feast를 중점적으로 실습합니다. 각각에 대해 똑같은 것을 실습하는 것이 아닌, 조금씩 다른 내용을 실습하는 부분이 좋았었습니다. ㅏ
6) Future Works in MLOps(50일 차) : 전체 내요을 간단하게 정리하고, 트렌드를 알려줍니다. 또한 ML Engineer, Data Scientist에게 너무 많은 것을 요구하는 채용공고에 반문하는 글도 나름 인상적이었습니다.(저 또한 공감하는 부분입니다. 강점이 있는 사람과 협업을 하는 것이 최고라고 생각합니다.) 또한 Active Learning, AutoML, Continous Training, XAI에 대해 간단하게 짚고 넘어가기도 합니다.
5. 강의 수강할 때 유의점
- 수강할 때 VirtualBox 가상 환경에서 실습을 진행하는데 개인 노트북 용량이 적고 엄청 힘들게 쓰고 있었기 때문에 꽤 애먹었었습니다. 노트북 드라이브 용량이 좀 넉넉해야 합니다.
- 최소 vim 편집기는 쓸 줄 알아야 합니다.
- Cloud 부분 수강할 때 UI가 조금 안 익숙한 사람은 조금 헤맬 수 있을 것 같습니다. 물론 GCP 쪽을 조금 쓰긴 써서 따라가는데 무리는 없었는데 완전 처음인 사람에게는 조금 헤맬 수 있을 것 같다는 생각이 있었습니다.
- 데이터 분석 쪽을 한번 처음부터 끝까지 해본 사람이 수강해야 합니다.
- 웹 쪽 지식을 조금 알아두면 편하고 용어 정도는 알아두면 괜찮을 것 같습니다.
6. 강의 수강했으니 내 직무에 적용할 점은?
모델링과 전처리만 하다 보니 오픈소스가 이렇게 빠르게 발전하고 있는지는 체감이 되질 않았는데, 이 강의를 듣고 많은 것을 머릿속에 인지하였습니다. Know-how보다는 IT에서는 Know-what이 중요하다고 생각하는 1인인데, 부족한 부분에 대해서 이런 걸 공부를 더 해야겠다는 것을 알게 해 주어서 좋은 강의였습니다. 원래 Fastcampus 강의는 딱 필요한 것만 골라 듣는데 이번 강의는 거의 전 내용을 들었을 만큼 괜찮은 강의였습니다. 프로젝트 수행하면서 전처리 파이프라인이나 Feature 관리하는 부분과 서빙하는 부분을 아마 조금 더 찾아서 공부하여 적용을 하지 싶습니다. 특히 파일들이나 모델을 관리하는 부분을 꽤 반성을 많이 했기 때문에 더 좋은 방향으로 프로젝트를 수행할 것 같습니다.
7. 추천도
이 부분은 그냥 데이터 분석가 시각에서 별점을 한번 부여해보았습니다.
- MLOps에 관심이 있는 데이터 분석가 : ★★★★☆
이런 게 있다, 저런 게 있다는 것을 아는 것만으로도 큰 힘이 되는 것 같습니다. 추후에 이 쪽을 더 깊게 공부할지, 분석 쪽을 더 깊게 공부할지 본인이 판단도 하게 할 수 있을 것 같습니다.
- Data Engineer : ★★★☆☆
난이도 측면에서 흡족하기 어려울 것이 있을 것 같고, 분석 전반적인 것을 한 번도 안 해본 사람에게는 효율적이진 않을 것 같습니다.
더 재미있고 좋은 강의가 나오면 좋겠고, MLOps에서 일부 떼서 더 심화된 강의가 나오면 좋겠다는 생각입니다. 이상 후기를 마치겠습니다.
* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'AI > MLOps' 카테고리의 다른 글
[패스트캠퍼스 챌린지 50일차] Future Works in MLOps (0) | 2022.03.14 |
---|---|
[패스트캠퍼스 챌린지 49일차] GCP - Feast FastAPI App 배포 (0) | 2022.03.13 |
[패스트캠퍼스 챌린지 48일차] GCP - Feast Feature Store (2) (0) | 2022.03.12 |
[패스트캠퍼스 챌린지 47일차] GCP - Feast Feature Store (1) (0) | 2022.03.11 |
[패스트캠퍼스 챌린지 46일차] Amazon SageMaker Autopilot 실습 (0) | 2022.03.10 |