기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 추적 서버 생성 AWS CLI
보다 세분화된 보안 사용자 지정을 AWS CLI 위해를 사용하여 추적 서버를 생성할 수 있습니다.
사전 조건
를 사용하여 추적 서버를 생성하려면 다음이 있어야 AWS CLI합니다.
-
터미널에 대한 액세스. 여기에는 로컬 IDEs, Amazon EC2 인스턴스 또는가 포함될 수 있습니다 AWS CloudShell.
-
개발 환경에 대한 액세스가 필요합니다. 여기에는 Studio 또는 Studio Classic 내의 로컬 IDE 또는 Jupyter 노트북 환경이 포함될 수 있습니다.
-
구성된 AWS CLI 설치입니다. 자세한 내용은 AWS CLI구성을 참조하세요.
-
적절한 권한이 있는 IAM 역할입니다. 다음 단계에서는 환경에
iam:CreateRole
,iam:CreatePolicy
,iam:AttachRolePolicy
및iam:ListPolicies
권한이 있어야 합니다. 이러한 권한은 이 사용 설명서의 단계를 실행하는 데 사용되는 역할에 필요합니다. 이 설명서의 지침은 MLflow 추적 서버의 실행 역할로 사용되는 IAM 역할을 생성하여 Amazon S3 버킷의 데이터에 액세스할 수 있도록 합니다. 또한 MLflow SDK를 통해 추적 서버와 상호 작용하는 사용자의 IAM 역할에 MLflow API 호출할 수 있는 권한을 부여하기 위한 정책이 생성됩니다. 자세한 내용은 역할 권한 정책 수정(콘솔)을 참조하세요.SageMaker Studio 노트북을 사용하는 경우 이러한 IAM 권한으로 Studio 사용자 프로필의 서비스 역할을 업데이트합니다. 서비스 역할을 업데이트하려면 SageMaker AI 콘솔로 이동하여 사용 중인 도메인을 선택합니다. 그런 다음 도메인에서 사용 중인 사용자 프로필을 선택합니다. 여기에 서비스 역할이 나열됩니다. IAM 콘솔로 이동하여 역할에서 서비스 역할을 검색하고
iam:CreateRole
,iam:CreatePolicy
,iam:AttachRolePolicy
, 및iam:ListPolicies
작업을 허용하는 정책으로 역할을 업데이트합니다.
AWS CLI 모델 설정
터미널 내에서 다음 명령줄 단계에 따라 MLflow를 사용하여 Amazon SageMaker AI AWS CLI 용를 설정합니다.
-
업데이트된 버전의를 설치합니다 AWS CLI. 자세한 내용은 AWS CLI 사용 설명서의 AWS CLI의 최신 버전 설치 또는 업데이트를 참조하세요.
-
다음 명령을 사용하여 AWS CLI 가 설치되어 있는지 확인합니다.
aws sagemaker help
q
를 눌러 프롬프트를 종료합니다.문제 해결에 대한 도움말은 일반적인 설정 문제 해결 섹션을 참조하세요.
MLflow 인프라 설정
다음 섹션에서는 추적 서버에 필요한 Amazon S3 버킷 및 IAM 역할과 함께 MLflow 추적 서버를 설정하는 방법을 보여줍니다.
S3 버킷 생성
터미널 내에서 다음 명령을 사용하여 범용 Amazon S3 버킷을 생성합니다.
중요
아티팩트 스토어에 Amazon S3 URI를 제공할 때 Amazon S3 버킷이 추적 서버 AWS 리전 와 동일한지 확인합니다. 리전 간 아티팩트 스토리지는 지원되지 않습니다.
bucket_name=
bucket-name
region=valid-region
aws s3api create-bucket \ --bucket$bucket_name
\ --region$region
\ --create-bucket-configuration LocationConstraint=$region
다음과 같이 출력됩니다
{ "Location": "/
bucket-name
" }
IAM 신뢰 정책 설정
다음 단계를 사용하여 IAM 신뢰 정책을 생성합니다. 역할 및 신뢰 정책에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서의 역할 용어 및 개념을 참조하세요.
-
터미널 내에서 다음 명령을 사용하여
mlflow-trust-policy.json
라는 파일을 생성합니다.cat <<EOF > /tmp/
mlflow-trust-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF -
터미널 내에서 다음 명령을 사용하여
custom-policy.json
라는 파일을 생성합니다.cat <<EOF > /tmp/custom-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:DescribeModelPackageGroup", "sagemaker:UpdateModelPackage", "s3:List*" ], "Resource": "*" } ] } EOF
-
신뢰 정책 파일을 사용하여 역할을 생성합니다. 그런 다음 MLflow가 계정 내에서 Amazon S3 및 SageMaker 모델 레지스트리에 액세스할 수 있도록 허용하는 IAM 역할 정책을 연결합니다. MLflow는 추적 서버의 아티팩트 스토어의 경우 Amazon S3에 액세스할 수 있어야 하고 자동 모델 등록의 경우 SageMaker 모델 레지스트리에 액세스할 수 있어야 합니다.
참고
기존 역할을 업데이트하는 경우 대신
aws iam update-assume-role-policy --role-name
명령을 사용합니다.$role_name
--policy-documentfile:///tmp/mlflow-trust-policy.json
role_name=
role-name
aws iam create-role \ --role-name$role_name
\ --assume-role-policy-document file:///tmp/mlflow-trust-policy.json
aws iam put-role-policy \ --role-name$role_name
\ --policy-namecustom-policy
\ --policy-document file:///tmp/custom-policy.json
role_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)
MLflow 추적 서버 생성
터미널 내에서 create-mlflow-tracking-server
API를 사용하여 AWS 리전 선택한에서 추적 서버를 생성합니다. 이 단계는 최대 25분이 걸릴 수 있습니다.
선택적으로 파라미터 --tracking-server-config
를 사용하여 추적 서버의 크기를 지정할 수 있습니다. "Small"
, "Medium"
및 "Large"
중에서 선택합니다. 기본 MLflow Tracking Server 구성 크기는 "Small"
입니다. 로깅된 데이터의 양, 사용자 수, 사용 빈도 등 추적 서버의 예상 사용량에 따라 크기를 선택할 수 있습니다. 자세한 내용은 MLflow Tracking Server 크기 섹션을 참조하세요.
다음 명령은 자동 모델 등록이 활성화된 새 추적 서버를 생성합니다. 자동 모델 등록을 비활성화하려면 --no-automatic-model-registration
를 지정합니다.
추적 서버를 생성한 후 MLflow UI를 시작할 수 있습니다. 자세한 내용은 미리 서명된 URL을 사용하여 MLflow UI 시작 섹션을 참조하세요.
참고
추적 서버 생성을 완료하는 데 최대 25분이 걸릴 수 있습니다. 추적 서버를 생성하는 데 25분 이상이 걸리는 경우 필요한 IAM 권한이 있는지 확인합니다. IAM 사용자 권한에 대한 자세한 내용은 MLflow에 대한 IAM 권한을 설정합니다. 섹션을 참조하세요. 추적 서버를 성공적으로 생성하면 자동으로 시작됩니다.
추적 서버를 생성할 때 최신 버전을 지정하는 것이 좋습니다. 사용 가능한 버전에 대한 자세한 내용은 섹션을 참조하세요서버 버전 추적.
기본적으로 생성된 추적 서버는 최신 버전입니다. 그러나 기본 MLflow APIs가 변경될 수 있으므로 항상 최신 버전을 명시적으로 지정하는 것이 좋습니다.
ts_name=
tracking-server-name
region=valid-region
version=valid-version
aws sagemaker create-mlflow-tracking-server \ --tracking-server-name$ts_name
\ --artifact-store-uri s3://$bucket_name
\ --role-arn$role_arn
\--automatic-model-registration
\ --region$region
\ --mlflow-version$version
다음과 유사하게 출력됩니다.
{ "TrackingServerArn": "arn:aws:sagemaker:
region
:123456789012
:mlflow-tracking-server/tracking-server-name
" }
중요
나중에 사용할 수 있도록 추적 서버 ARN을 기록해 둡니다. 정리 단계를 위해 $bucket_name
도 필요합니다.