

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

# Dapatkan rekomendasi penerapan inferensi AI generatif
<a name="generative-ai-inference-recommendations-get-started"></a>

Pekerjaan rekomendasi AI menganalisis model dan karakteristik beban kerja Anda untuk menghasilkan konfigurasi penerapan yang dioptimalkan untuk biaya, latensi, atau throughput. Layanan mengevaluasi jenis instans, menerapkan pengoptimalan seperti decoding spekulatif, dan benchmark setiap konfigurasi pada infrastruktur GPU nyata.

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

Sebelum Anda membuat pekerjaan rekomendasi, Anda memerlukan yang berikut:
+ Artefak model yang disimpan di Amazon S3 HuggingFace dalam format pos pemeriksaan dengan bobot SafeTensor 
+ Bucket Amazon S3 untuk keluaran rekomendasi
+ Peran eksekusi AWS Identity and Access Management (IAM) and Access Management (IAM) yang memberikan akses SageMaker AI ke artefak model dan bucket keluaran Anda

## Langkah 1: Buat pekerjaan rekomendasi
<a name="generative-ai-inference-recommendations-get-started-create"></a>

Pekerjaan rekomendasi menganalisis model Anda dan menghasilkan rekomendasi penerapan. Anda menentukan lokasi model, lokasi keluaran, konfigurasi beban kerja, dan target kinerja.

**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/"
    },
    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/"}' \
  --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
```

Anda juga dapat menentukan parameter opsional berikut:

`ComputeSpec`  
Batasi jenis instance untuk dievaluasi (maksimal tiga). Misalnya: `{"InstanceTypes": ["ml.g5.12xlarge", "ml.p4d.24xlarge"]}`

`OptimizeModel`  
Setel `true` untuk memungkinkan pengoptimalan model seperti decoding spekulatif.

`InferenceSpecification`  
Tentukan kerangka inferensi. Nilai-nilai yang valid: `LMI`, `VLLM`.

## Langkah 2: Pantau status pekerjaan
<a name="generative-ai-inference-recommendations-get-started-monitor"></a>

Polling status pekerjaan hingga mencapai status terminal.

**Python (boto3)**

```
import time

while True:
    response = client.describe_ai_recommendation_job(
        AIRecommendationJobName="my-recommendation-job"
    )
    status = response["AIRecommendationJobStatus"]
    print(f"Status: {status}")
    if status in ("Completed", "Failed", "Stopped"):
        break
    time.sleep(30)
```

**AWS CLI**

```
aws sagemaker describe-ai-recommendation-job \
  --ai-recommendation-job-name "my-recommendation-job" \
  --region us-west-2
```

## Langkah 3: Tinjau rekomendasi
<a name="generative-ai-inference-recommendations-get-started-results"></a>

Ketika pekerjaan selesai, respon describe mencakup `Recommendations` array. Setiap rekomendasi berisi konfigurasi siap penerapan dengan informasi berikut:

`DeploymentConfiguration`  
URI gambar kontainer, tipe instance, jumlah instance, dan variabel lingkungan. Anda dapat menggunakan konfigurasi ini untuk menyebarkan langsung ke titik akhir SageMaker AI.

`ExpectedPerformance`  
Metrik kinerja yang divalidasi termasuk Time to First Token (TTFT), permintaan latensi pada P90 dan P99, throughput dalam token per detik, dan permintaan throughput.

`OptimizationDetails`  
Teknik optimasi terapan seperti decoding spekulatif atau penyetelan kernel, dengan parameter konfigurasinya.

Teknik optimasi berikut dapat diterapkan:

Penguraian spekulatif  
Decoding spekulatif mempercepat pembuatan teks dengan memproses beberapa token secara paralel daripada satu token pada satu waktu. Seorang spekulan ringan mengusulkan beberapa token kandidat dalam satu langkah, dan model utama kemudian memverifikasi mereka bersama-sama dalam satu pass maju, menjaga kandidat yang setuju dengan distribusinya sendiri dan membuang sisanya. Spekulan dilatih untuk menyelaraskan dengan distribusi data model primer sehingga lebih banyak proposal diterima, yang secara langsung diterjemahkan menjadi token yang lebih berguna yang dihasilkan per pass forward. Distribusi keluaran model primer dipertahankan, sehingga kualitas respons tidak berubah. Hasilnya adalah token keluaran per detik yang lebih tinggi dan latensi antar-token (ITL) yang lebih rendah, sehingga meningkatkan metrik throughput Anda.

Penyetelan kernel  
Penyetelan kernel dimulai dengan mengurai grafik eksekusi model untuk mengidentifikasi kernel kritis kinerja yang merupakan kandidat yang baik untuk penyetelan, seperti perhatian dan kernel operator yang menyatu. Parameter peluncuran dan ubin mereka kemudian disetel sehingga implementasinya lebih cocok dengan perangkat keras GPU target dan pola lalu lintas yang diharapkan, seperti konkurensi. Parameter ini memengaruhi penggunaan kembali memori, lokalitas cache, dan paralelisme, meningkatkan efisiensi eksekusi. Jumlah tahapan pipeline yang digunakan untuk memuat data dan komputasi juga disetel, membantu tumpang tindih pergerakan memori dengan komputasi. Dengan menyetel parameter ini untuk kombinasi spesifik model, perangkat keras, dan beban kerja penyajian, penyetelan kernel meningkatkan throughput dan latensi dengan memastikan GPU dimanfaatkan sepenuhnya.

Metrik target kinerja berikut tersedia:

`ttft-ms`  
Saatnya token pertama dalam milidetik.

`throughput`  
Token per detik.

`cost`  
Biaya per jam konfigurasi penerapan.

Setiap metrik dalam `ExpectedPerformance` respons mencakup `Stat` bidang yang menunjukkan ukuran statistik, a`Value`, dan opsional`Unit`. Statistik umum meliputi:`average`,`p50`,`p90`,`p95`,`p99`,`max`, dan`min`.

## Kelola sumber daya rekomendasi
<a name="generative-ai-inference-recommendations-get-started-manage"></a>

Gunakan operasi berikut untuk mengelola pekerjaan rekomendasi dan konfigurasi beban kerja Anda.

```
# List recommendation jobs
response = client.list_ai_recommendation_jobs(MaxResults=10)
for job in response["AIRecommendationJobs"]:
    print(f"{job['AIRecommendationJobName']} - {job['AIRecommendationJobStatus']}")

# Stop a running job
client.stop_ai_recommendation_job(
    AIRecommendationJobName="my-recommendation-job"
)

# Delete a job (must be in a terminal state)
client.delete_ai_recommendation_job(
    AIRecommendationJobName="my-recommendation-job"
)

# List workload configurations
response = client.list_ai_workload_configs(MaxResults=10)
for config in response["AIWorkloadConfigs"]:
    print(f"{config['AIWorkloadConfigName']} - {config['AIWorkloadConfigArn']}")

# Delete a workload configuration
client.delete_ai_workload_config(
    AIWorkloadConfigName="my-recommendation-workload"
)
```