View a markdown version of this page

Terapkan model MLFlow 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.

Terapkan model MLFlow dengan ModelBuilder

Anda dapat menerapkan model MLFlow 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 yang dapat diterapkan. Untuk detail lebih lanjut tentang ModelBuilder kelas, lihat ModelBuilder.

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

catatan

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

Jalur model yang memerlukan ARN di model_metadata

Jalur model berikut memang mengharuskan Anda menentukan ARN di model_metadata untuk penerapan:

Jalur model yang tidak memerlukan ARN di model_metadata

Jalur model berikut tidak mengharuskan Anda menentukan ARN di model_metadata untuk penerapan:

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

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

  • Model paket ARN: arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name

Untuk informasi selengkapnya tentang cara penerapan model MLFlow bekerja dengan Amazon SageMaker AI, lihat Menye barkan Model MLFlow ke Amazon SageMaker AI di 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 model MLFlow Anda menggunakan ModelBuilder dan jalur registri model MLFlow. Karena sampel ini menyediakan jalur artefak model dalam bentuk jalur registri model MLFlow, panggilan ke juga ModelBuilder harus menentukan server pelacakan ARN melalui atribut. model_metadata["MLFLOW_TRACKING_ARN"]

penting

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

catatan

Gunakan contoh kode berikut untuk referensi. Untuk contoh ujung ke ujung yang menunjukkan cara menerapkan model MLFlow terdaftar, lihatTutorial MLFlow 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() endpoint = model_builder.deploy(endpoint_name="my-endpoint", instance_type="ml.c6i.xlarge")

Untuk mempertahankan pelacakan garis keturunan untuk model MLFlow 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 berinteraksi langsung dengan titik akhir model Anda. Jika izin di atas dikonfigurasi, informasi pelacakan garis keturunan secara otomatis dibuat dan disimpan.

Untuk informasi selengkapnya dan contoh ujung ke ujung, lihatTutorial MLFlow menggunakan contoh notebook Jupyter.