

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

# SageMaker Kolam Hangat yang Dikelola AI
<a name="train-warm-pools"></a>

SageMaker Kumpulan hangat yang dikelola AI memungkinkan Anda mempertahankan dan menggunakan kembali infrastruktur yang disediakan setelah menyelesaikan pekerjaan pelatihan untuk mengurangi latensi untuk beban kerja berulang, seperti eksperimen berulang atau menjalankan banyak pekerjaan secara berurutan. Pekerjaan pelatihan berikutnya yang sesuai dengan parameter tertentu dijalankan pada infrastruktur kolam hangat yang dipertahankan, yang mempercepat waktu mulai dengan mengurangi waktu yang dihabiskan untuk penyediaan sumber daya. 

**penting**  
SageMaker Kolam hangat yang dikelola AI adalah sumber daya yang dapat ditagih. Untuk informasi selengkapnya, lihat [Penagihan](#train-warm-pools-billing).

**Topics**
+ [Cara kerjanya](#train-warm-pools-how-it-works)
+ [Pertimbangan-pertimbangan](#train-warm-pools-considerations)
+ [Minta kenaikan kuota kolam renang hangat](train-warm-pools-resource-limits.md)
+ [Gunakan kolam hangat yang dikelola SageMaker AI](train-warm-pools-how-to-use.md)

## Cara kerjanya
<a name="train-warm-pools-how-it-works"></a>

Untuk menggunakan kum SageMaker pulan hangat yang dikelola AI dan mengurangi latensi antara pekerjaan pelatihan berturut-turut yang serupa, buat pekerjaan pelatihan yang menentukan `KeepAlivePeriodInSeconds` nilai di dalamnya`ResourceConfig`. Nilai ini mewakili durasi waktu dalam detik untuk mempertahankan sumber daya yang dikonfigurasi dalam kumpulan hangat untuk pekerjaan pelatihan berikutnya. Jika Anda perlu menjalankan beberapa pekerjaan pelatihan menggunakan konfigurasi serupa, Anda dapat mengurangi latensi dan waktu yang dapat ditagih lebih lanjut dengan menggunakan direktori cache persisten khusus untuk menyimpan dan menggunakan kembali informasi Anda dalam pekerjaan yang berbeda.

**Topics**
+ [Siklus hidup kolam hangat](#train-warm-pools-lifecycle)
+ [Pembuatan kolam hangat](#train-warm-pools-creation)
+ [Mencocokkan pekerjaan pelatihan](#train-warm-pools-matching-criteria)
+ [Durasi kolam hangat maksimum](#train-warm-pools-maximum-duration)
+ [Menggunakan cache persisten](#train-warm-pools-persistent-cache)
+ [Penagihan](#train-warm-pools-billing)

### Siklus hidup kolam hangat
<a name="train-warm-pools-lifecycle"></a>

1. Buat pekerjaan pelatihan awal dengan `KeepAlivePeriodInSeconds` nilai lebih besar dari 0. Ketika Anda menjalankan pekerjaan pelatihan pertama ini, ini “memulai” sebuah cluster dengan waktu startup yang khas. 

1. Ketika pekerjaan pelatihan pertama selesai, sumber daya yang disediakan tetap hidup di kolam hangat selama periode yang ditentukan dalam `KeepAlivePeriodInSeconds` nilai. Selama cluster sehat dan kolam hangat berada dalam yang ditentukan`KeepAlivePeriodInSeconds`, maka status kolam hangat adalah`Available`. 

1. Kolam hangat tetap `Available` ada sampai mengidentifikasi pekerjaan pelatihan yang cocok untuk digunakan kembali atau melebihi yang ditentukan `KeepAlivePeriodInSeconds` dan dihentikan. Panjang waktu maksimum yang diizinkan untuk `KeepAlivePeriodInSeconds` adalah 3600 detik (60 menit). Jika status kolam hangat adalah`Terminated`, maka ini adalah akhir dari siklus hidup kolam hangat.

1. Jika kolam hangat mengidentifikasi pekerjaan pelatihan kedua dengan spesifikasi yang cocok seperti jumlah instans atau jenis instans, maka kumpulan hangat berpindah dari pekerjaan pelatihan pertama ke pekerjaan pelatihan kedua untuk digunakan kembali. Status pekerjaan pelatihan pertama kolam hangat menjadi`Reused`. Ini adalah akhir dari siklus hidup kolam hangat untuk pekerjaan pelatihan pertama. 

1. Status pekerjaan pelatihan kedua yang menggunakan kembali kolam hangat menjadi`InUse`. Setelah pekerjaan pelatihan kedua selesai, kolam hangat adalah `Available` untuk `KeepAlivePeriodInSeconds` durasi yang ditentukan dalam pekerjaan pelatihan kedua. Kolam air hangat dapat terus pindah ke pekerjaan pelatihan pencocokan berikutnya selama maksimal 28 hari.

1. Jika kolam hangat tidak lagi tersedia untuk digunakan kembali, status kolam hangat adalah`Terminated`. Warm pool tidak lagi tersedia jika dihentikan oleh pengguna, untuk pembaruan patch, atau karena melebihi yang ditentukan`KeepAlivePeriodInSeconds`.

Untuk informasi selengkapnya tentang opsi status kolam hangat, lihat [ WarmPoolStatus ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_WarmPoolStatus.html) di Refer * ensi SageMaker API Amazon*.

### Pembuatan kolam hangat
<a name="train-warm-pools-creation"></a>

Jika pekerjaan pelatihan awal berhasil diselesaikan dan memiliki `KeepAlivePeriodInSeconds` nilai lebih besar dari 0, ini menciptakan kolam yang hangat. Jika Anda menghentikan pekerjaan pelatihan setelah cluster sudah diluncurkan, kolam hangat masih dipertahankan. Jika pekerjaan pelatihan gagal karena kesalahan algoritma atau klien, kolam hangat masih dipertahankan. Jika pekerjaan pelatihan gagal karena alasan lain yang mungkin membahayakan kesehatan cluster, maka kolam hangat tidak dibuat. 

Untuk memverifikasi keberhasilan pembuatan kolam hangat, periksa status kolam hangat dari pekerjaan pelatihan Anda. Jika kolam hangat berhasil disediakan, status kolam hangat adalah`Available`. Jika kolam hangat gagal disediakan, status kolam hangat adalah`Terminated`.

### Mencocokkan pekerjaan pelatihan
<a name="train-warm-pools-matching-criteria"></a>

Agar kolam hangat bertahan, ia harus menemukan pekerjaan pelatihan yang cocok dalam waktu yang ditentukan dalam `KeepAlivePeriodInSeconds` nilai. Pekerjaan pelatihan berikutnya adalah kecocokan jika nilai-nilai berikut identik: 
+ `RoleArn` 
+ `ResourceConfig`nilai-nilai:
  + `InstanceCount`
  + `InstanceType`
  + `VolumeKmsKeyId`
  + `VolumeSizeInGB`
+ `VpcConfig`nilai-nilai:
  + `SecurityGroupIds`
  + `Subnets`
+ `EnableInterContainerTrafficEncryption`
+ `EnableNetworkIsolation`
+ Jika Anda melewati tag [ sesi ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_operations) untuk pekerjaan pelatihan Anda dengan dis `EnableSessionTagChaining` etel ke `True` dalam pekerjaan pelatihan`SessionChainingConfig`, maka pekerjaan pelatihan yang cocok juga harus disetel `EnableSessionTagChaining` ke `True` dan memiliki kunci sesi yang identik. Untuk informasi selengkapnya, lihat [Gunakan kontrol akses berbasis atribut (ABAC) untuk pelatihan multi-tenancy](model-access-training-data-abac.md). 

Semua nilai ini harus sama agar kolam hangat dapat dipindahkan ke pekerjaan pelatihan berikutnya untuk digunakan kembali.

### Durasi kolam hangat maksimum
<a name="train-warm-pools-maximum-duration"></a>

Maksimum `KeepAlivePeriodInSeconds` untuk satu pekerjaan pelatihan adalah 3600 detik (60 menit) dan jangka waktu maksimum cluster kolam hangat dapat terus menjalankan pekerjaan pelatihan berturut-turut adalah 28 hari. 

Setiap pekerjaan pelatihan berikutnya juga harus menentukan `KeepAlivePeriodInSeconds` nilai. Ketika kolam hangat pindah ke pekerjaan pelatihan berikutnya, ia mewarisi `KeepAlivePeriodInSeconds` nilai baru yang ditentukan dalam pekerjaan pelatihan itu. `ResourceConfig` Dengan cara ini, Anda dapat menjaga kolam yang hangat bergerak dari pekerjaan pelatihan ke pekerjaan pelatihan selama maksimal 28 hari.

Jika tidak `KeepAlivePeriodInSeconds` ditentukan, maka kolam hangat berputar ke bawah setelah pekerjaan pelatihan selesai.

### Menggunakan cache persisten
<a name="train-warm-pools-persistent-cache"></a>

Saat Anda membuat kolam hangat, SageMaker AI memasang direktori khusus pada volume yang akan bertahan sepanjang siklus hidup kolam hangat. Direktori ini juga dapat digunakan untuk menyimpan informasi yang ingin Anda gunakan kembali di pekerjaan lain. 

Menggunakan cache persisten dapat mengurangi latensi dan waktu yang dapat ditagih selama menggunakan kolam hangat saja untuk pekerjaan yang memerlukan hal berikut:
+ beberapa interaksi dengan konfigurasi serupa
+ pekerjaan pelatihan tambahan
+ optimasi hyperparameter

Misalnya, Anda dapat menghindari mengunduh dependensi Python yang sama pada proses berulang dengan menyiapkan direktori cache pip di dalam direktori cache persisten. Anda bertanggung jawab penuh untuk mengelola konten direktori ini. Berikut ini adalah contoh jenis informasi yang dapat Anda masukkan ke dalam cache persisten Anda untuk membantu mengurangi latensi dan waktu yang dapat ditagih.
+ Dependensi dikelola oleh pip.
+ Dependensi dikelola oleh conda.
+ [Informasi ](https://docs.aws.amazon.com/sagemaker/latest/dg/model-checkpoints.html) pos pemeriksaan.
+ Setiap informasi tambahan yang dihasilkan selama pelatihan.

Lokasi cache persisten adalah`/opt/ml/sagemaker/warmpoolcache`. Variabel lingkungan `SAGEMAKER_MANAGED_WARMPOOL_CACHE_DIRECTORY` menunjuk ke lokasi direktori cache persisten.

Contoh kode berikut menunjukkan cara mengatur kolam hangat dan menggunakan cache persisten untuk menyimpan dependensi pip Anda untuk digunakan dalam pekerjaan berikutnya. Pekerjaan selanjutnya harus berjalan dalam kerangka waktu yang diberikan oleh parameter`keep_alive_period_in_seconds`.

```
from sagemaker.train import ModelTrainer
from sagemaker.train.configs import Compute, SourceCode
from sagemaker.core.helper.session_helper import Session, get_execution_role
from sagemaker.core import image_uris

# Creates a SageMaker session and gets execution role
session = Session()
role = get_execution_role()

# Retrieve the TensorFlow training image
training_image = image_uris.retrieve(
    framework="tensorflow", region=session.boto_region_name,
    version="{{2.2}}", py_version="{{py37}}",
    instance_type="{{ml.g4dn.xlarge}}", image_scope="training"
)

# Creates an example ModelTrainer with warm pool enabled
model_trainer = ModelTrainer(
    training_image=training_image,
    source_code=SourceCode(source_dir='{{code}}', entry_script='{{my-training-script.py}}'),
    role=role,
    compute=Compute(
        instance_type='{{ml.g4dn.xlarge}}',
        instance_count={{1}},
        volume_size_in_gb={{250}},
        keep_alive_period_in_seconds={{1800}},
    ),
    hyperparameters={
        "batch-size": "{{512}}",
        "epochs": "{{1}}",
        "learning-rate": "{{1e-3}}",
        "beta_1": "{{0.9}}",
        "beta_2": "{{0.999}}",
    },
    environment={"PIP_CACHE_DIR": "/opt/ml/sagemaker/warmpoolcache/pip"}
)
```

Dalam contoh kode sebelumnya, menggunakan [ parameter ](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html) lingkungan mengekspor variabel lingkungan `PIP_CACHE_DIRECTORY` untuk menunjuk ke direktori`/opt/ml/sagemaker/warmpoolcache/pip`. Mengekspor variabel lingkungan ini akan mengubah tempat pip menyimpan cache-nya ke lokasi baru. Direktori apa pun, termasuk direktori bersarang, yang Anda buat di dalam direktori cache persisten akan tersedia untuk digunakan kembali selama proses pelatihan berikutnya. Dalam contoh kode sebelumnya, direktori yang `pip` disebut diubah menjadi lokasi default untuk menyimpan dependensi apa pun yang diinstal menggunakan pip.

Lokasi cache persisten juga dapat diakses dari dalam skrip pelatihan Python Anda menggunakan variabel lingkungan seperti yang ditunjukkan dalam contoh kode berikut.

```
import os
import shutil
if __name__ == '__main__':
    PERSISTED_DIR = os.environ["SAGEMAKER_MANAGED_WARMPOOL_CACHE_DIRECTORY"]

    # create a file to be persisted
    open(os.path.join(PERSISTED_DIR, "{{test.txt}}"), 'a').close()
    # create a directory to be persisted
    os.mkdir(os.path.join(PERSISTED_DIR, "{{test_dir}}"))

    # Move a file to be persisted
    shutil.move("{{path/of/your/file.txt}}", PERSISTED_DIR)
```

### Penagihan
<a name="train-warm-pools-billing"></a>

SageMaker Kolam hangat yang dikelola AI adalah sumber daya yang dapat ditagih. Ambil status kolam hangat untuk pekerjaan pelatihan Anda untuk memeriksa waktu yang dapat ditagih untuk kolam hangat Anda. Anda dapat memeriksa status kolam hangat baik melalui [Menggunakan konsol Amazon SageMaker AI](train-warm-pools-how-to-use.md#train-warm-pools-how-to-use-sagemaker-console) atau langsung melalui perintah [ DescribeTrainingJob ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html) API. Untuk informasi selengkapnya, lihat [ WarmPoolStatus ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_WarmPoolStatus.html) di Refer * ensi SageMaker API Amazon*.

**catatan**  
Setelah waktu yang ditentukan oleh parameter `KeepAlivePeriodInSeconds` berakhir, kumpulan hangat dan cache persisten akan dimatikan, dan isinya akan dihapus.

## Pertimbangan-pertimbangan
<a name="train-warm-pools-considerations"></a>

Pertimbangkan item berikut saat menggunakan kolam hangat yang dikelola SageMaker AI.
+ SageMaker Kolam hangat yang dikelola AI tidak dapat digunakan dengan pelatihan cluster heterogen. 
+ SageMaker Kumpulan hangat yang dikelola AI tidak dapat digunakan dengan instans spot.
+ SageMaker Kolam hangat yang dikelola AI dibatasi `KeepAlivePeriodInSeconds` hingga nilai 3600 detik (60 menit).
+ Jika kolam hangat terus berhasil mencocokkan pekerjaan pelatihan dalam `KeepAlivePeriodInSeconds` nilai yang ditentukan, cluster hanya dapat terus berjalan selama maksimal 28 hari.