호돌찌의 AI 연구소
article thumbnail

 

학생 때 ML을 공부할 때에는 간단하게 요약하면 다음과 같이 공부를 했었습니다. 

 

- 많이들 들어본 알고리즘(Linear Reg, Logistic Reg, Decision Tree, RF, SVM 등등) 원리, 수식

- 수식 이해가 잘 되지 않았을 때 예제 데이터와 함께 R 또는 Python으로 이해

- 논문 쓸 때에는 기존 baseline 모델 보다 성능 높이기와 데이터 전처리 및 튜닝의 반복

 

여기서 성능이 가장 좋았던 모델의 정보, n번째로 좋았던 모델의 정보, n번 Cross Validation를 했을 때 가장 좋았던 정보 등 이러한 내용들을 object로 떨구어서 엑셀에 따로 기록을 했었던 기억이 있습니다. 프로젝트를 3년동안 해보면서 몇몇 프로젝트는 협업보다는 개인적으로 모델 하나 할당을 받아 진행을 했었습니다. 혼자서는 저만의 방식으로 진행을 했었습니다. 폴더를 잘 관리하거나 엑셀이나 노션 같은 Tool을 이용해서도 관리가 용이합니다. 

 

하지만 프로젝트는 협업과 끊임없는 커뮤니케이션을 무조건 해야할 수밖에 없는 구조입니다. 협업하는 사람들 마다 전부 익숙하거나 환경이 다릅니다. 다음과 같은 차이점이 있다고 생각해보겠습니다. 

 

- DL framework 차이

- window/linux/ubuntu 차이

- 각자 할당받은 서버 환경 차이

- 보안상의 이유로 순서 및 특정 요일 특정 서버에만 사용

- GPU 문제

 

이러한 요소 이외에도 많은 차이점들이 있을 것 입니다. 대다수의 기업들이 프로젝트를 진행하면서 이러한 문제를 겪어보았을 것입니다. 

 

https://www.prnewswire.com/news-releases/pactera-white-paper-reveals-85-percent-of-ai-projects-ultimately-fail-300871826.html

 

85% AI 프로젝트가 상용화까지 도달 못하고 이런 저런 이유로 실패한다는 리서치 자료도 존재합니다. 

 

 

 

 

 

 

아래 그림은 상당히 유명한 구글 논문(Hidden Technical Debt in Machine Learning Systems, 2015)입니다. 

 

https://proceedings.neurips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf

 

위 그림이 시사하는 바는 ML 모델을 성공적으로 서비스화 하기 위해서 단순히 좋은 성능의 모델을 사용하는 것이 아니라는 것입니다. 다음과 같은 요소를 ML 프로젝트를 해본 경험이 있는 사람이라면 다 한 번씩은 생각해본 경험일 것입니다. 

- 성능이 떨어지지 않는지?, 떨어질 때 과거의 챔피언 모델로 돌아갈 수 있는지?

- 시스템 문제가 있는지?

- 데이터 분포 모니터링이 되는지?

- 새로운 데이터가 들어왔을 때 검수가 되는지?

- 자동으로 스케일링 등 전처리 파이프라인이 잘 작동하는지?

- 데이터 백업 또는 피딩이 잘 이루어지는지? 

 

등 정말 다양한 요소들이 펼쳐져 있습니다. 

 

 

다음 글에서는 MLOps에 대한 거시적인 부분을 소개하는 글로 뵙겠습니다. 

 

 


https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

* 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

 


profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!