

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`
<a name="mlflow-track-experiments-model-deployment"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-modelbuilder-creation.html).

`ModelBuilder`adalah 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](https://sagemaker.readthedocs.io/en/stable/api/inference/model_builder.html#sagemaker.serve.builder.model_builder.ModelBuilder).

Untuk menerapkan MLflow model Anda menggunakan`ModelBuilder`, 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`](#mlflow-track-experiments-model-deployment-with-arn)
+ [Jalur model yang tidak memerlukan ARN di `model_metadata`](#mlflow-track-experiments-model-deployment-without-arn)

## Jalur model yang membutuhkan ARN di `model_metadata`
<a name="mlflow-track-experiments-model-deployment-with-arn"></a>

Jalur model berikut mengharuskan Anda menentukan ARN di `model_metadata` for deployment:
+ MLflow [jalankan ID](https://mlflow.org/docs/latest/python_api/mlflow.entities.html?highlight=mlflow%20info#mlflow.entities.RunInfo.run_id): `runs:/aloy-run-id/run-relative/path/to/model`
+ MLflow [jalur registri model](https://mlflow.org/docs/latest/model-registry.html#find-registered-models): `models:/model-name/model-version`

## Jalur model yang tidak memerlukan ARN di `model_metadata`
<a name="mlflow-track-experiments-model-deployment-without-arn"></a>

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](https://mlflow.org/docs/latest/deployment/deploy-model-to-sagemaker.html) 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](https://pypi.org/project/sagemaker/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, lihat[MLflow tutorial menggunakan contoh notebook Jupyter](mlflow-tutorials.md).

```
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](https://docs.aws.amazon.com/sagemaker/latest/dg/lineage-tracking.html) untuk MLflow model yang digunakan`ModelBuilder`, 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, lihat[MLflow tutorial menggunakan contoh notebook Jupyter](mlflow-tutorials.md).