메뉴 닫기

MLflow 트래킹 서버를 서버리스 SageMaker AI로 마이그레이션하는 방법

머신러닝 실험 추적 자동화를 위한 방법: MLflow 트래킹 서버를 서버리스 SageMaker AI로 마이그레이션하기

머신러닝 개발 과정에서 실험 추적은 매우 중요한 부분입니다. 많은 팀이 MLflow와 같은 오픈소스 도구를 활용해 실험 관리 및 모델 추적을 수행하고 있지만, 기존에 자가 호스팅(온프레미스 또는 Amazon EC2 기반) 방식으로 MLflow 트래킹 서버를 운영해온 조직은 서버 운영, 스케일링, 스토리지 관리 등으로 인해 부담이 컸습니다.

이러한 과제를 해결하기 위해 AWS는 Amazon SageMaker AI에서 제공하는 서버리스(Serverless) MLflow 트래킹 서버 기능을 통해 보다 효율적이고 자동화된 실험 추적 환경을 제공합니다. 본 글에서는 이를 어떻게 활용하는지, 그리고 기존 트래킹 서버를 Amazon SageMaker AI 기반 서버리스 MLflow App으로 전환하는 마이그레이션 방법을 구체적으로 안내합니다.

왜 서버리스 MLflow인가?

서버리스 MLflow App은 수요 기반의 자동 확장(Auto-scaling)을 지원하며, 수동으로 서버를 관리할 필요 없이 저장소 및 패치 관리 등을 제거합니다. 덕분에 운영 부담은 줄고, 비용 효율성은 높아집니다. 또한 SageMaker AI 내에서 완전 관리형으로 통합되어 있어 기업의 AI/ML 운영 체계에 쉽게 편입시킬 수 있는 장점이 있습니다.

마이그레이션 활용 가이드

마이그레이션을 위한 궁극적인 목표는 기존 MLflow 기반의 실험, 모델, 메타데이터 등을 새로운 서버리스 MLflow 앱으로 손실 없이 이전하는 것입니다. 이를 위해 AWS는 오픈소스 툴인 MLflow Export Import를 기반으로 한 가이드를 제공합니다.

  1. 사전 준비 사항
  • AWS 계정
  • 소스 및 타겟 MLflow 서버에 대한 접근 권한
  • SageMaker에서 MLflow App 생성을 위한 IAM 권한
  • Python 3.10 이상이 설치된 실행 환경(EC2, 로컬 PC, SageMaker 노트북 등)
  • mlflow, sagemaker-mlflow, mlflow-export-import 패키지 설치
  1. 마이그레이션 단계별 절차

2-1. MLflow 버전 확인 및 호환성 확보

  • 현재 운영 중인 MLflow 서버의 버전을 확인하고, SageMaker가 지원하는 버전으로 업그레이드합니다.

2-2. SageMaker에서 서버리스 MLflow App 생성

  • SageMaker Studio에서 MLflow App을 직접 생성하거나, 도메인 생성 시 자동 생성된 앱을 확인합니다.

SageMaker Studio 콘솔의 MLflow App 화면

2-3. 실행 환경에 MLflow 및 SageMaker 플러그인 설치

pip install mlflow sagemaker-mlflow

2-4. MLflow Export Import 툴 설치

pip install git+https://github.com/mlflow/mlflow-export-import/#egg=mlflow-export-import

2-5. MLflow 실험 리소스 추출

  • 환경변수로 소스 URI를 등록:

export MLFLOW_TRACKING_URI=http://localhost:8080

  • 전체 리소스 추출:

export-all –output-dir mlflow-export

2-6. SageMaker MLflow App에 리소스 가져오기

  • 환경변수로 타겟 URI 설정 (MLflow App의 Amazon Resource Name 활용):

export MLFLOW_TRACKING_URI=arn:aws:sagemaker:::mlflow-app/app-

  • 리소스 가져오기 실행:

import-all –input-dir mlflow-export –import-source-tags

2-7. 마이그레이션 결과 검증

마이그레이션 이후 MLflow 대시보드 예시

  • SageMaker Studio에서 MLflow 대시보드를 열고, 실험, 메트릭, 파라미터, 모델 아티팩트 등이 잘 이전되었는지 확인합니다.
  • SageMaker 노트북을 통해 실험 목록 및 실행을 프로그래밍 방식으로 확인할 수도 있습니다.
  1. 유의 사항
  • 대규모 데이터 이전 시 리소스 한계나 네트워크 지연으로 인한 성능 문제가 발생할 수 있어, 실험 단위로 나누어 처리하는 것이 좋습니다.
  • 시스템 생성 메타데이터는 기본으로 보존되지 않지만, –import-source-tags 옵션을 활용하면 태그 형식으로 보존 가능합니다.
  • SageMaker 서버리스 MLflow는 사용 시간과 저장 용량에 따라 비용이 발생하며, 사용하지 않는 경우에는 서버를 중지해야 요금이 발생하지 않습니다.

결론

자가 호스팅된 MLflow 트래킹 서버에서 Amazon SageMaker AI 기반 서버리스 MLflow App으로의 마이그레이션은 실험 추적 환경의 관리 효율성과 자동화를 극대화할 수 있는 훌륭한 선택입니다. 오픈소스 기반 MLflow Export Import 툴을 활용하면 기존 데이터를 손쉽게 이전할 수 있으며, 이를 통해 진정한 MLOps 자동화 환경을 구축할 수 있습니다.

지금 SageMaker AI와 MLflow를 활용해 머신러닝 실험 환경을 혁신해보세요!

https://aws.amazon.com/blogs/machine-learning/migrate-mlflow-tracking-servers-to-amazon-sagemaker-ai-with-serverless-mlflow/

AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!

(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기


AI, Cloud 도입 상담 배너