

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

# Fine-tune model hub yang dikuratori
<a name="jumpstart-curated-hubs-fine-tune"></a>

Di hub model pribadi yang dikurasi, Anda dapat menjalankan pekerjaan pelatihan penyempurnaan menggunakan referensi model Anda. Referensi model menunjuk ke JumpStart model yang tersedia untuk umum di hub publik SageMaker AI, tetapi Anda dapat menyempurnakan model pada data Anda sendiri untuk kasus penggunaan spesifik Anda. Setelah pekerjaan penyempurnaan, Anda memiliki akses ke bobot model yang kemudian dapat Anda gunakan atau terapkan ke titik akhir.

Anda dapat menyempurnakan model hub yang dikuratori hanya dalam beberapa baris kode menggunakan SageMaker Python SDK. Untuk informasi lebih umum tentang menyempurnakan JumpStart model yang tersedia untuk umum, lihat[Model pondasi dan hyperparameter untuk penyempurnaan](jumpstart-foundation-models-fine-tuning.md).

## Prasyarat
<a name="jumpstart-curated-hubs-fine-tune-prereqs"></a>

Untuk menyempurnakan referensi JumpStart model di hub yang Anda kurasi, lakukan hal berikut:

1. Pastikan peran IAM pengguna Anda memiliki `TrainHubModel` izin SageMaker AI yang terlampir. Untuk informasi selengkapnya, lihat [ Menambahkan dan menghapus izin identitas IAM ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) di Panduan *AWS Pengguna IAM. *

   Anda harus melampirkan kebijakan seperti contoh berikut ke peran IAM pengguna Anda:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "sagemaker:TrainHubModel",
               "Resource": "arn:aws:sagemaker:*:{{111122223333}}:hub/*"
           }
       ]
   }
   ```

------
**catatan**  
Jika hub yang dikurasi dibagikan di seluruh akun dan konten hub dimiliki oleh akun lain, pastikan bahwa `HubContent` (sumber referensi model) Anda memiliki kebijakan IAM berbasis sumber daya yang juga memberikan `TrainHubModel` izin kepada akun yang meminta, seperti yang ditunjukkan pada contoh berikut.  

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCrossAccountSageMakerAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::{{111122223333}}:root"
               },
               "Action": [
                   "sagemaker:TrainHubModel"
               ],
               "Resource": [
                   "{{arn:aws:sagemaker:*:111122223333:hub/*}}"
               ]
           }
       ]
   }
   ```

1. Memiliki hub pribadi yang dikuratori dengan referensi model ke JumpStart model yang ingin Anda sesuaikan. Untuk informasi selengkapnya tentang membuat hub pribadi, lihat[Buat hub model pribadi](jumpstart-curated-hubs-admin-guide-create.md). Untuk mempelajari cara menambahkan JumpStart model yang tersedia untuk umum ke hub pribadi Anda, lihat[Tambahkan model ke hub pribadi](jumpstart-curated-hubs-admin-guide-add-models.md).
**catatan**  
 JumpStart Model yang Anda pilih harus disesuaikan dengan baik. Anda dapat membuat daftar model yang tersedia secara terprogram menggunakan `hub.list_sagemaker_public_hub_models()` metode di SageMaker Python SDK.

1. Miliki dataset pelatihan yang ingin Anda gunakan untuk menyempurnakan model. Dataset harus dalam format pelatihan yang sesuai untuk model yang ingin Anda sesuaikan.

## Fine-tune referensi model hub yang dikuratori
<a name="jumpstart-curated-hubs-fine-tune-pysdk"></a>

Prosedur berikut menunjukkan cara menyempurnakan referensi model di hub pribadi Anda yang dikurasi menggunakan SageMaker Python SDK.

1. Pastikan bahwa Anda telah menginstal versi terbaru (setidaknya`3.0.0`) SageMaker Python SDK. Untuk informasi selengkapnya, lihat [ Menggunakan Versi 3.x dari SageMaker Python SDK ](https://sagemaker.readthedocs.io/en/stable/) di situs web Baca Dokumen.

   ```
   !pip install --upgrade sagemaker
   ```

1. Impor AWS SDK untuk Python (Boto3) dan modul yang Anda butuhkan dari SageMaker Python SDK.

   ```
   import boto3
   from sagemaker.train import ModelTrainer
   from sagemaker.train.configs import Compute, InputData
   from sagemaker.core.jumpstart.configs import JumpStartConfig
   from sagemaker.core.helper.session_helper import Session
   ```

1. Inisialisasi sesi Boto3, klien SageMaker AI, dan sesi SageMaker Python SDK.

   ```
   sagemaker_client = boto3.Session(region_name={{<AWS-region>}}).client("sagemaker")
   sm_session = Session(sagemaker_client=sagemaker_client)
   ```

1. Buat `ModelTrainer` menggunakan `from_jumpstart_config` dan berikan ID JumpStart model, nama hub Anda yang berisi referensi model, dan sesi SageMaker Python SDK Anda. Untuk mencantumkan ID model yang tersedia secara terprogram, gunakan `hub.list_sagemaker_public_hub_models()` metode di SageMaker Python SDK.

   Secara opsional, Anda dapat menentukan `instance_count` bidang `instance_type` dan saat membuat ModelTrainer. Jika tidak, pekerjaan pelatihan menggunakan jenis instans default dan hitungan untuk model yang Anda gunakan.

   Anda juga dapat secara opsional menentukan `output_path` lokasi Amazon S3 tempat Anda ingin menyimpan bobot model yang disetel dengan baik. Jika Anda tidak menentukan`output_path`, maka gunakan bucket SageMaker AI Amazon S3 default untuk wilayah di akun Anda, dinamai dengan format berikut:`sagemaker-{{<region>}}-{{<account-id>}}`.

   ```
   jumpstart_config = JumpStartConfig(
       model_id="meta-textgeneration-llama-3-2-1b",
       hub_name={{<your-hub-name>}},
       # For gated models, set accept_eula=True to accept the end-user license agreement.
       # This example uses False. Change it to True to accept the EULA for gated models.
       accept_eula=False,
   )
   model_trainer = ModelTrainer.from_jumpstart_config(
       jumpstart_config=jumpstart_config,
       # Optional: specify your desired instance type and count for the training job.
       # compute=Compute(instance_type="ml.g5.2xlarge", instance_count=1),
       # Optional: specify a custom S3 location to store the fine-tuned model artifacts.
       # output_path="s3://{{<output-path-for-model-artifacts>}}",
   )
   ```

1. Buat `InputData` objek. Atur `channel_name` ke `train` dan `data_source` ke lokasi kumpulan data penyempurnaan Anda. Dalam contoh berikut, ganti `{{<your-fine-tuning-dataset>}}` dengan URI Amazon S3 dari dataset Anda. Jika Anda memiliki pertimbangan tambahan, seperti menggunakan mode lokal atau beberapa saluran data pelatihan, lihat [ SageMaker Melatih ](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html) dalam dokumentasi SageMaker Python SDK di situs web Baca Dokumen.

   ```
   training_input = InputData(
       channel_name="train",
       data_source="s3://{{<your-fine-tuning-dataset>}}",
   )
   ```

1. Panggil `train()` metode pelatih model dan berikan data pelatihan Anda. Nyatakan penerimaan EULA pada `JumpStartConfig` (ditunjukkan pada langkah sebelumnya), bukan dalam `train()` panggilan.
**catatan**  
`JumpStartConfig`Contoh sebelumnya ditetapkan`accept_eula=False`. Untuk model terjaga keamanannya, Anda harus mengubah nil `True` ainya untuk menerima EULA.

   ```
   model_trainer.train(input_data_config=[training_input])
   ```

Pekerjaan penyempurnaan Anda sekarang harus dimulai.

Anda dapat memeriksa pekerjaan penyempurnaan Anda dengan melihat pekerjaan pelatihan Anda, baik di konsol SageMaker AI atau dengan menggunakan [ ListTrainingJobs ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html) API.

Anda dapat mengakses artefak model yang disetel dengan baik di Amazon S3 `output_path` yang ditentukan dalam `ModelTrainer` objek (baik bucket SageMaker AI Amazon S3 default untuk wilayah tersebut, atau jalur Amazon S3 kustom yang Anda tentukan, jika berlaku).