최근 AWS에서는 Amazon SageMaker AI의 서버리스 MLflow 기능은 기존 MLflow 실험 추적 서버 구축 및 관리의 복잡성을 제거하고, 즉시 실험 환경을 시작하여 운영할 수 있도록 지원합니다. 이 글은 해당 기능을 실제로 설정하고 활용하는 방법을 단계별로 안내합니다.
1. 서버리스 MLflow란?
서버리스 MLflow는 MLflow 실험 추적 서버를 AWS가 자동으로 생성하고 관리해주는 서비스입니다.

기존 MLflow 환경은 다음과 같은 운영 부담이 있었습니다:
- 서버/인프라 프로비저닝
- 스케일링 및 용량 계획
- 패치/업그레이드 관리
서버리스 MLflow는 이러한 운영 부담을 제거하고 자동 스케일링 + 무서버 환경으로 실험 추적을 제공합니다.
2. 사전 준비 사항
2.1 IAM 역할
서버리스 MLflow 앱을 생성할 때는 IAM 역할이 필요합니다. 이 역할은 다음 권한을 포함해야 합니다:
- S3 버킷 읽기/쓰기 권한
- SageMaker 실행 권한
- MLflow 관련 SageMaker API 호출 권한
예: AmazonSageMakerFullAccess, S3 접근정책 등
IAM 역할은 이미 구성되어 있으면 그대로 사용할 수 있고, 없으면 콘솔에서 새로 생성합니다.
3. 서버리스 MLflow 앱 생성 (핵심 단계)
3.1 SageMaker AI Studio로 이동
- AWS 콘솔에서 Amazon SageMaker AI Studio를 엽니다.
- 좌측 메뉴에서 MLflow 옵션을 선택합니다.
3.2 MLflow App 생성

- “Create MLflow App” 버튼을 클릭합니다.
- 이름(Name) 필드에 원하는 이름을 입력합니다.
- IAM 역할 및 S3 버킷 설정(기본 제공 또는 필요한 경우 수정)
→ 대부분 실습용은 기본 설정으로 충분합니다.
3.3 생성 완료 및 ARN 복사
앱 생성은 약 2분 내에 완료됩니다. 생성이 끝나면 아래와 같은 기본 정보를 확인할 수 있습니다:
- MLflow App ARN
- 연결할 때 사용할 S3 아티팩트 저장 경로
- MLflow 실험 UI 링크
이 ARN은 이후 코드나 노트북에서 MLflow Tracking URI로 사용합니다.
4. 노트북에서 실험 추적 시작
4.1 MLflow SDK 설치
pip install mlflow boto3
SageMaker Studio 나 EC2/로컬 어디서든 동일하게 적용됩니다.
4.2 MLflow 연결 및 로그 기록
아래는 Python 코드 예시입니다:
import mlflow
# 서버리스 MLflow App ARN
mlflow.set_tracking_uri("arn:aws:sagemaker:region:account-id:mlflow-app/app-name")
# 실험 이름 설정
mlflow.set_experiment("example-experiment")
with mlflow.start_run():
mlflow.log_param("param1", 10)
mlflow.log_metric("accuracy", 0.93)
이제 SageMaker MLflow App에서 자동으로 실험 로그가 수집됩니다.
5. 자동 스케일링 및 관리
서버리스 MLflow는 다음을 자동으로 처리합니다:
- 트래픽/실험 수에 따라 스케일업/스케일다운
- 인프라 용량 계획 불필요
- 자동 버전 업그레이드
- S3 및 IAM을 통한 보안 관리
즉, 서버 설치나 지속적인 관리 작업이 필요 없습니다.
6. SageMaker Pipelines 연동
서버리스 MLflow는 SageMaker Pipelines와 통합되어 다음 흐름을 만들 수 있습니다:
- Pipelines 작업 실행
- 각 파이프라인 단계에서 MLflow로 실험 로그 전송
- 최종 모델 및 메트릭 결과를 MLflow UI에서 바로 확인
from sagemaker.workflow.pipeline import Pipeline
from sagemaker.workflow.steps import TrainingStep
pipeline = Pipeline(
name="mlflow-pipeline",
steps=[TrainingStep(...)]
)
pipeline.upsert(role=role)
이렇게 구성하면 반복적 실험 → 로그 → 평가 → 재실험 흐름이 자동화됩니다.

7. 크로스 계정/도메인 협업
서버리스 MLflow는 AWS Resource Access Manager(RAM)을 통해:
- MLflow 앱을 다른 계정과 공유
- 도메인 간 협업 실험 접근성 제공
이를 통해 팀 간 협업이 단순해지고 동일 환경을 여러 팀이 활용할 수 있습니다.
8. 유의 사항
- 요금: 서버리스 MLflow 기능 자체는 별도 요금 없이 제공되지만 사용한 AWS 리소스(스토리지 등)는 청구됩니다.
- 서비스 한계: 서비스 한도가 적용될 수 있어 대규모 실험에는 유의가 필요합니다.
- 리전: 서울 리전도 지원 대상입니다.