머신러닝 엔지니어가 되고 싶은 분들에게..
안녕하세요.
로스윗의 코딩캠프입니다.
오늘은 머신러닝 엔지니어가 되고 싶은 여러분들이
입사 하게 되면 일하는 현실적인 부분과
주니어로 시작해서 어떻게 시니어가 되는지의 과정을 이야기해드리려 합니다.
사실 실력과 연차가 상관관계가 많이 없어서 좀 무의미하지만
대강 1~3년차를 주니어, 4~6년차를 시니어라고 가정하도록 하겠습니다.
- 주니어 머신러닝 엔지니어
주니어 ML엔지니어의 경우는 만약 갓 회사에 입사했다면
보통은 이미 팀이 있는 경우가 아니라 본인이 1호인 경우거나
회사의 대표가 무엇이 필요한지 모르고 뽑은 경우가 많습니다. (이게 현실 ㅠㅠ)
'데이터를 주면 머신러닝 해야지~' 라고 생각하고 입사했지만
현실은 데이터를 수집하고 빌딩하는 작업부터 수행 할 가능성이 높습니다.
이때부터 전처리도 안 되어 있는 리얼 데이터와의 전쟁이 시작됩니다.
양도 적도, 엄청나게 imbalanced되어 있는 데이터들만 만나게 되는 경우가 많을 것이며
성능이 엄청나게 안 좋게 나오는 일을 자주 겪게 될 것입니다.
보통 부트캠프나 학원에서 프로젝트 연습용으로 사용하는 캐글 데이터는
대부분 전처리가 잘 되어 있고 Train data와 test data가 잘 구분 되어 있어서
머신러닝을 연습하고 좋은 모델을 만들고 실습하기엔 좋은 환경이지만
실제 현업에서는 그런 데이터가 존재하지 않기에
데이터를 수집하고 전처리하는 일을 한느게 90%이상 일 것입니다.
(데이터만 있으면 성능 좋은 멋진 머신러닝 모델을 만들어야지~ 했다간 큰코다칩니다. 현실은 다릅니다.)
- 시니어 머신러닝 엔지니어
시니어 ML엔지니어는 모델링보다는 MLOps과정을 제대로 작업하게 됩니다.
이것은 피하고 싶어도 못피합니다.
확장가능한 실행 환경 kubeflow, MLflow, TF 등을 사용합니다.
툴을 잘 다루는 것은 기본이고 결국 그 툴을 활용해 가치를 만들어 내야 하는 위치
툴만 잘 쓴다고 전문가가 아닙니다.
결국 모든 직업의 본질은 가치를 만들어내는 일입니다.
직장이란 비즈니스 이익을 만들기 위해, 여러 사람들이 함께 일하는 조직이라는 것을 잊으면 안됩니다.
- 정리 및 요약
주니어 : 위에서 세부 기술을 정해주고, 개인이 잘 해 낼 수 있기를 기대한다
시니어 : 위에서 세부 문제를 정해주고, 팀을 잘 조직해 해결해주기를 바란다.
전문가 : 모르던 회사의 문제를 발견해주고, 조직들을 활용해 해결해주기를 바란다.
우리는 주니어 에서 시니어로, 시니어에서 전문가로 성장해야 합니다.
유능해져야 합니다. 그래야 자유에 도달하게 됩니다.
- MLOps에 대해서 한 마디
그리고 MLOps를 처음부터 하고 싶다고 이야기하는 분들이 있는데
MLOps는 다른 경력 5년쯤 있고,
추가로 ML만 3년 넘게 한 경력자들도 잘하기가 어려운 분야입니다.
처음부터 내가 할 수 있는 일이라 생각하지 않고
차근차근 경력을 쌓아나가는 것이 중요합니다.
끝으로 제가 좋아하는 명언 하나 남겨드리고 싶습니다.
“배우가 우는 것이 드라마가 아니라 관객이 울어야 드라마다” - Frank Capra 영화감독
유망 직종 데이터 사이언티스트.. 어디까지 왔나!? (ft. 데이터 사이언티스트 전망)
데이터 직군별로 꼭 필요한 역량 (ft. 데이터 사이언티스트, 데이터 엔지니어, 데이터 애널리스트)
'머신러닝' 카테고리의 다른 글
머신러닝 부트스트랩핑, 베깅, 데이터 샘플링에 대한 쉬운 이해 (0) | 2022.08.19 |
---|---|
머신러닝 랜덤 포레스트 알고리즘 간단 정리 (0) | 2022.08.18 |
Decision Tree(결정 트리)가 왜 머신러닝 대표 알고리즘일까? (0) | 2022.08.17 |
머신러닝 분류 모델 Linear Classifier(선형 분류)에 대한 핵쉬운 설명 (0) | 2022.08.16 |
그림으로 쉽게 이해하는 머신러닝 분류(Classification) 모델 (0) | 2022.08.12 |