

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

# Buat pekerjaan pengoptimalan inferensi
<a name="model-optimize-create-job"></a>

Anda dapat membuat pekerjaan pengoptimalan inferensi dengan menggunakan Studio atau SageMaker AI Python SDK. Pekerjaan mengoptimalkan model Anda dengan menerapkan teknik yang Anda pilih. Untuk informasi selengkapnya, lihat [Teknik optimasi](model-optimize.md#optimization-techniques).

**Harga instans untuk pekerjaan pengoptimalan inferensi**  
Saat Anda membuat pekerjaan pengoptimalan inferensi yang menerapkan kuantisasi atau kompilasi, SageMaker AI memilih jenis instans mana yang akan digunakan untuk menjalankan pekerjaan. Anda dikenakan biaya berdasarkan instans yang digunakan.  
Untuk jenis instans yang mungkin dan detail harganya, lihat informasi harga pengoptimalan inferensi di [ halaman SageMaker harga ](https://aws.amazon.com/sagemaker/pricing/) Amazon.  
Anda tidak dikenakan biaya tambahan untuk pekerjaan yang menerapkan decoding spekulatif.

Untuk model yang didukung yang dapat Anda optimalkan, lihat[Referensi model yang didukung](optimization-supported-models.md).

## SageMaker Studio Amazon
<a name="optimize-create-studio"></a>

Selesaikan langkah-langkah berikut untuk membuat pekerjaan pengoptimalan inferensi di Studio.

**Untuk mulai membuat pekerjaan pengoptimalan**

1. Di SageMaker AI Studio, buat pekerjaan pengoptimalan melalui salah satu jalur berikut:
   + Untuk membuat pekerjaan untuk JumpStart model, lakukan hal berikut:

     1. Di menu navigasi, pilih ** JumpStart**.

     1. Pada ** halaman ** Semua model publik, pilih penyedia model, lalu pilih salah satu model yang mendukung pengoptimalan.

     1. Pada halaman detail model, pilih ** Optimalkan**. Tombol ini diaktifkan hanya untuk model yang mendukung pengoptimalan.

     1. Pada ** halaman pekerjaan ** Buat optimasi inferensi, beberapa JumpStart model mengharuskan Anda untuk menandatangani perjanjian lisensi pengguna akhir (EULA) sebelum Anda dapat melanjutkan. Jika diminta, tinjau ketentuan ** lisensi di ** bagian Perjanjian lisensi. Jika persyaratan dapat diterima untuk kasus penggunaan Anda, pilih kotak centang untuk ** Saya menerima EULA, dan baca syarat dan ketentuannya. **
   + Untuk membuat pekerjaan untuk JumpStart model yang disetel dengan baik, lakukan hal berikut:

     1. Di menu navigasi, di bawah ** Pekerjaan**, pilih Pel ** atihan**.

     1. Pada ** halaman ** Pekerjaan Pelatihan, pilih nama pekerjaan yang Anda gunakan untuk menyempurnakan JumpStart model. Pekerjaan ini memiliki jenis ** JumpStart pelatihan ** di ** kolom Jenis ** pekerjaan.

     1. Pada halaman detail untuk pekerjaan pelatihan, pilih ** Optimalkan**.
   + Untuk membuat pekerjaan untuk model kustom, lakukan hal berikut:

     1. Di menu navigasi, di bawah ** Pekerjaan**, pilih Pengoptimalan ** ** inferensi.

     1. Pilih ** Buat pekerjaan baru**.

     1. Pada ** halaman pekerjaan ** pengoptimalan inferensi buat, pilih ** Tambahkan model**.

     1. Di ** jendela ** Add model, pilih ** Custom Model**.

     1. Pilih salah satu opsi berikut:

        **Gunakan model yang sudah ada ** - Pilih opsi ini untuk mengoptimalkan model yang telah Anda buat di SageMaker AI.

        **Nama model yang ada ** - masukkan nama model SageMaker AI Anda.

        **Dari S3 ** - Pilih opsi ini untuk menyediakan artefak model dari Amazon S3. Untuk URI ** S3**, masukkan URI untuk lokasi di Amazon S3 tempat Anda menyimpan artefak model.

     1. (Opsional) Untuk nama model ** ** keluaran ****, Anda dapat memasukkan nama kustom untuk model yang dioptimalkan yang dibuat oleh pekerjaan. Jika Anda tidak memberikan nama, Studio akan secara otomatis membuat nama berdasarkan pilihan Anda.

1. Pada ** ** halaman pekerjaan pengoptimalan inferensi buat, untuk Nama ** pekerjaan**, Anda dapat menerima nama default yang diberikan SageMaker AI. Atau, untuk memasukkan nama pekerjaan khusus, pilih ** bidang Nama ** pekerjaan, dan pilih ** Masukkan nama pekerjaan**.

**Untuk mengatur konfigurasi pengoptimalan**

1. Untuk tipe instans ** Deployment**, pilih jenis instans yang ingin Anda optimalkan modelnya.

   Jenis instance mempengaruhi teknik pengoptimalan apa yang dapat Anda pilih. Untuk sebagian besar jenis yang menggunakan perangkat keras GPU, teknik yang didukung adalah Ku ** antisasi ** dan decoding ** spekulatif. ** Jika Anda memilih instance yang menggunakan silikon khusus, seperti instance AWS Inferentia ml.inf2.8xlarge, teknik yang didukung adalah ** Kompilasi**, yang dapat Anda gunakan untuk mengkompilasi model untuk jenis perangkat keras tertentu.

1. Pilih satu atau lebih teknik pengoptimalan yang disediakan Studio:
   + Jika Anda memilih ** Kuantisasi**, pilih tipe data untuk tipe ** data ** presisi. 
   + Jika Anda memilih Decoding ** Spekulatif**, pilih salah satu opsi berikut:
     + **Gunakan model draf SageMaker AI ** — Pilih untuk menggunakan model draf yang SageMaker disediakan AI.
**catatan**  
Jika Anda memilih untuk menggunakan model draf SageMaker AI, Anda juga harus mengaktifkan isolasi jaringan. Studio menyediakan opsi ini di bawah ** Keamanan**.
     + **Pilih model JumpStart dra ** f — Pilih untuk memilih model dari JumpStart katalog untuk digunakan sebagai model draf Anda.
     + **Pilih model draf Anda sendiri ** — Pilih untuk menggunakan model draf Anda sendiri, dan berikan URI S3 yang menemukannya.
   + Jika Anda memilih ** Pemuatan model cepat**, Studio menampilkan variabel `OPTION_TENSOR_PARALLEL_DEGREE` lingkungan. Gunakan ** bidang ** Nilai untuk mengatur derajat paralelisme tensor. Nilai harus secara merata membagi jumlah GPU dalam instans yang Anda pilih untuk jenis ** instans ** Deployment. Misalnya, untuk memecah model Anda saat menggunakan instance dengan 8 GPU, gunakan nilai 2, 4, atau 8.
   + Jika Anda menyet ** el jenis instans Deployment ** ke instance AWS Inferentia atau AWS Trainium, Studio mungkin menunjukkan bahwa ** Compilation ** adalah salah satu opsi yang didukung. Dalam hal ini, Studio memilih opsi ini untuk Anda.

1. Untuk ** Output**, masukkan URI lokasi di Amazon S3. Di sana, SageMaker AI menyimpan artefak dari model yang dioptimalkan yang diciptakan oleh pekerjaan Anda.

1. (Opsional) Per ** luas opsi ** Lanjutan untuk kontrol setelan yang lebih halus seperti peran IAM, VPC, dan variabel lingkungan. Untuk informasi selengkapnya, lihat Opsi * lanjutan * di bawah ini.

1. Setelah selesai mengonfigurasi pekerjaan, pilih ** Buat pekerjaan**.

   Studio menampilkan halaman detail pekerjaan, yang menunjukkan status pekerjaan dan semua pengaturannya.

### Opsi lanjutan
<a name="set-advanced-optimization-options"></a>

Anda dapat mengatur opsi lanjutan berikut saat Anda membuat pekerjaan pengoptimalan inferensi.

Di bawah ** Konfigurasi**, Anda dapat mengatur opsi berikut:

**Derajat paralel tensor **  
Nilai untuk derajat paral * elisme * tensor. Paralelisme tensor adalah jenis paralelisme model di mana bobot model tertentu, gradien, dan status pengoptimal dibagi di seluruh perangkat. Nilai harus secara merata membagi jumlah GPU di cluster Anda.

**Panjang token maksimum**  
Batas jumlah token yang akan dihasilkan oleh model. Perhatikan bahwa model mungkin tidak selalu menghasilkan jumlah maksimum token.

**Bersamaan**  
Kemampuan untuk menjalankan beberapa contoh model pada perangkat keras dasar yang sama. Gunakan konkurensi untuk menyajikan prediksi kepada banyak pengguna dan untuk memaksimalkan pemanfaatan perangkat keras.

**Ukuran batch**  
Jika model Anda melakukan inferensi * batch*, gunakan opsi ini untuk mengontrol ukuran batch yang diproses model Anda.  
Inferensi batch menghasilkan prediksi model pada kumpulan pengamatan. Ini adalah pilihan yang baik untuk kumpulan data besar atau jika Anda tidak memerlukan tanggapan segera terhadap permintaan inferensi. 

Di bawah ** Keamanan**, Anda dapat mengatur opsi berikut:

**IAM Role**  
Peran IAM yang memungkinkan SageMaker AI melakukan tugas atas nama Anda. Selama pengoptimalan model, SageMaker AI memerlukan izin Anda untuk:  
+ Membaca data input dari bucket S3
+ Tulis artefak model ke bucket S3
+ Tulis log ke Amazon CloudWatch Logs
+ Publikasikan metrik ke Amazon CloudWatch
Anda memberikan izin untuk semua tugas ini ke peran IAM.  
Untuk informasi selengkapnya, lihat [Cara menggunakan peran eksekusi SageMaker AI](sagemaker-roles.md).

**Kunci enkripsi KMS**  
Kunci dalam AWS Key Management Service (AWS KMS). SageMaker AI menggunakan kunci mereka untuk mengenkripsi artefak model yang dioptimalkan ketika SageMaker AI mengunggah model ke Amazon S3.

**VPC**  
SageMaker AI menggunakan informasi ini untuk membuat antarmuka jaringan dan melampirkannya ke wadah model Anda. Antarmuka jaringan menyediakan wadah model Anda dengan koneksi jaringan dalam VPC Anda yang tidak terhubung ke internet. Mereka juga memungkinkan model Anda untuk terhubung ke sumber daya di VPC pribadi Anda.  
Untuk informasi selengkapnya, lihat [Berikan Akses Titik Akhir yang Dihosting SageMaker AI ke Sumber Daya di VPC Amazon Anda](host-vpc.md).

**Aktifkan isolasi jaringan**  
Aktifkan opsi ini jika Anda ingin membatasi akses internet wadah Anda. Kontainer yang berjalan dengan isolasi jaringan tidak dapat melakukan panggilan jaringan keluar.  
Anda harus mengaktifkan opsi ini ketika Anda mengoptimalkan dengan decoding spekulatif dan Anda menggunakan model dra SageMaker f AI.  
Untuk informasi selengkapnya tentang isolasi jaringan, lihat[Isolasi Jaringan](mkt-algo-model-internet-free.md#mkt-algo-model-internet-free-isolation).

Di bawah Definisi wadah ** lanjutan**, Anda dapat mengatur opsi berikut:

**Kondisi berhenti**  
Menentukan batas berapa lama pekerjaan dapat berjalan. Ketika pekerjaan mencapai batas waktu, SageMaker AI mengakhiri pekerjaan. Gunakan opsi ini untuk membatasi biaya.

**Tag**  
Key-value pasangan yang terkait dengan pekerjaan pengoptimalan.  
Untuk informasi selengkapnya tentang tag, lihat [ Menandai AWS sumber daya Anda ](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html) di *Referensi Umum AWS*.

**Variabel-variabel lingkungan**  
Key-value pasangan yang menentukan variabel lingkungan yang akan diatur dalam wadah model.

## SageMaker SDK Python AI
<a name="optimize-create-pysdk"></a>

Anda dapat membuat pekerjaan pengoptimalan inferensi dengan menggunakan SageMaker AI Python SDK dalam proyek Anda. Pertama, Anda mendefinisikan `Model` instance dengan menggunakan `ModelBuilder` kelas. Kemudian, Anda menggunakan `optimize()` metode untuk menjalankan pekerjaan yang mengoptimalkan model Anda dengan kuantisasi, decoding spekulatif, atau kompilasi. Ketika pekerjaan selesai, Anda menerapkan model ke titik akhir inferensi dengan menggunakan `deploy()` metode.

Untuk informasi selengkapnya tentang kelas dan metode yang digunakan dalam contoh berikut, lihat [ API ](https://sagemaker.readthedocs.io/en/stable/) di dokumentasi SageMaker AI Python SDK.

**Untuk mengatur proyek Anda**

1. Dalam kode aplikasi Anda, impor pustaka yang diperlukan. Contoh berikut mengimpor SDK untuk Python (Boto3). Ini juga mengimpor kelas dari SageMaker AI Python SDK yang Anda gunakan untuk mendefinisikan dan bekerja dengan model:

   ```
   import boto3
   from sagemaker.serve.model_builder import ModelBuilder
   from sagemaker.serve.builder.schema_builder import SchemaBuilder
   from sagemaker.core.helper.session_helper import Session
   from pathlib import Path
   ```

1. Inisialisasi sesi SageMaker AI. Contoh berikut menggunakan `Session()` kelas:

   ```
   sagemaker_session = Session()
   ```

**Untuk menentukan model Anda**

1. Buat `SchemaBuilder` instance, dan berikan sampel input dan output. Anda menyediakan instance ini ke `ModelBuilder` kelas saat Anda mendefinisikan model. Dengan itu, SageMaker AI secara otomatis menghasilkan fungsi menyusun untuk serialisasi dan deserialisasi input dan output.

   Untuk informasi selengkapnya tentang menggunakan `ModelBuilder` kelas `SchemaBuilder` dan, lihat[Buat model di Amazon SageMaker AI dengan ModelBuilder](how-it-works-modelbuilder-creation.md).

   Contoh berikut memberikan contoh input dan output string ke `SchemaBuilder` kelas:

   ```
   response = "Jupiter is the largest planet in the solar system. It is the fifth planet from the sun."
   sample_input = {
       "inputs": "What is the largest planet in the solar system?",
       "parameters": {"max_new_tokens": 128, "top_p": 0.9, "temperature": 0.6},
   }
   sample_output = [{"generated_text": response}]
   schema_builder = SchemaBuilder(sample_input, sample_output)
   ```

1. Tentukan model Anda ke SageMaker AI. Contoh berikut menetapkan parameter untuk menginisialisasi `ModelBuilder` instance:

   ```
   model_builder = ModelBuilder(
       model="{{jumpstart-model-id}}",
       schema_builder=schema_builder,
       sagemaker_session=sagemaker_session,
       role_arn=sagemaker_session.get_caller_identity_arn(),
   )
   ```

   Contoh ini menggunakan JumpStart model. Ganti `{{jumpstart-model-id}}` dengan ID JumpStart model, seperti`meta-textgeneration-llama-3-70b`.
**catatan**  
Jika Anda ingin mengoptimalkan dengan decoding spekulatif, dan Anda ingin menggunakan draf SageMaker AI, Anda harus mengaktifkan isolasi jaringan. Untuk mengaktifkannya, sertakan argumen berikut saat Anda menginisialisasi `ModelBuilder` instance:  

   ```
   enable_network_isolation=True,
   ```
Untuk informasi selengkapnya tentang isolasi jaringan, lihat[Isolasi Jaringan](mkt-algo-model-internet-free.md#mkt-algo-model-internet-free-isolation).

**Untuk mengoptimalkan dengan kuantisasi**

1. Untuk menjalankan pekerjaan kuantisasi, gunakan `optimize()` metode, dan atur `quantization_config` argumen. Contoh berikut ditetapkan `OPTION_QUANTIZE` sebagai variabel lingkungan dalam wadah pengoptimalan:

   ```
   optimized_model = model_builder.optimize(
       instance_type="{{instance-type}}",
       accept_eula=True,
       quantization_config={
           "OverrideEnvironment": {
               "OPTION_QUANTIZE": "awq",
           },
       },
       output_path="{{s3://output-path}}",
   )
   ```

   Dalam contoh ini, ganti {{`instance-type`}} dengan instance ML, seperti`ml.p4d.24xlarge`. Ganti {{`s3://output-path`}} dengan jalur ke lokasi S3 tempat Anda menyimpan model yang dioptimalkan yang dibuat oleh pekerjaan.

   `optimize()`Metode mengembalikan `Model` objek, yang dapat Anda gunakan untuk menerapkan model Anda ke titik akhir.

1. Saat pekerjaan selesai, gunakan model. Contoh berikut menggunakan `deploy()` metode:

   ```
   endpoint = model_builder.deploy(
       instance_type="{{instance-type}}", 
       accept_eula=True,
   )
   ```

   Dalam contoh ini, ganti {{`instance-type`}} dengan instance ML, seperti`ml.p4d.24xlarge`. 

   `deploy()`Metode mengembalikan `Endpoint` objek, yang dapat Anda gunakan untuk mengirim permintaan inferensi ke titik akhir yang menghosting model.

**Untuk mengoptimalkan dengan decoding spekulatif menggunakan model dra SageMaker f AI**

Saat Anda mengoptimalkan model Anda dengan decoding spekulatif, Anda dapat memilih untuk menggunakan model draf yang disediakan SageMaker AI, atau Anda dapat menggunakan model Anda sendiri. Contoh berikut menggunakan model draf SageMaker AI.
**Prasyarat**  
Untuk mengoptimalkan dengan decoding spekulatif dan model draf SageMaker AI, Anda harus mengaktifkan isolasi jaringan saat menentukan model Anda.

1. Untuk menjalankan tugas decoding spekulatif, gunakan `optimize()` metode, dan atur `speculative_decoding_config` argumen. Contoh berikut menetapkan `ModelProvider` kunci `SAGEMAKER` untuk menggunakan model draf yang SageMaker disediakan AI.

   ```
   optimized_model = model_builder.optimize(
       instance_type="{{instance-type}}",
       accept_eula=True,
       speculative_decoding_config={
           "ModelProvider": "SAGEMAKER",
       },
   )
   ```

   Dalam contoh ini, ganti {{`instance-type`}} dengan instance ML, seperti`ml.p4d.24xlarge`.

   `optimize()`Metode mengembalikan `Model` objek, yang dapat Anda gunakan untuk menerapkan model Anda ke titik akhir.

1. Saat pekerjaan selesai, gunakan model. Contoh berikut menggunakan `deploy()` metode:

   ```
   endpoint = model_builder.deploy(accept_eula=True)
   ```

   `deploy()`Metode mengembalikan `Endpoint` objek, yang dapat Anda gunakan untuk mengirim permintaan inferensi ke titik akhir yang menghosting model.

**Untuk mengoptimalkan dengan decoding spekulatif menggunakan model draf khusus**

Sebelum Anda dapat memberikan draf model kustom Anda ke SageMaker AI, Anda harus terlebih dahulu mengunggah artefak model ke Amazon S3.

Contoh berikut menunjukkan satu cara yang mungkin untuk menyediakan model draf kustom. Contoh mengunduh model draf dari Hugging Face Hub, mengunggahnya ke Amazon S3, dan memberikan URI S3 ke `speculative_decoding_config` argumen.

1. Jika Anda ingin mengunduh model dari Hugging Face Hub, tambahkan pust `huggingface_hub` aka ke proyek Anda, dan unduh model dengan `snapshot_download()` metode tersebut. Contoh berikut mengunduh model ke direktori lokal:

   ```
   import huggingface_hub
   
   huggingface_hub.snapshot_download(
       repo_id="{{model-id}}",
       revision="main",
       local_dir={{download-dir}},
       token={{hf-access-token}},
   )
   ```

   Dalam contoh ini, ganti {{`model-id`}} dengan ID model Hugging Face Hub, seperti`meta-llama/Meta-Llama-3-8B`. Ganti {{`download-dir`}} dengan direktori lokal. Ganti {{`hf-access-token`}} dengan token akses pengguna Anda. Untuk mempelajari cara mendapatkan token akses Anda, lihat Token akses [ pengguna ](https://huggingface.co/docs/hub/en/security-tokens) di dokumentasi Hugging Face.

   Untuk informasi selengkapnya tentang `huggingface_hub` pustaka, lihat [ pustaka klien Hub ](https://huggingface.co/docs/huggingface_hub/en/index) di dokumentasi Hugging Face.

1. Untuk membuat model yang Anda unduh tersedia untuk SageMaker AI, unggah ke Amazon S3. Contoh berikut mengunggah model dengan `sagemaker_session` objek:

   ```
   custom_draft_model_uri = sagemaker_session.upload_data(
       path=hf_local_download_dir.as_posix(),
       bucket=sagemaker_session.default_bucket(),
       key_prefix="{{prefix}}",
   )
   ```

   Dalam contoh ini, ganti {{`prefix`}} dengan kualifikasi yang membantu Anda membedakan model draf di S3, seperti`spec-dec-custom-draft-model`.

   `upload_data()`Metode mengembalikan URI S3 untuk artefak model.

1. Untuk menjalankan tugas decoding spekulatif, gunakan `optimize()` metode, dan atur `speculative_decoding_config` argumen. Contoh berikut menetapkan `ModelSource` kunci ke URI S3 dari model draf kustom:

   ```
   optimized_model = model_builder.optimize(
       instance_type="{{instance-type}}",
       accept_eula=True,
       speculative_decoding_config={
           "ModelSource": custom_draft_model_uri + "/",
       },
   )
   ```

   Dalam contoh ini, ganti {{`instance-type`}} dengan instance ML, seperti`ml.p4d.24xlarge`.

   `optimize()`Metode mengembalikan `Model` objek, yang dapat Anda gunakan untuk menerapkan model Anda ke titik akhir.

1. Saat pekerjaan selesai, gunakan model. Contoh berikut menggunakan `deploy()` metode:

   ```
   endpoint = model_builder.deploy(accept_eula=True)
   ```

   `deploy()`Metode mengembalikan `Endpoint` objek, yang dapat Anda gunakan untuk mengirim permintaan inferensi ke titik akhir yang menghosting model.

**Untuk mengoptimalkan dengan kompilasi**

1. Untuk menjalankan pekerjaan kompilasi, gunakan `optimize()` metode, dan atur `compilation_config` argumen. Contoh berikut menggunakan `OverrideEnvironment` kunci untuk mengatur variabel lingkungan yang diperlukan dalam wadah pengoptimalan:

   ```
   optimized_model = model_builder.optimize(
       instance_type="{{instance-type}}",
       accept_eula=True,
       compilation_config={
           "OverrideEnvironment": {
               "OPTION_TENSOR_PARALLEL_DEGREE": "24",
               "OPTION_N_POSITIONS": "8192",
               "OPTION_DTYPE": "fp16",
               "OPTION_ROLLING_BATCH": "auto",
               "OPTION_MAX_ROLLING_BATCH_SIZE": "4",
               "OPTION_NEURON_OPTIMIZE_LEVEL": "2",
           }
       },
       output_path="{{s3://output-path}}",
   )
   ```

   Dalam contoh ini, atur {{`instance-type`}} ke tipe instance ML dengan perangkat keras yang dipercepat. Misalnya, untuk inferensi dipercepat dengan AWS Inferentia, Anda dapat mengatur tipe ke instance Inf2, seperti. `ml.inf2.48xlarge` Ganti {{`s3://output-path`}} dengan jalur ke lokasi S3 tempat Anda menyimpan model yang dioptimalkan yang dibuat oleh pekerjaan.

1. Saat pekerjaan selesai, gunakan model. Contoh berikut menggunakan `deploy()` metode:

   ```
   endpoint = model_builder.deploy(accept_eula=True)
   ```

   `deploy()`Metode mengembalikan `Endpoint` objek, yang dapat Anda gunakan untuk mengirim permintaan inferensi ke titik akhir yang menghosting model.

**Untuk menguji model Anda dengan permintaan inferensi**
+ Untuk mengirim permintaan inferensi pengujian ke model yang Anda gunakan, `invoke()` gunakan metode `Endpoint` objek. Contoh berikut meneruskan `sample_input` variabel yang juga diteruskan ke `SchemaBuilder` kelas dalam contoh untuk menentukan model Anda:

  ```
  import json
  
  response = endpoint.invoke(body=json.dumps(sample_input), content_type="application/json")
  result = json.loads(response.body.read().decode('utf-8'))
  ```

  Input sampel memiliki prompt,`"What is the largest planet in the solar system?"`. `invoke()`Metode mengembalikan respons yang dihasilkan model, seperti yang ditunjukkan oleh contoh berikut:

  ```
  {'generated_text': ' Jupiter is the largest planet in the solar system. It is the fifth planet from the sun. It is a gas giant with . . .'}
  ```

## AWS SDK untuk Python (Boto3)
<a name="optimize-create-pysdk-boto"></a>

Anda dapat menggunakan AWS SDK untuk Python (Boto3) untuk membuat dan mengelola pekerjaan pengoptimalan inferensi secara terprogram. Bagian ini memberikan contoh untuk teknik pengoptimalan yang berbeda.

**Prasyarat**

Sebelum membuat pekerjaan pengoptimalan dengan Boto3, pastikan Anda memiliki:
+ Kre AWS denSIAL yang dikonfigurasi - Siapkan AWS kredenSIAL Anda dengan izin yang sesuai
+ Membuat model SageMaker AI (jika menggunakan model yang ada)
+ Data pelatihan yang disiapkan di S3 (untuk pengoptimalan decoding spekulatif, panjang konteks yang didukung hingga 4096)
+ Peran IAM dengan izin yang diperlukan - Peran eksekusi Anda harus memiliki izin untuk mengakses S3 dan membuat sumber daya SageMaker 

**Contoh: Buat Pekerjaan Optimasi dengan EAGLE Speculative Decoding (Llama 3.3 70B) **

Contoh ini menunjukkan pembuatan pekerjaan pengoptimalan untuk model bahasa besar menggunakan teknik decoding spekulatif EAGLE:

```
import boto3

# Initialize SageMaker client
sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

# Step 1: Create a SageMaker model (if not already created)
model_response = sagemaker_client.create_model(
    ModelName='meta-llama-3-3-70b-instruct',
    ExecutionRoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole',
    PrimaryContainer={
        'Image': '763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:<tag>',
        'ModelDataSource': {
            'S3DataSource': {
                'S3Uri': 's3://my-bucket/models/Llama-3.3-70B-Instruct/',
                'S3DataType': 'S3Prefix',
                'CompressionType': 'None'
            }
        },
        'Environment': {
            'SAGEMAKER_ENV': '1',
            'SAGEMAKER_MODEL_SERVER_TIMEOUT': '3600'
        }
    }
)

# Step 2: Create optimization job with speculative decoding
optimization_response = sagemaker_client.create_optimization_job(
    OptimizationJobName='llama-optim-job-eagle-speculative-decoding',
    RoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole',
    ModelSource={
        'SageMakerModel': {
            'ModelName': 'meta-llama-3-3-70b-instruct'
        }
    },
    DeploymentInstanceType='ml.p4d.24xlarge',
    # MaxInstanceCount specifies the maximum number of instances for distributed training
    MaxInstanceCount=4,
    OptimizationConfigs=[
        {
            'ModelSpeculativeDecodingConfig': {
                'Technique': 'EAGLE',
                'TrainingDataSource': {
                    'S3Uri': 's3://my-bucket/training_data/ultrachat_8k/',
                    'S3DataType': 'S3Prefix'
                }
            }
        }
    ],
    OutputConfig={
        'S3OutputLocation': 's3://my-bucket/optimized-models/llama-optim-output/',
    },
    StoppingCondition={
        'MaxRuntimeInSeconds': 432000  # 5 days
    }
)

print(f"Optimization job ARN: {optimization_response['OptimizationJobArn']}")
```

**Contoh: Membuat Pekerjaan Optimasi dari S3 Model Artifacts (Qwen3 32B) **

Contoh ini menunjukkan cara membuat pekerjaan pengoptimalan menggunakan artefak model langsung dari S3:

```
import boto3

sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

# Create model from S3 artifacts
model_response = sagemaker_client.create_model(
    ModelName='qwen3-32b',
    ExecutionRoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole',
    PrimaryContainer={
        'Image': '763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:<tag>',
        'Mode': 'SingleModel',
        'ModelDataSource': {
            'S3DataSource': {
                'S3Uri': 's3://my-bucket/models/qwen3-32b/',
                'S3DataType': 'S3Prefix',
                'CompressionType': 'None'
            }
        },
        'Environment': {
            'AWS_REGION': 'us-west-2'
        }
    }
)

# Create optimization job with smaller training dataset
optimization_response = sagemaker_client.create_optimization_job(
    OptimizationJobName='qwen3-optim-job-eagle',
    RoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole',
    ModelSource={
        'SageMakerModel': {
            'ModelName': 'qwen3-32b'
        }
    },
    DeploymentInstanceType='ml.g6.48xlarge',
    MaxInstanceCount=4,
    OptimizationConfigs=[
        {
            'ModelSpeculativeDecodingConfig': {
                'Technique': 'EAGLE',
                'TrainingDataSource': {
                    'S3Uri': 's3://my-bucket/training_data/ultrachat_1k/',
                    'S3DataType': 'S3Prefix'
                }
            }
        }
    ],
    OutputConfig={
        'S3OutputLocation': 's3://my-bucket/optimized-models/qwen3-optim-output/',
    },
    StoppingCondition={
        'MaxRuntimeInSeconds': 432000  # 5 days
    }
)

print(f"Optimization job ARN: {optimization_response['OptimizationJobArn']}")
```

**Contoh: Memantau dan Mengelola Pekerjaan Pengoptimalan **

Setelah membuat pekerjaan pengoptimalan, Anda dapat memantau kemajuannya dan mengelolanya menggunakan perintah ini:

```
import boto3

sagemaker_client = boto3.client('sagemaker', region_name='us-west-2')

# Describe optimization job to check status
describe_response = sagemaker_client.describe_optimization_job(
    OptimizationJobName='llama-optim-job-eagle-speculative-decoding'
)

print(f"Job Status: {describe_response['OptimizationJobStatus']}")

# List all optimization jobs (with pagination)
list_response = sagemaker_client.list_optimization_jobs(
    MaxResults=10,
    SortBy='CreationTime',
    SortOrder='Descending'
)

print("\nRecent optimization jobs:")
for job in list_response['OptimizationJobSummaries']:
    print(f"- {job['OptimizationJobName']}: {job['OptimizationJobStatus']}")

# Stop a running optimization job if needed
# sagemaker_client.stop_optimization_job(
#     OptimizationJobName='llama-optim-job-eagle-speculative-decoding'
# )

# Delete a completed or failed optimization job
# sagemaker_client.delete_optimization_job(
#     OptimizationJobName='llama-optim-job-eagle-speculative-decoding'
# )
```

Penguraian kode spekulatif dengan Eagle Heads menjalankan empat pekerjaan pelatihan berurutan. Setiap pekerjaan menghasilkan output yang menjadi input ke pekerjaan berikutnya. Hanya output dari pekerjaan akhir yang dikirimkan ke bucket S3 Anda. Output perantara dienkripsi dan disimpan dalam bucket layanan SageMaker AI internal hingga 20 hari. SageMaker AI tidak memiliki izin untuk men-crypt mereka. Jika Anda ingin data perantara dihapus sebelum periode waktu tersebut, pastikan pekerjaan Anda telah selesai atau telah dihentikan, lalu buka kasus dukungan [[https://docs.aws.amazon.com/awssupport/latest/user/case-management.html\#creating -a-support-case](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-case)] agar data ini dihapus. Sertakan dalam permintaan ID AWS akun Anda dan pekerjaan optimasi ARN.

## Keterbatasan model draf SageMaker AI
<a name="sm-draft-model-limitations"></a>

Untuk model apa pun yang Anda optimalkan dengan model draf SageMaker AI, perhatikan persyaratan, batasan, dan variabel lingkungan yang didukung.

**Persyaratan**

Anda harus melakukan tindakan berikut:
+ Gunakan model yang disediakan oleh SageMaker JumpStart.
+ Aktifkan isolasi jaringan untuk penerapan model.
+ Jika Anda menerapkan model ke wadah Large Model Inference (LMI), gunakan wadah DJLServing pada versi 0.28.0 atau lebih tinggi.

  Untuk wadah yang tersedia, lihat Kontainer Inferensi Model [ Besar ](https://github.com/aws/deep-learning-containers/blob/master/available_images.md#large-model-inference-containers) di GitHub repositori Deep Learning Containers.
+ Jika Anda menyempurnakan JumpStart model, gunakan format sensor pengaman untuk bobot model.

  Untuk informasi selengkapnya tentang format ini, lihat [ Safetensor ](https://huggingface.co/docs/safetensors/en/index) di dokumentasi Hugging Face.

**Pembatasan**

Anda tidak dapat melakukan hal berikut:
+ Gunakan model di lingkungan pengujian lokal yang Anda buat dengan mode lokal. 

  Untuk informasi selengkapnya tentang mode lokal, lihat Mode [ Lokal ](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html) di dokumentasi SageMaker AI Python SDK.
+ Akses wadah model melalui AWS Systems Manager Agen (Agen SSM). Agen SSM menyediakan akses tingkat shell ke wadah model Anda sehingga Anda dapat men-debug proses dan mencatat perintah dengan Amazon. CloudWatch 

  Untuk informasi selengkapnya tentang fitur ini, lihat [Akses kontainer melalui SSM](ssm-access.md).
+ Konfigurasikan wadah model untuk dump inti yang terjadi jika proses macet. 

  Untuk informasi selengkapnya tentang pembuangan inti dari wadah model, lihat [ ProductionVariantCoreDumpConfig](sagemaker/latest/APIReference/API_ProductionVariantCoreDumpConfig.html).
+ Terapkan model ke titik akhir multi-model, titik akhir multi-kontainer, atau titik akhir yang meng-host komponen inferensi. 

  Untuk informasi selengkapnya tentang jenis titik akhir ini, lihat[Multi-model titik akhir](multi-model-endpoints.md),[Multi-container titik akhir](multi-container-endpoints.md), dan[Komponen inferensi](realtime-endpoints-deploy-models.md#inference-components).
+ Buat paket model untuk model. Anda menggunakan paket model untuk membuat model yang dapat diterapkan yang Anda publikasikan. AWS Marketplace

  Untuk informasi selengkapnya tentang fitur ini, lihat [Membuat Model Package Resource](sagemaker-mkt-create-model-package.md).
+ Gunakan kode inferensi Anda sendiri dalam wadah model.
+ Gunakan `requirements.txt` file dalam wadah model. Jenis file ini mencantumkan dependensi paket.
+ Aktifkan parameter `trust_remote_code` Hugging Face.

**Variabel lingkungan yang didukung**

Anda dapat mengonfigurasi wadah hanya dengan variabel lingkungan berikut:
+ Variabel lingkungan umum untuk wadah inferensi model besar (LMI). 

  Untuk informasi selengkapnya tentang variabel-variabel ini, lihat [ Konfigurasi Variabel ](https://docs.djl.ai/master/docs/serving/serving/docs/lmi/deployment_guide/configurations.html#environment-variable-configurations) Lingkungan dalam dokumentasi wadah LMI.
+ Variabel lingkungan umum untuk paket yang disediakan Hugging Face Hub di repositori Git-nya. 

  Untuk repositori, lihat [ Hugging Face ](https://github.com/huggingface) on. GitHub
+ Variabel lingkungan umum PyTorch & CUDA. 

  Untuk informasi selengkapnya tentang variabel-variabel ini, lihat Variabel Lingkungan [ Torch ](https://pytorch.org/docs/stable/torch_environment_variables.html) dalam PyTorch dokumentasi.