[AWS] ML 수명 주기(ML Lifecycle)와 MLflow

교육들었던 내용 정리하기!

 

기계 학습(ML)으로 비즈니스 문제를 해결하려면, 모델을 개발하는 것뿐 아니라 실험, 성능 추적, 배포, 운영까지 전체 흐름을 관리해야 한다. 이는 단순히 모델 하나를 만드는 것이 아니라, 하나의 ‘ML 시스템’을 설계하고 구축해야 한다는 의미다.

ML 시스템은 보통 문제 정의, 데이터 수집, 모델 학습, 실험 반복, 성능 평가, 배포, 모니터링의 과정을 따른다. 이 흐름을 ML 수명 주기(Machine Learning Lifecycle)라고 한다.

이 수명 주기에서 실험 단계가 중요하다. 예를 들어, 이메일을 스팸과 일반 메일로 분류하는 모델을 만든다고 할 때, 개발자는 다양한 알고리즘(로지스틱 회귀, 랜덤 포레스트.. ), 하이퍼파라미터(learning rate, depth.. ), 데이터 전처리 방식을 실험해본다.
각 실험 결과는 조금씩 다르기 때문에 어떤 설정이 성능을 높였는지 비교할 수 있어야 하며, 이때 중요한 것이 바로 실험의 기록과 재현성이다.

모델의 성능을 높이기 위해 다양한 파라미터를 시도하다 보면, 그때그때 정리하지 못하는 경우가 많다.
어떤 시도들을 했었는지 직접 관리하는 것은 비효율적이기도 하고, 나중에 같은 시도를 다시 재현하기도 어려운데 이러한 문제를 해결하기 위해 사용하는 도구가 MLflow다.
MLflow는 오픈소스 실험 추적 및 모델 관리 도구로, 학습에 사용한 파라미터, 코드 버전, 성능 지표, 결과 파일(모델 ..)을 자동으로 기록해준다.
특정 실험에서 좋은 성능을 얻었다면, MLflow는 그 실험의 설정과 결과를 모두 저장해 준다. 이를 통해 어떤 조건에서 좋은 결과가 나왔는지 쉽게 확인할 수 있고, 같은 실험을 다시 실행하거나 팀원과 공유하기도 쉽다.

이 MLflow는 Amazon SageMaker에 통합된 형태로 제공되며, 데이터 준비부터 모델 개발, 실험 추적, 배포, 모니터링까지 머신러닝 전 과정을 하나의 플랫폼에서 통합적으로 관리할 수 있다.
SageMaker는 MLflow Tracking Server를 완전관리형 서비스로 지원하므로, 별도의 인프라 설정 없이 실험을 자동으로 기록하고, 결과를 시각화하며, 모델을 바로 운영 환경에 배포할 수 있다.

이번 글에서는 ML 시스템의 전체 흐름과 주요 개념들을 정리하고, 앞으로 이를 SageMaker와 MLflow를 통해 어떻게 실제로 구현할 수 있는지 실습해볼 예정이다.

 

 

 

# 여기서 MLFlow란?

정의상으로 MLflow는 머신러닝 실험을 추적하고 관리할 수 있도록 도와주는 오픈소스 도구다.

처음에  mlflow 가 추상적으로 표현한 어떤 흐름인줄 알았는데 그게 아니라, 사용자가 로컬 컴퓨터, 사내 서버, 또는 클라우드 환경에 직접 설치해서 사용하는 프레임워크이다. 우리가 흔히 사용한는 웹 기반의 SaaS( 예를 들어, 구글 드라이브,,)처럼  로그인해서 바로 사용하는 서비스는 아니다.  예를 들어, pip install mlflow 명령어로 설치한 뒤, 간단한 명령만으로 실험 추적 서버를 실행하고 웹 UI를 통해 실험 결과를 확인할 수 있는 것이다. 

( 찾아보니, Databricks와 같은 플랫폼을 통해 SaaS 형태로도 제공되며, 별도 설치 없이 웹에서 바로 사용할 수도 있다고 한다..)

 

 

 

기계학습(ML) 이란? 

인공지능의 한 분야로 컴퓨터가 명시적인 프로그래밍 없이도 데이터로부터 스스로 학습하고 예측하거나 의사결정을 내릴 수 있도록 하는 기술이다. 

인공지능의 하위 개념을 보면, 아래와 같다.

AI 하위 개념

 

학습 방식에 따른 ML 구분

지도 학습 비지도 학습 강화 학습
  • 입력 데이터와 정답(레이블)이 함께 주어짐
  • 목표: 주어진 입력에 대한 예측 모델 학습
  • 예: 이미지 분류, 스팸 이메일 분류, 주가 예측
  • 정답 없이 입력 데이터만 주어짐
  • 목표: 데이터의 패턴, 구조, 군집을 탐색
  • 예: 고객 세분화, 이상 탐지, 차원 축소
  • 에이전트가 환경과 상호작용하며 보상을 통해 학습
  • 목표: 누적 보상이 최대가 되도록 행동 전략 최적화
  • 예: 게임 플레이, 로봇 제어, 추천 시스템 최적화

 

 

예측 대상 유형에 따른 ML 구분

회귀 분류
  • 기준: 예측하려는 값이 연속적인 수치형일 경우
  • 목표: 실수를 예측
  • 주택 가격 예측, 기온 예측, 매출 예측
  • 기준: 예측하려는 값이 이산적인 범주형일 경우
  • 목표: 특정 클래스 또는 범주에 속하는지를 예측
  • 스팸 메일 분류, 질병 유무 판별, 이미지 분류

 

 

데이터 유형에 따른 적용 ML 구분

데이터 유형 주요 적용 분야 예시
텍스트 데이터 자연어 처리 (NLP) 감정 분석, 스팸 감지, 번역, 텍스트 요약
이미지 데이터  컴퓨터 비전 (CV) 이미지 분류, 객체 탐지,  의료 영상 분석, 생체 인식 및 감시
테이블 형식 데이터 전통적인 ML 분석 제품 수요 예측, 고객 이탈 분석, 마케팅 세분화

 

 

ML 수명 주기

ML 수명 주기

  1. 문제 구성
    머신러닝 프로젝트의 시작 단계로 예측 또는 분류를 통해 실질적인 비즈니스 가치를 창출할 수 있는 문제를 정의하는 과정이다.
    해결하려는 문제가 무엇인지 명확히 하고, 이를 통해 어떤 목표를 달성할 수 있을지 구체화해야 한다. 이 단계에서는 문제의 유형(회귀, 분류, 추천,, )을 식별하고, 성공을 측정할 수 있는 지표를 설정한다.
  2. 데이터 처리
    모델이 학습 가능한 데이터를 준비하는 단계이다. 이 과정에서는 데이터를 수집하고, 분석에 적합하도록 정제하며, 필요한 특성을 추출한다. 결측값이나 이상값을 처리하고, 데이터를 정규화하거나 변환하는 등의 전처리 과정을 포함한다. 또한 데이터를 훈련, 검증, 테스트 세트로 나누어 모델 학습과 평가에 적절히 사용할 수 있도록 구성한다.
  3. 모델 개발
    준비된 데이터를 바탕으로 예측 모델을 학습하고 평가하는 단계이다. 문제에 적합한 알고리즘을 선택하고, 모델을 설계한 후 훈련 데이터를 이용해 학습을 진행한다. 이후 검증 및 테스트 데이터를 통해 모델의 성능을 평가하고, 하이퍼파라미터를 조정하며 최적의 모델을 도출한다.
  4. 모델 배포
    학습이 완료된 모델을 실제 서비스 환경에 배포하여 운영에 활용할 수 있도록 하는 단계다. 모델이 실시간 추론 API로 제공되거나, 배치 작업을 통해 예측 결과를 받을 수 있도록 한다. 이 단계에서는 모델이 다른 시스템과 잘 통합될 수 있도록 설계하며, 예측 결과가 실질적으로 활용될 수 있는 방법을 찾는다.
  5. 모니터링
    모델이 배포된 이후에 지속적으로 성능을 추적하고 개선해 나가는 과정이다. 운영 환경에서는 데이터 분포가 변하거나 모델 성능이 저하되는 문제가 발생할 수 있으므로, 이를 탐지하고 대응하는 것이 중요하며 필요 시 새로운 데이터를 기반으로 모델을 재학습하고, 업데이트하여 서비스 품질을 유지해야 한다.

ML 수명 주기와 관련 역할

ML 수명주기 역할

 

이러한 역할들은 독립적으로 일하는 것이 아니라, 각 단계에서 프로세스와 결과물(모델, 데이터, 메타데이터,, )을 서로 주고받으며 협업하게 된다. 이와 같은 복잡한 과정을 관리하려면 각 단계에 맞는 도구와 인프라가 필요한데, 이때 완전관리형 Amazon SageMaker를 사용하면 더욱 효율적으로 관리할 수 있게 된다.

 

 

 

 

참고자료:

https://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/mlflow.html

 

Amazon SageMaker AI에서 관리형 MLflow를 사용하여 생성형 AI 개발 가속화 - Amazon SageMaker AI

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

반응형