메뉴 닫기

AWS DLC와 SageMaker Managed MLflow로 구축하는 실전용 머신러닝 자동화 환경

머신러닝 실전 환경에 필요한 유연성과 안정적인 관리 기능을 모두 갖춘 AWS Deep Learning Containers(DLCs)와 Amazon SageMaker AI의 Managed MLflow는 AI 프로젝트를 실용화하기 위해 필수적인 조합으로 주목받고 있습니다. 특히, 의료, 금융, 리서치 분야에서는 하드웨어 구성, 보안, 프레임워크 버전 제어까지 세밀하게 관리하는 것이 중요하므로 이러한 커스텀 환경 통합 솔루션은 기업의 실전 ML 운영 자동화에 큰 도움을 줍니다. 이번 블로그에서는 TensorFlow 기반의 심층 신경망 모델을 활용해 전복(abalone)의 나이를 예측하는 예제를 중심으로, AWS DLCs와 SageMaker Managed MLflow를 연계해 모델 실험부터 추적, 버전 관리, 자동화된 배포까지 전 과정을 효율적으로 수행하는 방법을 소개하겠습니다.

통합 아키텍처 구성 및 주요 활용 방식

커스텀 환경과 MLflow의 연동을 위한 아키텍처는 다음 구성요소로 이루어져 있습니다.

  • AWS DLCs: PyTorch, TensorFlow 등 프레임워크가 사전 구성된 GPU 최적화 Docker 이미지
  • SageMaker Managed MLflow: 모델 실험 자동 로깅, 실험 비교, 모델 라이프사이클 추적 기능 지원
  • Amazon EC2 + DLAMI: DLC가 실행되는 물리적 인프라, Docker 환경 구동
  • Amazon S3: 학습된 모델 아티팩트 저장소로 활용
  • Amazon ECR: 퍼블릭 TensorFlow 이미지를 저장하여 EC2에서 가져올 수 있도록 설정

아래 다이어그램은 TensorFlow 모델에서부터 ECR, EC2 기반 학습, MLflow 추적, Amazon S3 저장까지 전체 파이프라인의 흐름을 보여줍니다.

TensorFlow 학습에서 ECR, EC2, MLflow, S3까지 통합된 ML 아키텍처 구성도

모델 학습 절차 및 실험 추적 자동화

1단계: TensorFlow 모델링 및 MLflow 코드 통합
전복 나이 예측을 위한 신경망 모델을 준비한 후, SageMaker Managed MLflow의 logging API를 코딩 내에 통합해 파라미터, 지표(metric), 모델 구조 등을 자동 추적합니다.

2단계: 퍼블릭 ECR에서 TensorFlow DLC 이미지 Pull
Amazon ECR에서 최적화된 TensorFlow 이미지 링크를 받아 EC2 내 Docker 환경에 적용합니다.

3단계: EC2에서 Docker 컨테이너 실행 및 SageMaker MLflow 연동
IAM 역할을 통해 EC2에서 SageMaker MLflow 서버에 접근하고, 학습이 끝나면 Amazon S3에 모델 저장, 실험 로그는 자동으로 SageMaker Managed MLflow에 업로드 됩니다.

4단계: MLflow UI에서 실험 결과 비교 및 모델 검증
실험 결과들은 MLflow UI에서 시각적으로 비교 가능합니다. 학습 손실 추이, 파라미터 상태 등도 확인할 수 있으며, 아래는 전체 실험 목록을 보여주는 MLflow UI 예시입니다.

MLflow 대시보드에서 abalone 실험 상태 확인 화면

개별 실험에서의 상세 정보도 확인할 수 있습니다. 예를 들어, 등록된 모델 이름, 버전, 생성 날짜, 하이퍼파라미터, 학습 정확도 등의 정보를 포함한 상세 정보를 확인할 수 있습니다.

개별 실험 상세 정보 및 파라미터, 지표 추적 화면

또한, 사용자 정의 콜백 함수로 생성된 학습 손실 시각화도 가능합니다.

에폭별 학습 손실 시각화 그래프

모델 등록 및 버전 관리 자동화

모델이 학습된 후에는 MLflow를 통해 자동으로 SageMaker Model Registry에 저장, 버전 관리 및 추적이 가능합니다.

모델 레지스트리에서 버전 추적 및 관리 인터페이스

이러한 기능은 모델의 배포 이후에도 실험 이력과 버전을 연결하여 모델 거버넌스 체계를 유지할 수 있도록 도와줍니다.

SageMaker Studio에서 등록된 모델과 MLflow 연계 확인화면

모델 저장 정보 또한 S3에 안전하게 관리되며, 경량화된 경로 기준으로 구성되어 향후 재배포나 서비스화에도 유용하게 이용할 수 있습니다.

모델 메타데이터 및 Python, TensorFlow 환경 설정 정보 확인화면

요금 및 리소스 고려 사항

이 솔루션을 실행할 경우, 다음과 같은 리소스에서 과금이 발생합니다.

  • Amazon EC2 및 EBS
  • SageMaker Managed MLflow 사용료
  • SageMaker Studio 기반 리소스 요금
  • Amazon S3 저장소 요금

구현을 마친 후에는 리소스 정리를 반드시 수행해야 불필요한 비용이 발생하지 않습니다. EC2 인스턴스 종료, S3 데이터 제거, MLflow 트래킹 서버 삭제, 모델 레지스트리 및 SageMaker Studio 도메인 종료를 권장합니다.

결론

이번 글에서는 SageMaker Managed MLflow와 AWS DLCs를 활용한 커스텀 머신러닝 환경 자동화 구축법을 살펴보았습니다. 이 통합 방식은 유연한 개발 환경을 유지하면서도 표준화된 거버넌스를 통해 모델 실험에서 배포까지 전체 생애주기를 효과적으로 관리할 수 있는 이상적인 구조입니다.

지금까지 설명한 워크플로우를 자신의 실무 환경에서도 직접 활용해보세요! 전체 예제 코드 및 배포 가이드는 다음 깃허브에서 확인하실 수 있습니다.

[1] https://aws.amazon.com/blogs/machine-learning/use-aws-deep-learning-containers-with-amazon-sagemaker-ai-managed-mlflow/

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

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


AI, Cloud 도입 상담 배너