와 SageMaker 함께 Amazon을 사용한 기계 학습 실험 MLflow - Amazon SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

와 SageMaker 함께 Amazon을 사용한 기계 학습 실험 MLflow

Amazon SageMaker with MLflow는 기계 학습 실험을 생성, 관리, 분석 및 비교할 수 SageMaker 있는 Amazon의 기능입니다.

기계 학습 내 실험

기계 학습은 모델 정확도에 미치는 영향을 관찰하면서 다양한 데이터, 알고리즘 및 파라미터 조합을 실험해야 하는 반복 프로세스입니다. ML 실험의 반복적 특성으로 인해 모델 훈련 실행 및 버전이 많아져 성능이 가장 뛰어난 모델과 구성을 추적하기가 어렵습니다. 반복 훈련 실행을 관리하고 비교하는 복잡성은 실험을 위해 모델을 미세 조정할 뿐만 아니라 창의적이고 다양한 출력을 탐색하는 생성형 인공 지능(세대형 AI)과 함께 증가합니다. 연구원은 하이퍼파라미터를 조정하고, 적절한 모델 아키텍처를 선택하고, 생성된 콘텐츠의 품질과 창의성을 최적화하기 위해 다양한 데이터 세트를 큐레이션해야 합니다. 생성형 AI 모델을 평가하려면 정량적 지표와 정성적 지표가 모두 필요하므로 실험 프로세스에 복잡성이 추가됩니다.

Amazon과 MLflow 함께 SageMaker 를 사용하여 반복 ML 실험을 추적, 구성, 보기, 분석 및 비교하여 비교 인사이트를 얻고 최상의 성능 모델을 등록 및 배포합니다.

MLflow 통합

모델을 훈련하고 평가할 MLflow 때 를 사용하여 사용 사례에 가장 적합한 후보를 찾습니다. MLflow UI의 실험에서 모델 성능, 파라미터 및 지표를 비교하고, MLflow 모델 레지스트리에서 최상의 모델을 추적하고, SageMaker 자동으로 모델로 등록하고, 등록된 모델을 SageMaker 엔드포인트에 배포할 수 있습니다.

Amazon SageMaker with MLflow

모델 개발, 관리, 배포 및 추적을 위한 AWS 통합을 통해 기계 학습(ML) 수명 주기의 실험 단계를 추적하고 관리하는 MLflow 데 사용합니다.

Amazon SageMaker Studio

추적 서버를 생성 및 관리하고, 노트북을 실행하여 실험을 생성하고, MLflow UI에 액세스하여 Studio를 통해 실험 실행을 모두 보고 비교합니다.

SageMaker 모델 레지스트리

모델 레지스트리에서 모델 레지스트리로 모델을 자동으로 등록하여 프로덕션용 MLflow 모델 버전 및 카탈로그 모델을 관리합니다 SageMaker . 자세한 내용은 SageMaker 모델 레지스트리에 SageMaker 모델 자동 등록 단원을 참조하십시오.

SageMaker 추론

를 사용하여 SageMaker 엔드포인트에 배포하기 위한 최상의 모델을 준비합니다ModelBuilder. 자세한 내용은 를 사용하여 MLflow 모델 배포 ModelBuilder 단원을 참조하십시오.

AWS Identity and Access Management

에서 역할 기반 액세스 제어(RBAC)를 MLflow 사용하여 에 대한 액세스를 구성합니다IAM. MLflow 추적 서버의 클라이언트가 호출할 수 MLflow APIs 있는 를 승인하는 IAM 자격 증명 정책을 작성합니다. 모두 sagemaker-mlflow 서비스 접두사 아래에 IAM 작업으로 MLflow REST APIs 표시됩니다. 자세한 내용은 에 대한 IAM 권한 설정 MLflow 단원을 참조하십시오.

AWS CloudTrail

AWS 계정의 운영 및 위험 감사, 거버넌스 및 규정 준수를 활성화 AWS CloudTrail 하는 데 도움이 되는 로그인을 봅니다. 자세한 내용은 AWS CloudTrail 로그 단원을 참조하십시오.

Amazon EventBridge

Amazon 에서 캡처한 MLflow 이벤트를 사용하여 모델 검토 및 배포 수명 주기를 자동화합니다 EventBridge. 자세한 내용은 Amazon EventBridge 이벤트 단원을 참조하십시오.

지원됨 AWS 리전

SageMaker 가 있는 AmazonMLflow은 일반적으로 Amazon SageMaker Studio를 사용할 수 있는 모든 AWS 상용 리전에서 사용할 수 있습니다. SageMaker 단, MLflow가 있는 중국 리전 및 AWS GovCloud (US) 리전은 유럽(취리히), 아시아 태평양(하이데라바드), 아시아 태평양(멜버른) 및 캐나다 서부(캘거리) AWS CLI 에서만 사용할 수 있습니다 AWS 리전.

추적 서버는 지정된 리전 내의 단일 가용 영역에서 시작됩니다.

작동 방식

MLflow 추적 서버에는 컴퓨팅, 백엔드 메타데이터 스토리지, 아티팩트 스토리지의 세 가지 주요 구성 요소가 있습니다. 추적 서버와 백엔드 메타데이터 스토리지를 호스팅하는 컴퓨팅은 SageMaker 서비스 계정에 안전하게 호스팅됩니다. 아티팩트 스토리지는 사용자 AWS 계정의 Amazon S3 버킷에 있습니다.

MLflow 추적 서버의 컴퓨팅 및 메타데이터 스토어를 보여주는 다이어그램입니다.

추적 서버에는 이 있습니다ARN. 이를 사용하여 ARN를 MLflow SDK 추적 서버에 연결하고 훈련 실행을 에 로깅할 수 있습니다MLflow.

다음 주요 개념에 대한 자세한 내용은 을 참조하세요.

백엔드 메타데이터 스토리지

MLflow 추적 서버를 생성하면 실행 ID, 시작 및 종료 시간, 파라미터 및 지표와 같은 각 실행 에 대한 다양한 메타데이터를 SageMaker 유지하는 백엔드 스토어가 서비스 계정 내에서 자동으로 구성되고 완전히 관리됩니다.

아티팩트 스토리지

모델 가중치, 이미지, 모델 파일 및 실험 실행을 위한 데이터 파일과 같은 각 실행에 대한 메타데이터용 MLflow 영구 스토리지를 제공하려면 Amazon S3를 사용하여 아티팩트 스토어를 생성해야 합니다. 아티팩트 스토어는 AWS 계정 내에 설정해야 하며 아티팩트 스토어에 MLflow 액세스하려면 Amazon S3에 대한 액세스 권한을 명시적으로 부여해야 합니다. 자세한 내용은 MLflow 설명서의 아티팩트 스토어를 참조하세요.

MLflow 추적 서버 크기

선택적으로 Studio UI에서 또는 AWS CLI 파라미터 를 사용하여 추적 서버의 크기를 지정할 수 있습니다--tracking-server-size. "Small", 및 중에서 선택할 수 있습니다"Medium""Large". 기본 MLflow 추적 서버 구성 크기는 입니다"Small". 로깅된 데이터 볼륨, 사용자 수, 사용 빈도 등 추적 서버의 예상 사용량에 따라 크기를 선택할 수 있습니다.

최대 25명의 사용자로 구성된 팀에는 소형 추적 서버를 사용하고, 최대 50명의 사용자로 구성된 팀에는 중간 추적 서버를 사용하고, 최대 100명의 사용자로 구성된 팀에는 대형 추적 서버를 사용하는 것이 좋습니다. 모든 사용자가 이러한 권장 사항을 제시하기 위해 MLflow 추적 서버에 동시 요청하는 것으로 가정합니다. 예상 사용량 패턴과 각 추적 서버에서 지원하는 TPS (초당 트랜잭션 수)를 기준으로 추적 서버 크기를 선택해야 합니다.

참고

워크로드의 특성과 추적 서버에 수행하는 요청 유형에 따라 TPS 표시되는 가 결정됩니다.

서버 크기 추적 지속됨 TPS 버스트 TPS
작은 최대 25개 최대 50개
중간 최대 50개 최대 100
라지 최대 100 최대 200

서버 버전 추적

다음 MLflow 버전은 에서 사용할 수 있습니다 SageMaker.

MLflow 버전 Python 버전
MLflow 2.13.2 Python 3.8 이상

AWS CloudTrail 로그

AWS CloudTrail 는 MLflow 추적 서버와 관련된 활동을 자동으로 기록합니다. 다음 API 호출은 에 기록됩니다 CloudTrail.

  • CreateMlflowTrackingServer

  • DescribeMlflowTrackingServer

  • UpdateMlflowTrackingServer

  • DeleteMlflowTrackingServer

  • ListMlflowTrackingServers

  • CreatePresignedMlflowTrackingServer

  • StartMlflowTrackingServer

  • StopMlflowTrackingServer

에 대한 자세한 내용은 AWS CloudTrail 사용 설명서 섹션을 CloudTrail참조하세요.

Amazon EventBridge 이벤트

EventBridge 를 사용하여 를 MLflow와 함께 사용하는 이벤트를 조직 전반의 소비자 애플리케이션 SageMaker 으로 라우팅합니다. 다음 이벤트가 로 전송됩니다 EventBridge.

  • “SageMaker 추적 서버 생성”

  • “SageMaker 추적 서버 생성됨“

  • “SageMaker 추적 서버 생성 실패”

  • “서버 업데이트 SageMaker 추적”

  • “SageMaker 추적 서버 업데이트됨”

  • “서버 업데이트 SageMaker 추적 실패”

  • “서버 삭제 SageMaker 추적”

  • “SageMaker 추적 서버 삭제됨”

  • “서버 삭제 SageMaker 추적 실패”

  • “서버 시작 SageMaker 추적”

  • “SageMaker 추적 서버 시작됨”

  • “SageMaker 추적 서버 시작 실패”

  • “서버 중지 SageMaker 추적”

  • “SageMaker 추적 서버 중지됨”

  • “SageMaker 서버 중지 추적 실패”

  • “서버 유지 관리 SageMaker 추적 진행 중”

  • “서버 유지 관리 SageMaker 추적 완료”

  • “서버 유지 관리 SageMaker 추적 실패”

  • “SageMaker MLFlow트래킹 서버 생성 실행”

  • “SageMaker MLFlow추적 서버 생성 RegisteredModel”

  • “SageMaker MLFlow추적 서버 생성 ModelVersion”

  • “트SageMaker MLFlow래킹 서버 전환 ModelVersion 단계”

  • “SageMaker MLFlow추적 서버 설정 등록 모델 별칭”

에 대한 자세한 내용은 Amazon EventBridge 사용 설명서 섹션을 EventBridge참조하세요.