sayyoon.site
postsguestbook
💫
데이터분석SKALA

MLOps에 AIOps 더하기

2025.05.13

MLOps와 AIOps의 차이와 연결고리를 살펴보고, 이를 바탕으로 수요 예측 및 발주 자동화 시스템까지 만드는 실습을 진행했다.

 

AI 서비스와 MLOps 이해

왜 MLOps가 필요할까?

머신러닝 프로젝트를 몇 번 해본 사람이라면 공감할 거다. (물론 나는 처음이다)
모델 하나 잘 만든다고 끝이 아니라, 데이터 수집, 전처리, 모델 학습, 배포, 운영 의 전 과정이 들어가고, 모델 완성 후에도 몇 달이 지나면 모델 성능이 다시 안 좋아지는 경우도 빈번하다고 한다.

배포도 개발 환경에서는 잘 되더니 배포하니 안 돌아가고, 배포했더니 성능이 떨어지고, 시간이 지나면 예측이 틀어지는 등의 문제가 발생할 수 있다.

이러한 문제를 자동화?하는 게 바로 MLOps다.

📌 MLOps란?
머신러닝 모델을 개발, 배포, 운영하는 전 과정을 DevOps처럼 자동화하고 체계화하는 방법론

 

MLOps가 해결해주는 것들

  • 모델 개발부터 운영까지 프로세스 자동화
  • 실험 기록, 버전 관리, 재현성 강화
  • 성능 모니터링 및 빠른 대응
  • 협업과 운영 효율성 업그레이드

쉽게 말해, 모델이 무사히 배포되고 지속적으로 잘 돌아가게 도와주는 역할을 한다.

 

MLOps 구성요소 한눈에 보기

  1. 데이터 준비
    수집, 전처리, 라벨링
  2. 모델 개발
    학습, 최적화, 평가
  3. 모델 배포
    패키징, 배포, 모니터링
  4. 모델 운영
    성능 감시, 재학습, 갱신

 

MLflow로 실험 관리해보기

MLflow를 사용하면 모델 실험 결과를 기록하고, 버전 관리도 할 수 있고, UI가 제공돼서 실험을 한눈에 볼 수 있다.

 

모델 성능 모니터링 (MLOps vs AIOps)

나는 처음에 두 개념이 약간 헷갈렸는데 정리하면 이와 같다.

  • MLOps
    모델 상태를 지속적으로 모니터링하고 성능이 나빠지면 알림을 준다. (예: 데이터 드리프트, 성능 저하 알림)

  • AIOps
    알림에 그치지 않고 예측과 자동 대응까지 해준다.

    • 성능 저하 패턴 학습
    • 미리 경고
    • 자동 파라미터 추천
    • 자동 재배포

 

수요예측 & 발주 자동화 시스템

이 프로젝트에서 만든 서비스는 AI로 수요를 예측하고 발주를 자동화하는 웹 서비스다.

  • Frontend : Vue.js
  • Backend : FastAPI
  • 데이터 입력 : CSV 업로드
  • 결과 출력 : 예측 시각화

제공된 실습 코드를 토대로 동작 흐름은 이렇게 짰다.

  1. 이미 학습된 LSTM 모델 로드
  2. 사용자가 CSV 업로드
  3. 예측 수행
  4. 모델 성능 평가 (RMSE)
  5. 성능 저하 시 재학습 및 덮어쓰기
  6. 새 모델로 재예측

image

 

현재 상태와 아쉬움

짧은 기간에 만들어서 그런지 아쉬운 부분이 많다.

  • 모델 버전 관리가 안 된다. (그냥 덮어쓰기…)
  • 예측 기록도 남지 않는다.
  • 로컬에서만 동작한다.

그래서

모델 버전 관리 + 예측 이력 관리
Docker 배포

이 두 가지는 꼭 추가해보고 싶다. 마침 내일부터 클라우드 심화 수업이 시작되니 수업 듣고 적용해봐야지!

 

끝으로

MLOps, AIOps 개념이 처음엔 좀 어렵게 느껴졌는데 직접 실습하면서 “아 이런 게 필요하구나” 몸으로 느낄 수 있었다.
아직 부족한 점이 많지만 그래도 해보고 싶던 걸 직접 구현해봐서 뿌듯하다.

최종 프로젝트에서는 더 발전된 걸 만들어보고 싶다. 그럼… 내일 수업을 위해 이만! 🙈

© Powered by danmin