강의 소개
Machine learning engineer로 일하면서 쌓였던 경험과 저의 생각을 공유하는 강의 입니다. 특히 Full stack machine learning engineer (FSML-Engineer)에 대해 정의하고, 업계에서 FSML-Engineer의 역할과 실제 업무에 대해 공유합니다. ML 서비스란 무엇인지와 FSML-Engineer가 되면 좋은 점에 대해서도 간단하게 알아봅니다.
나아가, 회사에서 ML 제품이 만들어지는 전반적인 과정과 ML 팀의 구성, 팀 내에서 FSML-Engineer의 역할에 대해서도 소개합니다.
또한 FSML-Engineer가 되기 위한 대략적인 로드맵을 제안하고, 로드맵을 따라 공부하실 때 염두에 두셔야 할 포인트들에 대해서도 소개합니다.
Full stack ML Engineer?
- ML Engineer : ML 기술을 이해하고, 연구하고 Product를 만드는 Engineer
- Full stack Engineer : Clinet/server software를 개발할 수 있는 Engineer
- Full stack ML Engineer : ML research를 이해하고 + product로 만들 수 있는 engineer
Pros & Cons of Full stack ML Engineer
- Pros
- Product의 모든 과정을 다뤄볼 수 있음
- 빠른 프로토타이핑 가능(터미널에서만 동작하던 모델을 실제 프로덕트처럼 구현해보면 현재 상태에 대해 보다 객관적인 판단이 가능!)
- 각 Stack에 대한 이해도
- 원활한 협업이 가능(타 포지션의 Engineering 이해도가 있다면 기술적 이해를 바탕으로 갈등을 최소화할 수 있음)
- 성장의 다각화
- Cons
- 하나의 Stack에 집중한 개발자보단 해당 Stack의 깊이가 부족
- 많은 시간이 필요함
ML Product, ML Team, ML Engineer
- ML Product 과정 : 요구사항 전달 - 데이터 수집 - ML 모델 개발 - 실서버 배포
- ML Team 구성 : 프로젝트 매니저, 개발자, 연구자, 기획자, 데이터 관리자
- 실제론, 프로젝트 매니저(+기획자+연구자) + 개발자(+연구자+데이터 관리자) + 개발자(+데이터 관리자)와 같은 형태로, 진행되는 경우가 많았다고 하심
- ML Engineer 역할
- 실 생활 문제를 ML 문제로 Formulation
- Raw Data 수집
- Annotation toll 개발
- Data version 관리 및 Loader 개발
- Model 개발 및 논문 작성
- Evaluation toll 혹은 Demo 개발
- 모델 실 서버 배포
Roadmap(이준엽 멘토님 경험 기반!)
