Day_13 [마스터클래스] 최성철 교수님

작성일

2 분 소요

[마스터클래스] 최성철 교수님

Data centric AI

ML 엔지니어는 수학을 어느 정도 알아야 할까요?

코딩을 못하면 ML/DL 어렵나요?

  • 코딩을 잘해야 한다!
  • 컴퓨터를 잘 다루는 능력
  • 스크립트, 네트워크 등 전반적인 엔지니어링 관련 능력이 있어야 할거다

ML/DL 세계의 변화

  • Pretrained-Learning

  • 기본적인 알고리즘을 알아야 함

성능을 올리기 위한 모델 싸움은 정리중

  • 모델의 크기를 좀 줄인다거나
  • deploy 를 잘한다거나

이제는 데이터다!!

사실 ML code는 매우 작은 부분

  • ML 코드를 잘 짠다는 하나만으로는 경쟁력을 가지긴 어려운 세상이 와버림

Data

  • 실제 ML 프로젝트에서는 양질의 데이터 확보가 관건
  • Production time 데이터와 Experiment 데이터가 다른 문제도 발생
  • 끊임없이 데이터를 관리하고 확보하는 노력이 필요

  • User generated data
    • inputs, clicks for recommendation
  • System generated data
    • logs, metadata, prediction
  • Data Flywheel (데이터 선순환)
    • 사용자들의 참여로 데이터를 개선
      • 구글포토 -> 가족이 커가는 사진을 보고 같은 사람인지 직접 태깅
  • Data augmentation
    • 데이터를 임의로 추가 확보

Data drift

  • 시간이 지나면서 데이터는 계속 바뀐다!

  • dynamic hyperparameter tuning 해야 하고
  • 자동화 시스템이 필요
  • 단순히 ML 코드만 잘 이해해서 할 수가 없음

Data Feedback Loop

  • 사용자로부터 오는 데이터를 자동화하여 모델에 피딩 해주는 체계가 필요
  • 단순히 ML/DL 코드로만 이루어지는게 아님
    • 네트워크 하드웨어 부터 데이터 플랫폼까지의 이해
  • 앞으로의 많은 ML/DL 엔지니어가 가져야할 역량중 하나
  • 특시 대용량 데이터를 다뤄본 경험이 중요할 것

앞으로 알아야 할 것 들

  • MLOPs 도구들
  • 당연히 데이터베이스
  • Cloud - AWS, GCP, Azure
  • Spark (+ Hadoop)
  • Linux + Docker + 쿠버네티스
  • 스케줄링 도구들 (쿠브플로우, MLFlow, AirFlow)

하나의 시스템으로서 ML/DL 개발

  • jupyter notebook 은 실험하는 역할일 뿐!

하나의 시스템으로서 ML/DL 기획

  • 전통 제조업에 가보면 데이터는…
  • 전기, 화학, 기계(전화기)
  • 모든 분야에 SW 전공자가 필요

  • 앞으로 ML/DL 시스템은 다양한 영역에서 확장
  • 데이터의 체계적 수립 (Feedback loop 체계 수립)
  • 디지털화 but 데이터화 되어 있지 않은 데이터 변환
  • MLOPs 엔지니어와 함께 AI 기반 시스템 설계 인력의 필요성이 증대
  • 모델은 AutoML을 써도 되지만 기획은 인간의 영역
    • 프로세스, 데이터, 유저의 사용 방식에 대한 이해

정리

  • 앞으로는 알고리즘 연구자 보다 ML/DL 엔지니어의 필요성이 더 증대
  • 단순히 ML/DL 코드 작성을 넘어서야 함
    • 자동화하고, 데이터와 연계, 실험 결과를 기반으로 설득, 시스템화
  • 좋은 엔지니어이자 좋은 기획자적인 요소들이 필요
    • 아직 AI화 되지 않는 영역의 AI화 (데이터를 어떻게 먹일 것인가!)
  • Shell script, 네트워크, 클라우드 등 기본적으로 알아야 할 것들이 많음

Q&A

클론 코딩으로 많이 배우고 있습니다. 혹시 클론 코딩 하면 좋을 유용할 자료를 알고 계실까요?

  • huggingface 코드를 많이 봄
  • PyTorch 나 Google에서 만든 코드를 보는걸 권장
  • 너무 오래된거 말고 tensorflow2.0 코드나 pytorch에서 pretrain 하는 코드
  • project template 코드

  • linux & database를 모르면 협업을 하기 힘들거다!
  • shell script
  • 그 다음은 cloud
  • docker
  • 대용량 데이터를 다루는 회사일수록 multi-node process를 해야함
    • spark 코드 정도는 읽고 이해할 수 있는 능력

대학원을 꼭 가야하나요?

  • 가면 좋다
  • 2년 정도의 시간을 벌 수 있다.
  • 가려면 좋은 대학원을 가라 (AI대학원이 설립된 곳)
  • 네트워크를 가질 수 있다는 측면에서도 좋음

  • ML/DL 엔지니어
  • 창업하겠다고 하면 좋아하는 회사도 있음
  • 알고리즘 쪽이 관심이 많은데 엔지니어링 쪽으로 AI시스템을 기획부터 개발까지 하는 리더가 되고싶다.

  • 대기업일수록 연구 역량을 요구하는 것 같다.
  • 캐글에서 결과를 내고 정리해서 github에 공유하고 하는 것
  • 흔히 생각하는 좋은 회사에 가면 논문을 내고 하는게 당연하다고 생각하는 경향이 있음
  • 문서를 정리하고 글을 써보는 훈련이 필요할 듯
  • 영어로 공유하는 역량을 가지는 것이 필요할 것 같다.
  • 취준을 위해 1년을 보낼거면 AI 대학원을 가는게 나쁘지 않은 선택인 것 같다.

댓글남기기