Menyebarkan MLflow model dengan ModelBuilder - Amazon SageMaker

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 SageMaker titik akhir menggunakan Amazon SageMaker Model Builder. Untuk informasi selengkapnya tentang Amazon SageMaker Model Builder, lihat Membuat model di Amazon SageMaker 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 server pelacakan Anda ARN 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 modelARN: arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name

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

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 server pelacakan ARN melalui model_metadata["MLFLOW_TRACKING_ARN"] atribut.

penting

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

catatan

Gunakan contoh kode berikut untuk referensi. Untuk end-to-end contoh yang menunjukkan cara menerapkan MLflow model terdaftar, lihatMLflowtutorial 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 berikut: IAM

  • 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, lihatMLflowtutorial menggunakan contoh notebook Jupyter.