안녕하세요. SQLER의 코난 김대우입니다.
이 문서에서는 개발자의 시각에서, 수 많은 머신러닝의 기술과 서비스들을 개발자의 시각에서 잘 분류할 수 있을지 정리하겠습니다. 머신러닝을 시작하는 개발자 분들께 많은 도움 되시길 바랍니다.
머신러닝을 시작하는 개발자를 위한 - 머신러닝 서비스/프레임워크/툴킷 분류 및 전체 개발 흐름
수많은 머신러닝 서비스/프레임워크/툴킷 분류
새로운 용어들이 계속 등장. 하지만 결국 우리 개발제들에게는 분류의 문제.
한번만 분류하게 되면 나머지는 쉽게 접근 가능.
2017년에도 사용했던 자료인데, 디에스이트레이드의 이성희님의 발표자료에서 허락받고 가져온 이미지.
Tensorflow나 Keras, PyTorch는 오른쪽 아래의 "머신러닝 개발 Toolkit"으로 보통 분류(지금은 비할 수 없이 덩치가 커졌지만).
이제는 거의 업계에서 보기 힘든 SAS나 SPSS는 상용 벤더의 솔루션이고, R이나 Python은 결국 개발 언어(새로운 언어라고 생각하면 편함).
머신러닝 개발의 전체 흐름도
모델만 만들고 빌드하면 되는거라고 생각하셨다면...
- 데이터 전처리
- 모델 빌드
- 모델 평가 테스트(evaluation)
- 배포(Model Serving)
- 모니터링 / 로깅
이런 전체의 과정이 하나의 개발 싸이클임. 뭔가 일이 복잡하고 많아 보이지만? 우리는 전체 과정을 코드로 보면 훨씬 이해하기 쉬우니까 이정도만 보고 넘어가도 좋습니다.
그럼 다음 SQLER 머신러닝 강좌에서 또 인사 드리겠습니다.
감사합니다.
머신러닝을 시작하는 개발자를 위한 - (1) 머신러닝 용어정리, 분류부터 MLOps까지
머신러닝을 시작하는 개발자를 위한 - (2) 머신러닝 서비스/프레임워크/툴킷 분류 및 전체 개발 흐름
머신러닝을 시작하는 개발자를 위한 - (3) 우리 개발자가 머신러닝을 해야 하는 이유는?
머신러닝을 시작하는 개발자를 위한 - (4) 2021년의 ML Trend - MLaaS와 MLOps(Machine Learning + DevOps)