를 사용하여 MLflow 모델 배포 ModelBuilder - Amazon SageMaker

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

를 사용하여 MLflow 모델 배포 ModelBuilder

Amazon MLflow Model Builder를 사용하여 SageMaker 엔드포인트에 SageMaker 모델을 배포할 수 있습니다. Amazon SageMaker Model Builder에 대한 자세한 내용은 를 SageMaker 사용하여 Amazon에서 모델 생성을 참조하세요 ModelBuilder.

ModelBuilder 는 프레임워크 모델 또는 사용자 지정 추론 사양을 가져와 배포 가능한 모델로 변환하는 Python 클래스입니다. ModelBuilder 클래스에 대한 자세한 내용은 섹션을 참조하세요ModelBuilder.

를 사용하여 MLflow 모델을 배포하려면 model_metadata["MLFLOW_MODEL_PATH"] 속성의 MLflow 아티팩트에 대한 경로를 ModelBuilder제공합니다. 유효한 모델 경로 입력 형식에 대한 자세한 내용은 다음을 참조하세요.

참고

모델 아티팩트 경로를 MLflow 실행 ID 또는 MLflow 모델 레지스트리 경로 형식으로 제공하는 경우 model_metadata["MLFLOW_TRACKING_ARN"] 속성을 ARN 통해 추적 서버도 지정해야 합니다.

ARN 에서 가 필요한 모델 경로 model_metadata

다음 모델 경로에서는 배포를 model_metadata 위해 ARN에서 를 지정해야 합니다.

ARN 에서 가 필요하지 않은 모델 경로 model_metadata

다음 모델 경로는 배포를 model_metadata 위해 ARN 에서 를 지정할 필요가 없습니다.

  • 로컬 모델 경로: /Users/me/path/to/local/model

  • Amazon S3 모델 경로: s3://amzn-s3-demo-bucket/path/to/model

  • 모델 패키지ARN: arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name

MLflow 모델 배포가 Amazon 에서 작동하는 방식에 대한 자세한 내용은 MLflow 설명서의 Amazon에 MLflow 모델 배포 SageMaker를 SageMaker참조하세요.

Amazon S3 경로를 사용하는 경우 다음 명령을 사용하여 등록된 모델의 경로를 찾을 수 있습니다.

registered_model = client.get_registered_model(name='AutoRegisteredModel') source_path = registered_model.latest_versions[0].source

다음 샘플은 ModelBuilder 및 MLflow 모델 레지스트리 경로를 사용하여 MLflow 모델을 배포하는 방법에 대한 개요입니다. 이 샘플은 모델 아티팩트 경로를 MLflow 모델 레지스트리 경로의 형태로 제공하기 때문에 에 대한 호출은 model_metadata["MLFLOW_TRACKING_ARN"] 속성을 ARN 통해 추적 서버도 지정ModelBuilder해야 합니다.

중요

를 사용하려면 SageMaker Python 버전 2.224.0 이상을 SDK 사용해야 합니다ModelBuilder.

참고

다음 코드 예제를 참조하세요. 등록된 MLflow 모델을 배포하는 방법을 보여주는 end-to-end 예제는 섹션을 참조하세요MLflowJupyter 노트북 예제를 사용한 튜토리얼.

from sagemaker.serve import ModelBuilder from sagemaker.serve.mode.function_pointers import Mode from sagemaker.serve import SchemaBuilder my_schema = SchemaBuilder( sample_input=sample_input, sample_output=sample_output ) model_builder = ModelBuilder( mode=Mode.SAGEMAKER_ENDPOINT, schema_builder=my_schema, role_arn="Your-service-role-ARN", model_metadata={ # both model path and tracking server ARN are required if you use an mlflow run ID or mlflow model registry path as input "MLFLOW_MODEL_PATH": "models:/sklearn-model/1" "MLFLOW_TRACKING_ARN": "arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name" } ) model = model_builder.build() predictor = model.deploy( initial_instance_count=1, instance_type="ml.c6i.xlarge" )

를 사용하여 배포된 MLflow 모델의 계보 추적을 유지하려면 다음 IAM 권한이 있어야 ModelBuilder합니다.

  • sagemaker:CreateArtifact

  • sagemaker:ListArtifacts

  • sagemaker:AddAssociation

  • sagemaker:DescribeMLflowTrackingServer

중요

계보 추적은 선택 사항입니다. 계보 추적과 관련된 권한 없이 배포가 성공합니다. 권한이 구성되지 않은 경우 를 호출할 때 계보 추적 권한 오류가 표시됩니다model.deploy(). 그러나 엔드포인트 배포는 여전히 성공하며 모델 엔드포인트와 직접 상호 작용할 수 있습니다. 위 권한이 구성된 경우 계보 추적 정보가 자동으로 생성되고 저장됩니다.

자세한 내용과 end-to-end 예제는 섹션을 참조하세요MLflowJupyter 노트북 예제를 사용한 튜토리얼.