View a markdown version of this page

Lacak rekomendasi inferensi dan hasil benchmark dengan MLFlow - Amazon SageMaker AI

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

Lacak rekomendasi inferensi dan hasil benchmark dengan MLFlow

Anda dapat melacak hasil rekomendasi dan benchmark pekerjaan Anda dengan MLFlow yang dikelola sepenuhnya di Amazon SageMaker AI. Saat Anda menyediakan konfigurasi MLFlow, SageMaker AI mencatat metrik kinerja dan artefak yang dihasilkan pekerjaan ke Aplikasi MLFlow. Anda kemudian dapat menggunakan UI MLFlow untuk melihat proses individual, membandingkan konfigurasi di seluruh pekerjaan, dan berbagi hasil dengan tim Anda. Untuk informasi selengkapnya tentang MLFlow di SageMaker AI, lihatMempercepat pengembangan AI generatif menggunakan MLFlow terkelola di Amazon AI SageMaker.

Pelacakan MLFlow bersifat opsional. Untuk mengaktifkannya, berikan konfigurasi MLFlow yang mereferensikan Aplikasi MLFlow saat Anda membuat pekerjaan.

Prasyarat

Sebelum Anda melacak hasil dengan MLFlow, Anda memerlukan yang berikut ini selain Prasyarat untuk pekerjaan rekomendasi atau benchmark:

  • Aplikasi MLFlow dalam keadaan operasional, Wilayah AWS sama dengan pekerjaan Anda. Untuk informasi tentang membuat Aplikasi MLFlow, lihatPengaturan Aplikasi MLFlow.

  • Peran eksekusi IAM (RoleArnyang Anda berikan ke pekerjaan) dengan izin untuk mendeskripsikan Aplikasi MLFlow dan memanggil MLFlow REST API. Tambahkan sagemaker:DescribeMlflowApp tindakan dan sagemaker-mlflow tindakan yang digunakan pekerjaan untuk log berjalan. Untuk informasi selengkapnya tentang izin MLFlow, lihat. Pengaturan Aplikasi MLFlow

Parameter konfigurasi MLFlow

Untuk melacak hasil, tambahkan MlflowConfig objek ke OutputConfig CreateAIBenchmarkJob permintaan CreateAIRecommendationJob atau permintaan Anda. MlflowConfigberisi bidang-bidang berikut:

MlflowResourceArn

Wajib. Nama Sumber Daya Amazon (ARN) dari Aplikasi MLFlow untuk mencatat hasil, dalam format. arn:aws:sagemaker:region:account-id:mlflow-app/app-id

MlflowExperimentName

Tidak wajib. Nama eksperimen MLFlow untuk mencatat proses di bawah. Jika eksperimen tidak ada, SageMaker AI membuatnya; jika sudah ada, SageMaker AI menggunakannya kembali, sehingga Anda dapat mengelompokkan lari dari beberapa pekerjaan di bawah satu percobaan dengan melewatkan nama yang sama.

MlflowRunName

Tidak wajib. Nama proses MLFlow tingkat atas tempat hasil pekerjaan bersarang di bawahnya. Untuk mengelompokkan hasil beberapa pekerjaan di bawah satu putaran tingkat atas, berikan yang sama MlflowRunName ke setiap pekerjaan.

Setiap job membuat run MLFlow tingkat atas, dengan turunan berjalan bersarang yang memecah hasil berdasarkan dimensi seperti target benchmark atau tipe instans, konfigurasi penerapan, dan tingkat konkurensi. Struktur ini memungkinkan Anda menelusuri pengukuran individual dan membandingkan konfigurasi di UI MLFlow.

MlflowConfigYang Anda berikan pada permintaan buat digaungkan kembali di Describe respons OutputConfig yang sesuai.

Lacak pekerjaan rekomendasi

Tambahkan MlflowConfig objek OutputConfig saat Anda membuat pekerjaan rekomendasi.

Python (boto3)

response = client.create_ai_recommendation_job( AIRecommendationJobName="my-recommendation-job", ModelSource={ "S3": { "S3Uri": "s3://DOC-EXAMPLE-BUCKET/models/my-model/", } }, OutputConfig={ "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/recommendations/", "MlflowConfig": { "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE", "MlflowExperimentName": "my-recommendation-experiment", "MlflowRunName": "my-recommendation-job-run", }, }, PerformanceTarget={ "Constraints": [ {"Metric": "ttft-ms"} ] }, AIWorkloadConfigIdentifier="my-recommendation-workload", RoleArn="arn:aws:iam::111122223333:role/ExampleRole", ) print(response["AIRecommendationJobArn"])

AWS CLI

aws sagemaker create-ai-recommendation-job \ --ai-recommendation-job-name "my-recommendation-job" \ --model-source '{"S3": {"S3Uri": "s3://DOC-EXAMPLE-BUCKET/models/my-model/"}}' \ --output-config '{ "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/recommendations/", "MlflowConfig": { "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE", "MlflowExperimentName": "my-recommendation-experiment", "MlflowRunName": "my-recommendation-job-run" } }' \ --performance-target '{"Constraints": [{"Metric": "ttft-ms"}]}' \ --ai-workload-config-identifier "my-recommendation-workload" \ --role-arn "arn:aws:iam::111122223333:role/ExampleRole" \ --region us-west-2

Lacak pekerjaan benchmark

Tambahkan MlflowConfig objek OutputConfig saat Anda membuat pekerjaan benchmark.

Python (boto3)

response = client.create_ai_benchmark_job( AIBenchmarkJobName="my-benchmark-job", BenchmarkTarget={ "Endpoint": { "Identifier": "my-sagemaker-endpoint" } }, OutputConfig={ "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/benchmark-results/", "MlflowConfig": { "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE", "MlflowExperimentName": "my-benchmark-experiment", "MlflowRunName": "my-benchmark-job-run", }, }, AIWorkloadConfigIdentifier="my-benchmark-config", RoleArn="arn:aws:iam::111122223333:role/ExampleRole", ) print(response["AIBenchmarkJobArn"])

AWS CLI

aws sagemaker create-ai-benchmark-job \ --ai-benchmark-job-name "my-benchmark-job" \ --benchmark-target '{"Endpoint": {"Identifier": "my-sagemaker-endpoint"}}' \ --output-config '{ "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/benchmark-results/", "MlflowConfig": { "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE", "MlflowExperimentName": "my-benchmark-experiment", "MlflowRunName": "my-benchmark-job-run" } }' \ --ai-workload-config-identifier "my-benchmark-config" \ --role-arn "arn:aws:iam::111122223333:role/ExampleRole" \ --region us-west-2

Lihat hasil dalam MLFlow

Setelah pekerjaan mencapai Completed status, buka UI MLFlow dari Aplikasi MLFlow untuk memeriksa proses yang dicatat. Untuk informasi selengkapnya tentang meluncurkan UI MLFlow, lihatLuncurkan UI MLFlow menggunakan URL yang telah ditetapkan sebelumnya.

Pada halaman Eksperimen, pilih eksperimen yang Anda tentukanMlflowExperimentName.

Halaman Eksperimen UI MLFlow menampilkan daftar eksperimen dengan nama dan waktu pembuatannya.

Tampilan Runs eksperimen menunjukkan proses tingkat atas yang berisi run per pekerjaan, yang diperluas menjadi run turunan untuk setiap jenis instance, konfigurasi penerapan, dan tingkat konkurensi. Pilih run untuk melihat parameter, metrik, dan artefaknya.

Tampilan MLFlow UI Runs menunjukkan proses tingkat atas yang diperluas ke turunan bersarang untuk tingkat per pekerjaan, tipe instans, tipe gambar, dan tingkat konkurensi.