Buat server pelacak menggunakan AWS CLI - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat server pelacak menggunakan AWS CLI

Anda dapat membuat server pelacak menggunakan AWS CLI kustomisasi keamanan yang lebih terperinci.

Prasyarat

Untuk membuat server pelacak menggunakan AWS CLI, Anda harus memiliki yang berikut:

  • Akses ke terminal.Ini dapat mencakup IDE lokal, instans Amazon EC2, atau. AWS CloudShell

  • Akses ke lingkungan pengembangan. Ini dapat mencakup IDE lokal atau lingkungan notebook Jupyter dalam Studio atau Studio Classic.

  • AWS CLI Instalasi yang dikonfigurasi. Untuk informasi selengkapnya, lihat Mengkonfigurasi AWS CLI.

  • Peran IAM dengan izin yang sesuai. Langkah-langkah berikut mengharuskan lingkungan Anda memilikiiam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicy, dan iam:ListPolicies izin. Izin ini diperlukan pada peran yang digunakan untuk menjalankan langkah-langkah dalam panduan pengguna ini. Petunjuk dalam panduan ini membuat peran IAM yang digunakan sebagai peran eksekusi MLFlow Tracking Server sehingga dapat mengakses data di bucket Amazon S3 Anda. Selain itu, kebijakan dibuat untuk memberikan peran IAM pengguna yang berinteraksi dengan Server Pelacakan melalui izin SDK MLFlow untuk memanggil MLFlow API. Untuk informasi selengkapnya, lihat Memodifikasi kebijakan izin peran (konsol).

    Jika menggunakan Buku Catatan SageMaker Studio, perbarui peran layanan untuk profil pengguna Studio Anda dengan izin IAM ini. Untuk memperbarui peran layanan, navigasikan ke SageMaker konsol dan pilih domain yang Anda gunakan. Kemudian, di bawah domain, pilih profil pengguna yang Anda gunakan. Anda akan melihat peran layanan yang tercantum di sana. Arahkan ke konsol IAM, cari peran layanan di bawah Peran, dan perbarui peran Anda dengan kebijakan yang memungkinkaniam:CreateRole,, iam:CreatePolicyiam:AttachRolePolicy, dan iam:ListPolicies tindakan.

Mengatur AWS CLI model

Ikuti langkah-langkah baris perintah ini di dalam terminal untuk menyiapkan Amazon SageMaker dengan MLFlow. AWS CLI

  1. Instal versi terbaru dari file AWS CLI. Untuk informasi selengkapnya, lihat Menginstal atau memperbarui ke versi terbaru dari Panduan AWS CLI Pengguna. AWS CLI

  2. Verifikasi AWS CLI bahwa diinstal menggunakan perintah berikut:

    aws sagemaker help

    Tekan q untuk keluar dari prompt.

    Untuk bantuan penyelesaian masalah, lihat Memecahkan masalah pengaturan umum.

Siapkan infrastruktur MLFlow

Bagian berikut menunjukkan cara menyiapkan MLFlow Tracking Server beserta bucket Amazon S3 dan peran IAM yang diperlukan untuk server pelacakan.

Buat Bucket S3

Di dalam terminal Anda, gunakan perintah berikut untuk membuat bucket Amazon S3 tujuan umum:

catatan

Bucket Amazon S3 yang digunakan untuk toko artefak Anda harus Wilayah AWS sama dengan server pelacak Anda.

bucket_name=bucket-name region=valid-region aws s3api create-bucket \ --bucket $bucket_name \ --region $region \ --create-bucket-configuration LocationConstraint=$region

Outputnya akan serupa dengan yang berikut ini:

{ "Location": "/bucket-name" }

Siapkan kebijakan kepercayaan IAM

Gunakan langkah-langkah berikut untuk membuat kebijakan kepercayaan IAM. Untuk informasi selengkapnya tentang peran dan kebijakan kepercayaan, lihat Istilah dan konsep peran di Panduan AWS Identity and Access Management Pengguna.

  1. Di dalam terminal Anda, gunakan perintah berikut untuk membuat file bernamamlflow-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
  2. Di dalam terminal Anda, gunakan perintah berikut untuk membuat file bernamacustom-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
  3. Gunakan file kebijakan kepercayaan untuk membuat peran. Kemudian, lampirkan kebijakan peran IAM yang memungkinkan MLFlow mengakses Amazon S3 SageMaker dan Registry Model dalam akun Anda. MLFlow harus memiliki akses ke Amazon S3 untuk penyimpanan artefak server pelacak Anda SageMaker dan Registri Model untuk pendaftaran model otomatis.

    catatan

    Jika Anda memperbarui peran yang ada, gunakan perintah berikut sebagai gantinya:aws iam update-assume-role-policy --role-name $role_name --policy-document file:///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-name custom-policy \ --policy-document file:///tmp/custom-policy.json role_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)

Buat server pelacak MLFlow

Di dalam terminal Anda, gunakan create-mlflow-tracking-server API untuk membuat server pelacak sesuai pilihan Anda. Wilayah AWS Langkah ini bisa memakan waktu hingga 25 menit.

Anda dapat secara opsional menentukan ukuran server pelacak Anda dengan parameter--tracking-server-config. Pilih antara"Small","Medium", dan"Large". Ukuran konfigurasi MLFlow Tracking Server default adalah"Small". Anda dapat memilih ukuran tergantung pada proyeksi penggunaan server pelacak seperti volume data yang dicatat, jumlah pengguna, dan frekuensi penggunaan. Untuk informasi selengkapnya, lihat MLflowMelacak ukuran Server.

Perintah berikut membuat server pelacak baru dengan pendaftaran model otomatis diaktifkan. Untuk menonaktifkan pendaftaran model otomatis, tentukan--no-automatic-model-registration.

Setelah membuat server pelacakan, Anda dapat meluncurkan UI MLFlow. Untuk informasi selengkapnya, lihat Luncurkan UI MLFlow menggunakan URL yang telah ditetapkan sebelumnya.

catatan

Diperlukan waktu hingga 25 menit untuk menyelesaikan pembuatan server pelacakan. Jika server pelacak membutuhkan waktu lebih dari 25 menit untuk membuat, periksa apakah Anda memiliki izin IAM yang diperlukan. Untuk informasi selengkapnya tentang izin IAM, lihat. Menyiapkan izin IAM untuk MLFlow Ketika Anda berhasil membuat server pelacak, server akan dimulai secara otomatis.

ts_name=tracking-server-name region=valid-region 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

Output harus serupa dengan yang berikut ini:

{ "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name" }
penting

Catat ARN server pelacak untuk digunakan nanti. Anda juga akan membutuhkan langkah-langkah $bucket_name untuk membersihkan.

Jelaskan Server Pelacakan MLFlow

Periksa status pembuatan MLFlow Tracking Server Anda dengan describe-mlflow-tracking-server API.

aws sagemaker describe-mlflow-tracking-server \ --tracking-server-name $ts_name \ --region $region

Ketika pembuatan MLFlow Tracking Server masih berlangsung, TrackingServerStatus adalah"Creating". Ketika pembuatan server pelacakan MLFlow selesai, TrackingServerStatus adalah"Created". Output harus serupa dengan yang berikut ini:

{ "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name", "MlflowTrackingServerName": "tracking-server-name", "CreationTime": "2024-03-15T19:41:43+00:00", "LastModifiedTime": "2024-03-15T19:41:43+00:00", "CreatedBy": {}, "LastModifiedBy": {}, "ArtifactStoreUri": "s3://bucket-name", "TrackingServerConfig": "Small", "MlflowVersion": "v2.11.3", "TrackingServerStatus": "Created" }

Daftar MLFlow Tracking Server

Daftar MLFlow Tracking Server dengan list-mlflow-tracking-servers API.

aws sagemaker list-mlflow-tracking-servers \ --region $region

Output-nya semestinya mirip dengan yang berikut:

{ "TrackingServerSummaries": [ { "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name", "MlflowTrackingServerName": "tracking-server-name", "CreationTime": "2024-04-11T16:58:27+00:00", "LastModifiedTime": "2024-04-11T16:58:27+00:00", "TrackingServerStatus": "CreatePending", "MlflowVersion": "v2.11.3" } ] }

Secara default, server pelacak terdaftar dalam urutan menurun berdasarkan waktu pembuatan. Untuk mengubah urutan daftar, Anda dapat secara opsional menentukan --sort-order menjadiAscending.

Anda dapat secara opsional memfilter server pelacakan yang terdaftar dengan--tracking-server-status, seperti "Creating" atau"Created".

Gunakan --created-after filter untuk hanya mencantumkan server pelacak yang dibuat setelah tanggal dan waktu tertentu. Server pelacak yang terdaftar ditampilkan dengan tanggal dan waktu seperti"2024-03-16T01:46:56+00:00". --created-afterParameter mengambil stempel waktu Unix. Untuk mengubah tanggal dan waktu menjadi stempel waktu Unix, lihat. EpochConverter

aws sagemaker list-mlflow-tracking-servers \ --region $region \ --sort-order Ascending \ --tracking-server-status Created \ --created-after 1712852168

Jika Anda memiliki lebih dari satu server pelacak yang sama Wilayah AWS, Anda dapat menggunakan --next-token parameter untuk melakukan iterasi melalui server pelacakan Anda.

# List one tracking server in a specified Wilayah AWS to get a NextToken aws sagemaker list-mlflow-tracking-servers \ --max-results 1 \ --region $region # Save the NextToken for this listed tracking server in a variable next_token=$(aws experiments-beta list-mlflow-tracking-servers \ --max-results 1 \ --region $region | jq -r .NextToken) # Use the NextToken to list the next tracking server and get a new NextToken aws sagemaker list-mlflow-tracking-servers \ --max-results 1 \ --region $region \ --next-token $next_token

Untuk melihat semua opsi daftar yang mungkin, jalankan perintah berikut:

aws sagemaker list-mlflow-tracking-servers help

Hentikan atau mulai Server Pelacakan MLFlow

Untuk menghentikan server pelacakan, gunakan perintah berikut:

aws sagemaker stop-mlflow-tracking-server \ --tracking-server-name $ts_name \ --region $region

Untuk memulai server pelacakan, gunakan perintah berikut:

catatan

Mungkin diperlukan waktu hingga 25 menit untuk memulai server pelacakan Anda.

aws sagemaker start-mlflow-tracking-server \ --tracking-server-name $ts_name \ --region $region

Perbarui Server Pelacakan MLFlow

Anda dapat memperbarui bucket penyimpanan artefak Amazon S3, melacak ukuran server, konfigurasi pendaftaran model otomatis, atau jendela pemeliharaan mingguan kapan saja. Server pelacak harus dihentikan untuk diperbarui.

Untuk memperbarui server pelacak dan mengubah URI penyimpanan artefak, gunakan perintah berikut:

aws sagemaker update-mlflow-tracking-server \ --tracking-server-name $ts_name \ --artifact-store-uri $updated-artifact-store-uri \ --region $region