본문 바로가기
MLOps

MLOps - 21. Further (앞으로 더 공부하면 좋을 내용)

by cocacola0 2022. 6. 5.

출처 : 변성윤님 블로그.
출처 : 부스트캠프 AI Tech.

1. 앞으로 더 공부하면 좋을 내용

1.1 개발

  • AI Engineer, ML Engineer는 결국 “엔지니어”

  • 코드 레벨에서 깊은 이해, 고민이 필요함

  • Data Engineer도 데이터를 처리하기 위한 개발 학습이 필요

  • 데이터 분석가에 가깝다고 하면 데이터 분석 역량에 집중해야 하지만, 코드 역량이 뛰어날수록 퍼포먼스가 높아짐

  • Python

    • 우리는 Python을 잘 알고 있는가?
    • 엄청 Low Level까진 필요하지 않을 수 있지만, 기본적으로 학습한 내용보단 한단계 더 학습하는 습관 가지기
    • Generator, Decorator, GIL 등
    • 멀티프로세싱은 어떻게 동작하는가
    • 메모리 영역에서 어떤 일이 발생하는가
  • Linux

    • 서버에서 사용하는 Linux는 앞으로도 계속 함께할 OS
    • Linux 파일 시스템, 유저 권한, Process
    • 나아가서는 Linux Kernel
  • 더 좋은 코드 퀄리티를 생산하기 위한 노력

    • 클린 코드
    • 클린 아키텍처
    • DDD(Domain Driven Development)

1.2 데이터 엔지니어링

  • AI Engineer는 데이터 모델링 + 데이터 개발 영역을 커버하길 원하는 추세

    • 실시간 데이터를 어떻게 전처리하고, 가져올지에 대한 이해도가 있을수록 좋음
    • 데이터 엔지니어링 관련 생태계도 엄청 넓은 상태. 하나씩 격파하기
  • 실시간 데이터 처리 : Kafka, Apache Spark Streaming ...

  • 메세지 시스템 : Kafka, Redis, AWS SQS, GCP PubSub, Celery

  • 분산 처리 : Ray, Apache Spark

  • 데이터 웨어하우스 : GCP BigQuery, AWS Redshift

  • 캐싱 : Redis

  • BI(Business Intelligence) : Superset, Redash, Metabase

  • ETL 파이프라인 : 어떻게 구성할 것인가?

1.3 Computer Science

  • Computer Science에 대한 이해
    • 네트워크
    • OS
    • 자료 구조 알고리즘

1.4 Cloud, Infra

  • 클라우드 환경 작업이 점점 익숙해지는 상황(큰 회사의 경우 아니지만)

  • 어느정도 인프라에 대한 이해가 있을수록 인프라 엔지니어와 이야기할 때 수월함

  • Docker를 넘어서서 Kubernetes 학습!

  • CICD를 더 잘하기 위한 방법도 고민

  • IaaC

    • 우리가 직접 클릭하면서 클라우드 서비스를 사용했으나, 인프라를 코드로 관리할 수 있는 Terraform
    • 인프라 환경 설정할 경우 매우 유용
    • 44bits의 Terraform 글 참고
  • Monitoring

1.5 Database

  • 데이터를 저장하는 곳은 Object Storage, NoSQL도 있지만 여전히 RDB에 저장을 많이 함
  • 효율적으로 저장하려면 어떻게 해야할까?
  • Index 전략 등
  • 저장한 데이터를 추출할 수 있도록 SQL
  • 데이터 웨어하우스로 데이터를 옮기기 위한 고민

1.6 Modeling

  • 개발자니까 인프라, 개발만 신경써야지! 보단
  • 머신러닝 모델링에 대한 이해도 있고, Researcher나 Scientist 분들에게 “이 부분 불편하니 이렇게 개선해보면 어떨까요?” 제안할 수 있는 사람
  • 최근 논문의 방향성, SOTA 등을 어느정도 파악해두는 정도라도!

1.7 추천 컨텐츠 - 기술 블로그 & 발표 영상 & 논문

  • 공부할 때 “책”, “강의”를 보는 방법을 이젠 넘어설 시기

  • 앞으로 더 공부하면 좋을 내용

    • 각종 회사의 기술 블로그 찾아보기

      • https://github.com/seonggwonyoon/techblog
      • 어떤 기술을 “왜” 사용했는가(어떤 상황이였고, 어떻게 문제 정의했는가)
      • 기술 블로그 내용을 잘 정리하고 => 추상화해서 기록해보기(이 산업에선 이 회사에선 이렇게 풀었다, 동종 업계인 다른 회사는 저런 방식으로 풀었다 등) => 취업이 아니라 긴 커리어를 가지기 위해서도 좋음
      • 해외는 Uber, Door Dash 추천. Uber는 데이터 엔지니어링 논문도 종종 Publish
    • 발표 영상

      • 회사별로 컨퍼런스하는 추세, 커뮤니티 행사도 여전히 존재
      • 네이버의 DEVIEW, 카카오의 IFKAKO, 토스의 SLASH, 우아한형제들의 우아콘, 데이터야놀자, PyCon
      • 기술 블로그와 마찬가지로 “왜?”를 고민하기
      • 컨퍼런스를 날 잡고 보는 것도 추천 + 친구들과 같이 토론해보기
      • DEVIEW는 2009년부터 존재 => 과거엔 어떤 발표가 있었는지도 살펴보기(이 당시엔 이런 생각을 가지고 A 프레임워크가 제일 좋았구나 => 현재는 이 부분을 개선하기 위해 이런 것들을 만들었구나 등)
    • 논문

      • 머신러닝, 딥러닝 논문
      • 데이터 엔지니어링 논문
      • CS(Computer Science) 논문
      • 라이브러리, 프레임워크의 논문(Hadoop, Ray 등)
      • 왜 만들어졌는지에 초점을 가지면서 의문 가지기

2. 앞으로의 삶의 방향성

2.1 취업, 데이터 업무, 방향성

  • 취업을 임하는 자세

    • 나와 결이 잘 맞는 회사를 만나자
    • 회사를 성장시키고, 나도 성장시킬 수 있는 회사
    • 앞으로 긴 커리어의 init
    • 너무 조급해하지 말기. 나는 잘 될것이다
    • 내가 무엇을 좋아하는지, 어떤 직군을 왜 하고싶은지에 대한 고민
  • 데이터 업무

    • 현재 맡은 업무와 내가 하고 싶은 것과 Align 되어있는지 고민
    • Align 되어있다면 누구보다 빠르게 달려가기. 몰입하기
    • 방향성이 맞지 않는 것 같아도, 결국 경험이 연결되어 시너지가 나기에 그 부분에 대해 이해하기
    • 데이터 분석, 머신러닝 모델링, 데이터 엔지니어링, 개발 등에 대한 고민 계속 하기
  • 방향성

    • 인생에 하나의 방향만 존재하는 것은 아님
    • 언제든 방향은 바뀔 수 있는 것
    • 방향을 바꾸기 위해 내가 어떤 방향으로 가고 있고, 어떤 방향으로 가고 싶은지 계속 리마인드하기
    • 나의 인생은 점점 더 Global Optimal Point로 다가가고 있다
    • 5년 10년 후의 삶의 목표 정하기
    • 행복에 대해 생각해보기. 행복하게 일할 수 있는 방법에 대한 고민

2.2 동기부여

  • 회사에 들어간 이후에도 지속적인 동기부여, Refresh에 대해 생각하기
    • 정답은 없고, 동기부여가 꼭 필요한 것이 아닐 수도 있음
    • 외부에서 주는 동기부여와 셀프 동기부여에 대해 고민해보기
    • 학습 동기부여

2.3 태도, 목적성

  • 지속적인 개선을 하겠다는 태도
  • 내가 아는 것이 잘못될 수도 있고 인정하는 태도
  • 목적을 가지고 작업에 임하는 태도
  • 조직과 함께 성장하려는 태도

'MLOps' 카테고리의 다른 글

MLOps - 20. 머신러닝 디자인 패턴  (0) 2022.06.04
MLOps - 19. Airflow  (0) 2022.06.03
MLOps - 18. BentoML  (0) 2022.06.02
MLOps - 17. MLFlow  (0) 2022.06.01
MLOps - 16.Logging  (0) 2022.05.31

댓글