

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

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](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 model MLFlow Anda menggunakan`ModelBuilder`, berikan jalur ke artefak MLFlow 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 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 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:
+ [ID jalankan](https://mlflow.org/docs/latest/python_api/mlflow.entities.html?highlight=mlflow%20info#mlflow.entities.RunInfo.run_id) MLFlow: `{{runs:/aloy-run-id/run-relative/path/to/model}}`
+ [Jalur registri model](https://mlflow.org/docs/latest/model-registry.html#find-registered-models) MLFlow: `{{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 model MLFlow dengan Amazon SageMaker AI, lihat [Menerapkan Model MLFlow 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 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 ARN server pelacakan melalui atribut. `model_metadata["MLFLOW_TRACKING_ARN"]`

**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 contoh ujung ke ujung yang menunjukkan cara menerapkan model MLFlow terdaftar, lihat. [Tutorial MLFlow 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 model MLFlow 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 selengkapnya dan contoh ujung ke ujung, lihat. [Tutorial MLFlow menggunakan contoh notebook Jupyter](mlflow-tutorials.md)