본문 바로가기
AI-Tech 부스트캠프

[특강] Full Stack ML Engineer (풀스택 ML 엔지니어)

by Alan_Kim 2021. 9. 24.
728x90
반응형

 

 Full Stack ML Engineer

 이 강의를 만들게 된 계기

  ML Engineer는 다른 포지션에 비해 아직은 정보가 많지 않은 편이다. 따라서 ML Engineer가 어떤일을 하는지 어떻게 ML Engineer가 되는지 모호하게 아는 경우가 많아 ML Engineer 가 되는 길에 대해서 하나의 길을 제시하고자 만들게 되었다고 하셨다.

  따라서 Engineer로 성장하고 싶은 사람이나 ML을 이용하여 Product를 만들고 싶은 사람 현업 개발팀에서 ML기술이 어떠한 과정을 거쳐 product가 되는지 궁금하거나 FullStack ML Engineer 에 대해서 궁금한 사람을 위해 만들었다고 하셨다.

 

  ML Engineer 란?

   ML 기술을 이해하고 연구하고 product를 만드는 Engineer로 정의할 수 있을 것 같다. Deep Learning의 급부상으로 Product에 DL을 적용하고자 하는 수요가 많이 발생하고 있다고 한다. 그리고 다른 전통적인 기술과 다르게 Research 영역과 Engineering 영역의 경계가 모호하다고 한다.

ML Engineer은 Researcher과 soft Engineer 사이이다.

 

  Full Stack Engineer 란?

   ' A full stack web developer is a person who can develop both client and server software' web application에서 나온 용어이다.

  애플(Apple)에서는 ML Full Stack Engineer를 "코딩 잘하고, 창의적이고, 다양한 조직의 사람과 협업할 수 있고, 새로운 기술을 배우는 것을 즐기는 개발자" 라고 지칭한다.

  사실 전문적으로 한 분야를 파는 개발자들에게는 Full stack engineer가 별로 달갑지 않은 표현일 수 있어서 소개할 때 조심해야한다고 한다. 그리고 한 분야만 파는 것도 당연히 어려워 상태보다는 방향성이며 모든 Stack을 잘 다루려는 방향으로 가고 있다면 Full stack engineer라고 생각한다고 하셨다. 기준을 명확히 하자면 내가 만들고 싶은 Product를 시간만 있다면 혼자 만들 수 있는 개발자라고 생각한다고 하셨다.

DL 논문을 이해하고 ML product로 만들 수 있는 엔지니어를 ML Full Stack Engineer라 할 수 있다.

   Full Stack Engineer 의 장단점

    장점:

      처음부터 끝까지 내 손으로 만들었으므로 재미있다.

      빠른 프로토타이핑 ( 프로토타이핑을 협업하기는 곤란한 경우가 많음)

      연관된 기술과 시너지

      팀플레이에서 서로를 이해 할 수 있음.

      성장의 다각화

    단점:

      하루하루 발전속도가 빠른 CS+ML 분야에서 깊이가 없어 질 수 있다.

      시간이 많이 들어간다.

 

 

     ML Product 만들어지는 과정

ML Product 만들어지는 과정
요구사항 전달(거의 추상적, 다 해달라고 함)
데이터 수집(사실 가장 많은 시간이 갈리는 곳)
초기 ML 개발자들이 일하러 온 목적
마지막 단계이고 꽤 중요

 

    ML TEAM 구성

     일반적으로 큰 기업의 팀 구성은 다음과 같다.

강사님이 있었던 팀 구성

     하지만 다음과 같이 일을 할 수도 있다고 하셨다.

경계가 모호하기 때문에...

 

      Full Stack ML Engineer in ML Team

        1) 실 생활 문제를 ML 문제로 Formulation

          - 고객/서비스의 요구사항은 실 생활 문제

          - ML 모델이 해결 가능한 형태로 문제를 쪼개는 작업이 가능한지 판단하는 작업

          - 기존 연구에 대한 폭 넓은 이해와 최신 연구의 수준을 파악하고 있어야함.

         2) Raw Data 수집

          - 웹에서 학습데이터를 모아야 하는 경우도 있음

          - Web Crawler(Scraper) 개발해서 데이터를 수집(저작권 주의)해야 할 수 있음

         3) Annotation tool 개발

         4) Data version 관리 및 loader 개발

         5) Model 개발 및 논문 작성

         6) Evaluation tool 혹은 Demo 개발

         7) 모델 실 서버 배포

 

      Full Stack ML Engineer이 되기 위한 조언

       처음부터 너무 잘 만들려하지말고 최대한 빨리 완성하라!

       전문 분야를 정해라!

       새로운 것에 대한 두려움을 없애기 위해 반복적으로 접해라!

       만들고 싶은 것을 만들어라!(하나의 논문을 구현하고 Demo page를 만들어 보는 것을 추천!)

 

728x90
반응형

'AI-Tech 부스트캠프' 카테고리의 다른 글

2021_09_28_(화)  (0) 2021.10.01
[특강] AI 시대의 커리어 빌딩  (0) 2021.09.24
[특강] 서비스 항 AI모델 개발  (0) 2021.09.23
2021_08_31_(화)  (0) 2021.08.31
Ensemble(앙상블)  (0) 2021.08.27

댓글