바쁜 직장인의 일기장

MLOps 란 무엇일까 본문

IT 지식

MLOps 란 무엇일까

그리미스 2024. 6. 13. 21:46
반응형

요즘 엔비디아 주가가 하늘을 찌르고 있다. 왜 그럴까 생각해 보면 여러 기업들이 AI를 도입하면서 고성능의 GPU가 필요해졌고, 엔비디아를 대체한 만한 기업이 없기 때문이라고 생각된다.

 

그렇다면 기업들은 어떤 AI을 도입하려고 이렇게 많은 고성능의 GPU가 필요한 것일까 하면, 가장 유명한 LLM 모델인 Chat GPT처럼 대화형 모델을 적용하려고 할 수도 있고, 머신러닝을 통해 운영하는 서비스의 장애 포인트를 찾아낼 수 있고, 혹은 자율주행 모델을 개발하는 데 쓸 수 도 있을 것이다.

 

이유가 어찌됐든 현재에는 AI가 없으면 안 되는 시대가 되고 있는 것 같다.

 

그래서 오늘은 이렇게 기업에서 개발한 AI 모델들이 어떻게 관리되고 있는지에 대해 알아보려고 한다. 우리는 이것을 MLOps라 부른다.


MLOps란 무엇일까

 

MLOps (Machine Learning Operations) 또는 MLOps는 머신 러닝 모델의 개발, 배포 및 유지 보수를 위한 일련의 관행 및 도구를 의미한다. 소프트웨어 개발에서의 DevOps와 유사하게, MLOps는 머신 러닝 프로젝트의 생애 주기를 관리하고 최적화하기 위해 개발자와 운영 팀 간의 협업을 촉진한다. MLOps의 주요 목표는 모델의 신뢰성, 재현성, 확장성을 보장하면서 모델을 더 빠르고 효율적으로 프로덕션 환경에 배포하는 것이다.

 

 

Nvidia 공식 블로그

 

 

 

그림을 보면 크게 3가지 분류로 나눌수 있다. 데이터를 통해 모델을 개발하는 ML 부분,  이 모델을 가지고 지속적인 트레이닝과 검증을 계획하는 dev 부분, 마지막으로 모델을 릴리즈 하고 모니터링하는 Ops 부분이다.

 

여기서 3가지 부분을 조금 더 쪼개서 구성요소를 살펴보자.

 

MLOps의 주요 구성 요소

  1. 데이터 관리(Data Management):
    • 데이터 수집, 정제, 레이블링, 저장 및 버전 관리를 포함한다.
    • 데이터 파이프라인을 자동화하여 최신 데이터를 유지하고 모델을 지속적으로 업데이트한다.
  2. 모델 개발(Model Development):
    • 모델을 설계하고 학습시키기 위한 코드 작성 및 실험을 포함한다.
    • 여러 실험을 관리하고 결과를 비교하기 위한 실험 추적 도구를 사용한다.
  3. CI/CD (Continuous Integration/Continuous Deployment):
    • 코드와 모델을 지속적으로 통합하고 배포하는 프로세스이다.
    • 모델 변경 사항이 자동으로 테스트되고, 검증된 후에 프로덕션 환경에 배포된다.
  4. 모니터링 및 관리(Monitoring and Management):
    • 프로덕션 환경에서 모델의 성능과 신뢰성을 모니터링한다.
    • 데이터 드리프트, 성능 저하 등의 문제를 감지하고 대응한다.
  5. 재현성(Reproducibility):
    • 모델 학습 과정, 데이터, 코드 및 환경을 기록하고 버전 관리하여 언제든지 동일한 결과를 재현할 수 있게 한다.
  6. 협업(Collaboration):
    • 데이터 과학자, 엔지니어, DevOps 팀 간의 원활한 협업을 촉진한다.
    • 각 팀이 쉽게 소통하고 협력할 수 있는 도구와 프로세스를 제공한다.

 

 

이런  부분들이 유기적으로 돌아가기 위해선 수많은 사람들이 각자의 역할을 잘 수행해야 할 것이다.

그렇다면, 그 역할들이 무엇이 있을지 알아본다.

 

  • 데이터 과학자(Data Scientist): 데이터 분석, 모델 개발 및 실험 수행.
  • 데이터 엔지니어(Data Engineer): 데이터 파이프라인 구축 및 데이터 저장소 관리.
  • ML 엔지니어(Machine Learning Engineer): 모델을 프로덕션 환경에 배포하고 최적화.
  • DevOps 엔지니어(DevOps Engineer): CI/CD 파이프라인 설정 및 유지 보수.
  • 소프트웨어 엔지니어(Software Engineer): MLOps 시스템의 소프트웨어 개발 및 통합.
  • 시스템 관리자(System Administrator): 인프라 관리 및 시스템 모니터링.
  • 프로젝트 매니저(Project Manager): 프로젝트 진행 관리 및 팀 간 조정.
  • 모니터링 전문가(Monitoring Specialist): 모델 성능 및 데이터 드리프트 모니터링.

이러한 역할들은 MLOps 환경에서 원활한 운영과 협업을 위해 필수적이다. 그 말인 즉슨, 앞으로는 이러한 직업군들이

계속해서 유망할 것으로 보이기도 한다. 앞으로도 AI는 빠질 수 없고 더욱 더 발전할 일만 남았으니 말이다.

 

 

 

 

 

 

반응형