

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

# Lacak rekomendasi inferensi dan hasil benchmark dengan MLFlow
<a name="generative-ai-inference-recommendations-mlflow"></a>

Anda dapat melacak hasil rekomendasi dan benchmark pekerjaan Anda dengan MLFlow yang dikelola sepenuhnya di Amazon SageMaker AI. Saat Anda menyediakan konfigurasi MLFlow, SageMaker AI mencatat metrik kinerja dan artefak yang dihasilkan pekerjaan ke Aplikasi MLFlow. Anda kemudian dapat menggunakan UI MLFlow untuk melihat proses individual, membandingkan konfigurasi di seluruh pekerjaan, dan berbagi hasil dengan tim Anda. Untuk informasi selengkapnya tentang MLFlow di SageMaker AI, lihat[Mempercepat pengembangan AI generatif menggunakan MLFlow terkelola di Amazon AI SageMaker](mlflow.md).

Pelacakan MLFlow bersifat opsional. Untuk mengaktifkannya, berikan konfigurasi MLFlow yang mereferensikan Aplikasi MLFlow saat Anda membuat pekerjaan.

## Prasyarat
<a name="generative-ai-inference-recommendations-mlflow-prereqs"></a>

Sebelum Anda melacak hasil dengan MLFlow, Anda memerlukan yang berikut ini selain [Prasyarat](generative-ai-inference-recommendations-get-started.md#generative-ai-inference-recommendations-get-started-prereqs) untuk pekerjaan rekomendasi atau benchmark:
+ Aplikasi MLFlow dalam keadaan operasional, Wilayah AWS sama dengan pekerjaan Anda. Untuk informasi tentang membuat Aplikasi MLFlow, lihat[Pengaturan Aplikasi MLFlow](mlflow-app-setup.md).
+ Peran eksekusi IAM (`RoleArn`yang Anda berikan ke pekerjaan) dengan izin untuk mendeskripsikan Aplikasi MLFlow dan memanggil MLFlow REST API. Tambahkan `sagemaker:DescribeMlflowApp` tindakan dan `sagemaker-mlflow` tindakan yang digunakan pekerjaan untuk log berjalan. Untuk informasi selengkapnya tentang izin MLFlow, lihat. [Pengaturan Aplikasi MLFlow](mlflow-app-setup.md)

## Parameter konfigurasi MLFlow
<a name="generative-ai-inference-recommendations-mlflow-config"></a>

Untuk melacak hasil, tambahkan `MlflowConfig` objek ke `OutputConfig` `CreateAIBenchmarkJob` permintaan `CreateAIRecommendationJob` atau permintaan Anda. `MlflowConfig`berisi bidang-bidang berikut:

`MlflowResourceArn`  
Wajib. Nama Sumber Daya Amazon (ARN) dari Aplikasi MLFlow untuk mencatat hasil, dalam format. `arn:aws:sagemaker:{{region}}:{{account-id}}:mlflow-app/{{app-id}}`

`MlflowExperimentName`  
Tidak wajib. Nama eksperimen MLFlow untuk mencatat proses di bawah. Jika eksperimen tidak ada, SageMaker AI membuatnya; jika sudah ada, SageMaker AI menggunakannya kembali, sehingga Anda dapat mengelompokkan lari dari beberapa pekerjaan di bawah satu percobaan dengan melewatkan nama yang sama.

`MlflowRunName`  
Tidak wajib. Nama proses MLFlow tingkat atas tempat hasil pekerjaan bersarang di bawahnya. Untuk mengelompokkan hasil beberapa pekerjaan di bawah satu putaran tingkat atas, berikan yang sama `MlflowRunName` ke setiap pekerjaan.

Setiap job membuat run MLFlow tingkat atas, dengan turunan berjalan bersarang yang memecah hasil berdasarkan dimensi seperti target benchmark atau tipe instans, konfigurasi penerapan, dan tingkat konkurensi. Struktur ini memungkinkan Anda menelusuri pengukuran individual dan membandingkan konfigurasi di UI MLFlow.

`MlflowConfig`Yang Anda berikan pada permintaan buat digaungkan kembali di `Describe` respons `OutputConfig` yang sesuai.

## Lacak pekerjaan rekomendasi
<a name="generative-ai-inference-recommendations-mlflow-recommendation"></a>

Tambahkan `MlflowConfig` objek `OutputConfig` saat Anda membuat pekerjaan rekomendasi.

**Python (boto3)**

```
response = client.create_ai_recommendation_job(
    AIRecommendationJobName="my-recommendation-job",
    ModelSource={
        "S3": {
            "S3Uri": "s3://DOC-EXAMPLE-BUCKET/models/my-model/",
        }
    },
    OutputConfig={
        "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/recommendations/",
        "MlflowConfig": {
            "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
            "MlflowExperimentName": "my-recommendation-experiment",
            "MlflowRunName": "my-recommendation-job-run",
        },
    },
    PerformanceTarget={
        "Constraints": [
            {"Metric": "ttft-ms"}
        ]
    },
    AIWorkloadConfigIdentifier="my-recommendation-workload",
    RoleArn="arn:aws:iam::111122223333:role/ExampleRole",
)
print(response["AIRecommendationJobArn"])
```

**AWS CLI**

```
aws sagemaker create-ai-recommendation-job \
  --ai-recommendation-job-name "my-recommendation-job" \
  --model-source '{"S3": {"S3Uri": "s3://DOC-EXAMPLE-BUCKET/models/my-model/"}}' \
  --output-config '{
    "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/recommendations/",
    "MlflowConfig": {
      "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
      "MlflowExperimentName": "my-recommendation-experiment",
      "MlflowRunName": "my-recommendation-job-run"
    }
  }' \
  --performance-target '{"Constraints": [{"Metric": "ttft-ms"}]}' \
  --ai-workload-config-identifier "my-recommendation-workload" \
  --role-arn "arn:aws:iam::111122223333:role/ExampleRole" \
  --region us-west-2
```

## Lacak pekerjaan benchmark
<a name="generative-ai-inference-recommendations-mlflow-benchmark"></a>

Tambahkan `MlflowConfig` objek `OutputConfig` saat Anda membuat pekerjaan benchmark.

**Python (boto3)**

```
response = client.create_ai_benchmark_job(
    AIBenchmarkJobName="my-benchmark-job",
    BenchmarkTarget={
        "Endpoint": {
            "Identifier": "my-sagemaker-endpoint"
        }
    },
    OutputConfig={
        "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/benchmark-results/",
        "MlflowConfig": {
            "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
            "MlflowExperimentName": "my-benchmark-experiment",
            "MlflowRunName": "my-benchmark-job-run",
        },
    },
    AIWorkloadConfigIdentifier="my-benchmark-config",
    RoleArn="arn:aws:iam::111122223333:role/ExampleRole",
)
print(response["AIBenchmarkJobArn"])
```

**AWS CLI**

```
aws sagemaker create-ai-benchmark-job \
  --ai-benchmark-job-name "my-benchmark-job" \
  --benchmark-target '{"Endpoint": {"Identifier": "my-sagemaker-endpoint"}}' \
  --output-config '{
    "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/benchmark-results/",
    "MlflowConfig": {
      "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
      "MlflowExperimentName": "my-benchmark-experiment",
      "MlflowRunName": "my-benchmark-job-run"
    }
  }' \
  --ai-workload-config-identifier "my-benchmark-config" \
  --role-arn "arn:aws:iam::111122223333:role/ExampleRole" \
  --region us-west-2
```

## Lihat hasil dalam MLFlow
<a name="generative-ai-inference-recommendations-mlflow-view"></a>

Setelah pekerjaan mencapai `Completed` status, buka UI MLFlow dari Aplikasi MLFlow untuk memeriksa proses yang dicatat. Untuk informasi selengkapnya tentang meluncurkan UI MLFlow, lihat[Luncurkan UI MLFlow menggunakan URL yang telah ditetapkan sebelumnya](mlflow-launch-ui.md).

Pada halaman **Eksperimen**, pilih eksperimen yang Anda tentukan`MlflowExperimentName`.

![Halaman Eksperimen UI MLFlow menampilkan daftar eksperimen dengan nama dan waktu pembuatannya.](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/mlflow/inference-recommendations-mlflow-experiments.png)


Tampilan **Runs** eksperimen menunjukkan proses tingkat atas yang berisi run per pekerjaan, yang diperluas menjadi run turunan untuk setiap jenis instance, konfigurasi penerapan, dan tingkat konkurensi. Pilih run untuk melihat parameter, metrik, dan artefaknya.

![Tampilan MLFlow UI Runs menunjukkan proses tingkat atas yang diperluas ke turunan bersarang untuk tingkat per pekerjaan, tipe instans, tipe gambar, dan tingkat konkurensi.](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/mlflow/inference-recommendations-mlflow-runs.png)
