Jonghyuk Baek
잡다한 AI 관련 글들
Jonghyuk Baek
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 방명록
  • LinkedIn

공지사항

  • 전체 글 (65)
    • Programming (33)
      • Python (23)
      • Design patterns (7)
      • ETC (3)
    • Frameworks (8)
      • PyTorch (6)
      • OpenCV (2)
    • Paper review (5)
    • Utilities (8)
    • Courses (2)
    • Books (3)
    • 잡다한글 (6)

인기 글

태그

  • 디버그
  • ChatGPT
  • python
  • Deep Learning
  • Computer Vision
  • Programming
  • 코딩
  • pyTorch
  • Design Patterns
  • OpenAI

최근 댓글

최근 글

hELLO · Designed By 정상우.
Jonghyuk Baek

잡다한 AI 관련 글들

Introduction to Machine Learning in Production (0) - Overview
Courses

Introduction to Machine Learning in Production (0) - Overview

2021. 8. 15. 19:31

본 글은 Coursera의 Machine Learning Engineering for Production (MLOps) 특화 과정의 일부인 Introduction to Machine Learning in Production 강좌의 내용을 개인적인 의견과 함께 정리한 글이다. 원 강좌 내용에 관심이 생긴다면 한번 수강해 보도록 하자!


Class Overview

머신 러닝 학계를 들여다 보면, 실제 세계의 문제를 해결하고자 하는 머신 러닝 알고리즘 논문이 하루에도 수십, 수백 편 씩 아카이브에 게재된다. 이렇게 계속 새롭게 등장하는 ML 알고리즘들은 성능의 정량적 비교를 위해 고정된 데이터셋 하에서 통제된 학습/테스트 셋 조건을 이용해 평가되고, 한 시점에서 가장 높은 성능을 내는 알고리즘이 SOTA (State of the art) 알고리즘으로 분류된다.

 

Paperswithcode에 게재된 각 데이터셋 별 Sementic Segmentation SOTA 알고리즘. https://paperswithcode.com/task/semantic-segmentation

 

그럼 이제, 우리에게 머신 러닝 알고리즘을 이용해 실제 세계의 문제를 해결해야 할 일이 생겼다고 상상해 보자. 먼저 문제 상황과 샘플 데이터를 통해 풀어야 하는 문제가 정확히 어떤 종류인지 판단을 내릴 것이다 (Object detection, Semantic segmentation, Anomaly detection...). 그 후에는, 데이터를 수집함과 동시에 학습과 성능 검증에 필요한 라벨 정보를 모으고, 데이터 준비가 완료되면 해당 문제의 각종 SOTA 알고리즘들을 순차적으로 벤치마크 해 현재 문제 세팅에서 최적의 성능을 보이는 알고리즘을 선정할 것이다. 필요하다면 그 동안 얻은 직관을 이용해 문제에 적합한 새로운 모델을 구현할 수도 있다.

 

성능 검증을 통해 최적의 알고리즘을 골라내고, 가지고 있는 데이터셋에서 최상의 성능을 보이는 모델 웨이트도 얻었다. 여기까지가 학계나 연구 프로젝트에서 일반적으로 볼 수 있는 머신 러닝 문제 해결 과정이다.

 

그럼 정말 여기서 끝인 걸까? 실제 세계에 적용되어서 지속적으로 생성되는 데이터를 inference 할 준비가 된 걸까? 당연히 아니다. 단순히 모델을 학습시킨 후 주어진 데이터 상에서 좋은 성능을 내는 것을 확인했다고 바로 공장 생산 라인 등에 적용할 수 있는 것이 아니고, 모델을 실질적으로 쓸모 있게 만들기 위해서는 첫 모델 학습 이후에 훨씬 더 많은 단계들을 거쳐야 한다.

 

이 강의는 실제 세계의 문제에 적용할 수 있는, 지속적인 운영이 가능한 ML 시스템을 구축하고 배포하기 위해서는 어떤 스킬과 직관이 필요한지를 전반적으로 다룬다. Coursera의 MLOps 특화 과정은 아래와 같은 내용으로 이루어져 있고, 본 강의인 Introduction to Machine Learning in Production 은 첫 번째 라인에 해당한다.

 

  • Class 1: Production ML 시스템의 전체적인 라이프사이클 ← 현재 강좌
  • Class 2: Data 파이프라인
  • Class 3: ML modeling 파이프라인
  • Class 4: Deployment 파이프라인

블로그 글에서는 강의에서 다루는 내용을 순차적으로, 개인적으로 떠오르는 생각과 함께 자유롭게 정리해 볼 생각이다. 뭔가 이상하다 싶은 내용들도 분명히 있을 것이다. 그럴 때는 언제든지 댓글로 이야기를 해 주면 좋겠다.

 

아래는 참고할 만한 사이트이다.

References

Papers with code

https://paperswithcode.com/

Machine Learning Engineering for Production (MLOps) 강좌 링크

https://www.coursera.org/specializations/machine-learning-engineering-for-production-mlops

반응형
    'Courses' 카테고리의 다른 글
    • Introduction to Machine Learning in Production (1) - The Machine Learning Project Lifecycle
    Jonghyuk Baek
    Jonghyuk Baek
    언젠간 다시 찾아볼 만한 AI 개발 관련 지식, 팁들

    티스토리툴바