

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

# Bagaimana Amazon SageMaker AI Memberikan Informasi Pelatihan
<a name="your-algorithms-training-algo-running-container"></a>

Bagian ini menjelaskan bagaimana SageMaker AI membuat informasi pelatihan, seperti data pelatihan, hiperparameter, dan informasi konfigurasi lainnya, tersedia untuk wadah Docker Anda. 

Saat Anda mengirim [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan ke SageMaker AI untuk memulai pelatihan model, Anda menentukan jalur Amazon Elastic Container Registry (Amazon ECR) Registry ECR) dari image Docker yang berisi algoritme pelatihan. Anda juga menentukan lokasi Amazon Simple Storage Service (Amazon S3) tempat data pelatihan disimpan dan parameter khusus algoritme. SageMaker AI membuat informasi ini tersedia untuk wadah Docker sehingga algoritme pelatihan Anda dapat menggunakannya. Bagian ini menjelaskan bagaimana kami membuat informasi ini tersedia untuk wadah Docker Anda. Untuk informasi tentang membuat pekerjaan pelatihan, lihat`CreateTrainingJob`. Untuk informasi lebih lanjut tentang cara wadah SageMaker AI mengatur informasi, lihat[SageMaker Toolkit Pelatihan dan Inferensi](amazon-sagemaker-toolkits.md).

**Topics**
+ [Hyperparameter](#your-algorithms-training-algo-running-container-hyperparameters)
+ [Variabel lingkungan](#your-algorithms-training-algo-running-container-environment-variables)
+ [Konfigurasi Data Masukan](#your-algorithms-training-algo-running-container-inputdataconfig)
+ [Data Pelatihan](#your-algorithms-training-algo-running-container-trainingdata)
+ [Konfigurasi Pelatihan Terdistribusi](#your-algorithms-training-algo-running-container-dist-training)

## Hyperparameter
<a name="your-algorithms-training-algo-running-container-hyperparameters"></a>

 SageMaker AI membuat hyperparameters dalam `CreateTrainingJob` permintaan tersedia di wadah Docker dalam file. `/opt/ml/input/config/hyperparameters.json`

Berikut ini adalah contoh konfigurasi hyperparameter `hyperparameters.json` untuk menentukan `num_round` dan `eta` hyperparameters dalam `CreateTrainingJob` operasi untuk. [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html) 

```
{
    "num_round": "128",
    "eta": "0.001"
}
```

Untuk daftar lengkap hiperparameter yang dapat digunakan untuk XGBoost algoritme bawaan SageMaker AI, lihat [XGBoostHyperparameters](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost_hyperparameters.html).

Hiperparameter yang dapat Anda atur bergantung pada algoritme yang Anda latih. Untuk daftar hiperparameter yang tersedia untuk algoritme bawaan SageMaker AI, temukan yang tercantum di **Hyperparameters** di bawah tautan algoritme di Gunakan Algoritma [Bawaan Amazon SageMaker AI atau Model Pra-terlatih](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html).

## Variabel lingkungan
<a name="your-algorithms-training-algo-running-container-environment-variables"></a>

SageMaker AI menetapkan variabel lingkungan berikut dalam wadah Anda:
+ TRAINING\$1JOB\$1NAME - Ditentukan dalam parameter permintaan. `TrainingJobName` `CreateTrainingJob`
+ TRAINING\$1JOB\$1ARN — Nama Sumber Daya Amazon (ARN) dari pekerjaan pelatihan dikembalikan sebagai tanggapan. `TrainingJobArn` `CreateTrainingJob`
+ Semua variabel lingkungan ditentukan dalam parameter [Lingkungan](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html#sagemaker-CreateTrainingJob-request-Environment) dalam `CreateTrainingJob` permintaan.

## Konfigurasi Data Masukan
<a name="your-algorithms-training-algo-running-container-inputdataconfig"></a>

SageMaker AI membuat informasi saluran data dalam `InputDataConfig` parameter dari `CreateTrainingJob` permintaan Anda tersedia di `/opt/ml/input/config/inputdataconfig.json` file di wadah Docker Anda.

Misalnya, Anda menentukan tiga saluran data (`train`,`evaluation`, dan`validation`) dalam permintaan Anda. SageMaker AI menyediakan JSON berikut:

```
{
  "train" : {"ContentType":  "trainingContentType",
             "TrainingInputMode": "File",
             "S3DistributionType": "FullyReplicated",
             "RecordWrapperType": "None"},
  "evaluation" : {"ContentType":  "evalContentType",
                  "TrainingInputMode": "File",
                  "S3DistributionType": "FullyReplicated",
                  "RecordWrapperType": "None"},
  "validation" : {"TrainingInputMode": "File",
                  "S3DistributionType": "FullyReplicated",
                  "RecordWrapperType": "None"}
}
```

**catatan**  
SageMaker AI hanya menyediakan informasi yang relevan tentang setiap saluran data (misalnya, nama saluran dan jenis konten) ke wadah, seperti yang ditunjukkan pada contoh sebelumnya. `S3DistributionType`akan diatur `FullyReplicated` seolah-olah Anda menentukan EFS atau FSx Lustre sebagai sumber data input.

## Data Pelatihan
<a name="your-algorithms-training-algo-running-container-trainingdata"></a>

`TrainingInputMode`Parameter dalam `AlgorithmSpecification` [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan menentukan bagaimana kumpulan data pelatihan tersedia untuk penampung Anda. Mode input berikut tersedia.
+ **`File`modus**

  Jika Anda menggunakan `File` mode sebagai `TrainingInputMode` nilai Anda, SageMaker AI menetapkan parameter berikut dalam wadah Anda.
  + `TrainingInputMode`Parameter Anda ditulis `inputdataconfig.json` sebagai “File”.
  + Direktori saluran data Anda ditulis ke`/opt/ml/input/data/channel_name`.

  Jika Anda menggunakan `File` mode, SageMaker AI membuat direktori untuk setiap saluran. Misalnya, jika Anda memiliki tiga saluran bernama`training`,`validation`, dan`testing`, SageMaker AI membuat tiga direktori berikut di wadah Docker Anda: 
  + `/opt/ml/input/data/training`
  + `/opt/ml/input/data/validation`
  + `/opt/ml/input/data/testing`

  `File`modus juga mendukung sumber data berikut.
  + Amazon Simple Storage Service (Amazon S3)
  + Amazon Elastic File System (Amazon EFS)
  + Amazon FSx untuk Lustre
**catatan**  
Saluran yang menggunakan sumber data sistem file seperti Amazon EFS dan Amazon FSx harus menggunakan `File` mode. Dalam hal ini, jalur direktori yang disediakan di saluran dipasang di`/opt/ml/input/data/channel_name`.
+ **`FastFile`modus**

  Jika Anda menggunakan `FastFile` mode sebagai milik Anda`TrainingInputNodeParameter`, SageMaker AI menetapkan parameter berikut di wadah Anda.
  + Mirip dengan `File` `FastFile` mode, dalam mode, `TrainingInputMode` parameter Anda ditulis `inputdataconfig.json` sebagai “File”.
  + Direktori saluran data Anda ditulis ke`/opt/ml/input/data/channel_name`.

  `FastFile`modus mendukung sumber data berikut.
  + Amazon S3

  Jika Anda menggunakan `FastFile` mode, direktori saluran dipasang dengan izin hanya-baca.

  Secara historis, `File` mode mendahului `FastFile` mode. Untuk memastikan kompatibilitas mundur, algoritme yang mendukung `File` mode juga dapat bekerja dengan mulus dengan `FastFile` mode selama `TrainingInputMode` parameter diatur ke dalam. `File` `inputdataconfig.json.`
**catatan**  
Saluran yang menggunakan `FastFile` mode harus menggunakan “S3Prefix”. `S3DataType`  
`FastFile`mode menyajikan tampilan folder yang menggunakan garis miring maju (`/`) sebagai pembatas untuk mengelompokkan objek Amazon S3 ke dalam folder. `S3Uri`awalan tidak harus sesuai dengan nama folder sebagian. Misalnya, jika kumpulan data Amazon S3 berisi`s3://amzn-s3-demo-bucket/train-01/data.csv`, maka `s3://amzn-s3-demo-bucket/train` tidak ada yang `s3://amzn-s3-demo-bucket/train-01` diizinkan sebagai awalan. `S3Uri`  
Garis miring ke depan disarankan untuk menentukan saluran yang sesuai dengan folder. Misalnya, `s3://amzn-s3-demo-bucket/train-01/` saluran untuk `train-01` folder. Tanpa garis miring ke depan, saluran akan menjadi ambigu jika ada folder atau file `s3://amzn-s3-demo-bucket/train-011/` lain. `s3://amzn-s3-demo-bucket/train-01.txt/`
+ **`Pipe`modus**
  + `TrainingInputMode`parameter ditulis ke`inputdataconfig.json`: “Pipa”
  + Direktori saluran data dalam wadah Docker: `/opt/ml/input/data/channel_name_epoch_number`
  + Sumber data yang didukung: Amazon S3

  Anda perlu membaca dari pipa terpisah untuk setiap saluran. Misalnya, jika Anda memiliki tiga saluran bernama`training`,`validation`, dan`testing`, Anda perlu membaca dari pipa berikut:
  + `/opt/ml/input/data/training_0, /opt/ml/input/data/training_1, ...`
  + `/opt/ml/input/data/validation_0, /opt/ml/input/data/validation_1, ...`
  + `/opt/ml/input/data/testing_0, /opt/ml/input/data/testing_1, ...`

  Baca pipa secara berurutan. Misalnya, jika Anda memiliki saluran yang disebut`training`, baca pipa dalam urutan ini: 

  1. Buka `/opt/ml/input/data/training_0` dalam mode baca dan baca ke end-of-file (EOF) atau, jika Anda selesai dengan epoch pertama, tutup file pipa lebih awal. 

  1. Setelah menutup file pipa pertama, cari `/opt/ml/input/data/training_1` dan baca sampai Anda menyelesaikan epoch kedua, dan seterusnya.

  Jika file untuk epoch tertentu belum ada, kode Anda mungkin perlu mencoba lagi sampai pipa dibuat Tidak ada batasan pengurutan di seluruh jenis saluran. Misalnya, Anda dapat membaca beberapa zaman untuk `training` saluran dan hanya mulai membaca `validation` saluran saat Anda siap. Atau, Anda dapat membacanya secara bersamaan jika algoritme Anda mengharuskannya.

  Untuk contoh notebook Jupyter yang menunjukkan cara menggunakan mode Pipa saat membawa wadah Anda sendiri, lihat Membawa [algoritme mode pipa Anda sendiri ke](https://github.com/aws/amazon-sagemaker-examples/blob/main/advanced_functionality/pipe_bring_your_own/pipe_bring_your_own.ipynb) Amazon AI. SageMaker 

  

SageMaker Pelatihan model AI mendukung bucket direktori S3 Express One Zone berkinerja tinggi sebagai lokasi input data untuk mode file, mode file cepat, dan mode pipa. Untuk menggunakan S3 Express One Zone, masukkan lokasi bucket direktori S3 Express One Zone, bukan bucket tujuan umum Amazon S3. Berikan ARN untuk peran IAM dengan kontrol akses dan kebijakan izin yang diperlukan. Lihat [AmazonSageMakerFullAccesspolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) untuk detailnya. Anda hanya dapat mengenkripsi data keluaran SageMaker AI di bucket direktori dengan enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3). Enkripsi sisi server dengan AWS KMS kunci (SSE-KMS) saat ini tidak didukung untuk menyimpan data keluaran SageMaker AI dalam bucket direktori. Untuk informasi selengkapnya, lihat [S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html).

## Konfigurasi Pelatihan Terdistribusi
<a name="your-algorithms-training-algo-running-container-dist-training"></a>

Jika Anda melakukan pelatihan terdistribusi dengan banyak kontainer, SageMaker AI membuat informasi tentang semua kontainer tersedia dalam `/opt/ml/input/config/resourceconfig.json` file.

Untuk mengaktifkan komunikasi antar kontainer, file JSON ini berisi informasi untuk semua kontainer. SageMaker AI membuat file ini tersedia untuk algoritme `Pipe` mode `File` dan keduanya. File ini memberikan informasi berikut:
+ `current_host`—Nama kontainer saat ini di jaringan kontainer. Misalnya, `algo-1`. Nilai host dapat berubah kapan saja. Jangan menulis kode dengan nilai spesifik untuk variabel ini.
+ `hosts`—Daftar nama semua kontainer di jaringan kontainer, diurutkan secara leksikografis. Misalnya, `["algo-1", "algo-2", "algo-3"]` untuk cluster tiga simpul. Kontainer dapat menggunakan nama-nama ini untuk menangani kontainer lain di jaringan kontainer. Nilai host dapat berubah kapan saja. Jangan menulis kode dengan nilai spesifik untuk variabel-variabel ini.
+ `network_interface_name`—Nama antarmuka jaringan yang terpapar ke wadah Anda. Misalnya, kontainer yang menjalankan Message Passing Interface (MPI) dapat menggunakan informasi ini untuk mengatur nama antarmuka jaringan.
+ Jangan gunakan informasi di dalam `/etc/hostname` atau `/etc/hosts` karena mungkin tidak akurat.
+ Informasi nama host mungkin tidak segera tersedia untuk wadah algoritme. Sebaiknya tambahkan kebijakan coba lagi pada operasi resolusi nama host saat node tersedia di klaster.

Berikut ini adalah contoh file pada node 1 dalam cluster tiga node:

```
{
    "current_host": "algo-1",
    "hosts": ["algo-1","algo-2","algo-3"],
    "network_interface_name":"eth1"
}
```