Menyebarkan MLflow model dengan ModelBuilder - Amazon SageMaker AI

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

Menyebarkan MLflow model dengan ModelBuilder

Anda dapat menerapkan MLflow model ke titik akhir SageMaker AI menggunakan Amazon SageMaker AI Model Builder. Untuk informasi selengkapnya tentang Amazon SageMaker AI Model Builder, lihat Membuat model di Amazon SageMaker AI dengan ModelBuilder.

ModelBuilderadalah kelas Python yang mengambil model kerangka kerja atau spesifikasi inferensi yang ditentukan pengguna dan mengubahnya menjadi model deployable. Untuk detail lebih lanjut tentang ModelBuilder kelas, lihat ModelBuilder.

Untuk menerapkan MLflow model Anda menggunakanModelBuilder, berikan jalur ke MLflow artefak Anda di atribut. model_metadata["MLFLOW_MODEL_PATH"] Baca terus untuk informasi lebih lanjut tentang format input jalur model yang valid:

catatan

Jika Anda memberikan jalur artefak model Anda dalam bentuk ID MLflow run atau jalur registri MLflow model, maka Anda juga harus menentukan ARN server pelacakan Anda melalui model_metadata["MLFLOW_TRACKING_ARN"] atribut.

Jalur model yang membutuhkan ARN di model_metadata

Jalur model berikut mengharuskan Anda menentukan ARN di model_metadata for deployment:

Jalur model yang tidak memerlukan ARN di model_metadata

Jalur model berikut tidak mengharuskan Anda menentukan ARN di model_metadata for deployment:

  • Jalur model lokal: /Users/me/path/to/local/model

  • Jalur model Amazon S3: s3://amzn-s3-demo-bucket/path/to/model

  • Paket model ARN: arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name

Untuk informasi selengkapnya tentang cara kerja penerapan MLflow model dengan Amazon SageMaker AI, lihat Menerapkan MLflow Model ke Amazon SageMaker AI dalam dokumentasi. MLflow

Jika menggunakan jalur Amazon S3, Anda dapat menemukan jalur model terdaftar Anda dengan perintah berikut:

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

Contoh berikut adalah ikhtisar tentang cara menerapkan MLflow model Anda menggunakan ModelBuilder dan jalur registri MLflow model. Karena sampel ini menyediakan jalur artefak model dalam bentuk jalur registri MLflow model, panggilan ke juga ModelBuilder harus menentukan ARN server pelacakan melalui model_metadata["MLFLOW_TRACKING_ARN"] atribut.

penting

Anda harus menggunakan SDK SageMaker Python versi 2.224.0 atau yang lebih baru untuk digunakan. ModelBuilder

catatan

Gunakan contoh kode berikut untuk referensi. Untuk end-to-end contoh yang menunjukkan cara menerapkan MLflow model terdaftar, lihatMLflow tutorial menggunakan contoh notebook Jupyter.

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" )

Untuk mempertahankan pelacakan garis keturunan untuk MLflow model yang digunakanModelBuilder, Anda harus memiliki izin IAM berikut:

  • sagemaker:CreateArtifact

  • sagemaker:ListArtifacts

  • sagemaker:AddAssociation

  • sagemaker:DescribeMLflowTrackingServer

penting

Pelacakan garis keturunan adalah opsional. Penerapan berhasil tanpa izin yang terkait dengan pelacakan garis keturunan. Jika Anda tidak memiliki izin yang dikonfigurasi, Anda akan melihat kesalahan izin pelacakan garis keturunan saat menelepon. model.deploy() Namun, penerapan titik akhir masih berhasil dan Anda dapat langsung berinteraksi dengan titik akhir model Anda. Jika izin di atas dikonfigurasi, informasi pelacakan garis keturunan secara otomatis dibuat dan disimpan.

Untuk informasi dan end-to-end contoh lebih lanjut, lihatMLflow tutorial menggunakan contoh notebook Jupyter.