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
SageMaker Kolam hangat yang dikelola AI memungkinkan Anda mempertahankan dan menggunakan kembali infrastruktur yang disediakan setelah menyelesaikan pekerjaan pelatihan untuk mengurangi latensi 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 menyediakan sumber daya.
penting
SageMaker Kolam hangat yang dikelola AI adalah sumber daya yang dapat ditagih. Untuk informasi selengkapnya, lihat Penagihan.
Topik
Cara kerjanya
Untuk menggunakan kolam hangat yang dikelola SageMaker AI dan mengurangi latensi antara pekerjaan pelatihan berturut-turut yang serupa, buat pekerjaan pelatihan yang KeepAlivePeriodInSeconds
menentukan nilainya. ResourceConfig
Nilai ini mewakili durasi waktu dalam hitungan detik untuk mempertahankan sumber daya yang dikonfigurasi di kolam 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.
Topik
Siklus hidup kolam hangat
-
Buat pekerjaan pelatihan awal dengan
KeepAlivePeriodInSeconds
nilai lebih besar dari 0. Saat Anda menjalankan pekerjaan pelatihan pertama ini, ini “memulai” klaster dengan waktu startup yang khas. -
Ketika pekerjaan pelatihan pertama selesai, sumber daya yang disediakan tetap hidup di kolam hangat untuk periode yang ditentukan dalam nilai.
KeepAlivePeriodInSeconds
Selama cluster sehat dan kolam hangat berada dalam yang ditentukanKeepAlivePeriodInSeconds
, maka status kolam hangat adalahAvailable
. -
Kolam hangat tetap
Available
sampai mengidentifikasi pekerjaan pelatihan yang cocok untuk digunakan kembali atau melebihi yang ditentukanKeepAlivePeriodInSeconds
dan dihentikan. Panjang maksimum waktu yang diizinkan untukKeepAlivePeriodInSeconds
adalah 3600 detik (60 menit). Jika status kolam hangatTerminated
, maka ini adalah akhir dari siklus hidup kolam hangat. -
Jika kolam hangat mengidentifikasi pekerjaan pelatihan kedua dengan spesifikasi yang cocok seperti jumlah instance atau jenis instance, maka kolam 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. -
Status pekerjaan pelatihan kedua yang menggunakan kembali kolam hangat menjadi
InUse
. Setelah pekerjaan pelatihan kedua selesai, kolam hangat adalahAvailable
untukKeepAlivePeriodInSeconds
durasi yang ditentukan dalam pekerjaan pelatihan kedua. Kolam hangat dapat terus bergerak ke pekerjaan pelatihan pencocokan berikutnya selama maksimal 28 hari. -
Jika kolam hangat tidak lagi tersedia untuk digunakan kembali, status kolam hangat adalah
Terminated
. Kolam hangat tidak lagi tersedia jika dihentikan oleh pengguna, untuk pembaruan tambalan, atau untuk melebihi yang ditentukan.KeepAlivePeriodInSeconds
Untuk informasi selengkapnya tentang opsi status kolam hangat, lihat WarmPoolStatusdi SageMaker APIReferensi Amazon.
Pembuatan kolam hangat
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 diluncurkan, kolam hangat masih dipertahankan. Jika pekerjaan pelatihan gagal karena algoritma atau kesalahan klien, kolam hangat masih dipertahankan. Jika pekerjaan pelatihan gagal karena alasan lain yang mungkin membahayakan kesehatan cluster, maka kolam hangat tidak dibuat.
Untuk memverifikasi pembuatan kolam hangat yang berhasil, periksa status kolam hangat dari pekerjaan pelatihan Anda. Jika kolam hangat berhasil disediakan, status kolam hangat adalahAvailable
. Jika kolam hangat gagal disediakan, status kolam hangat adalahTerminated
.
Lowongan kerja pelatihan yang cocok
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:-
InstanceCount
-
InstanceType
-
VolumeKmsKeyId
-
VolumeSizeInGB
-
-
VpcConfig
nilai:-
SecurityGroupIds
-
Subnets
-
-
EnableInterContainerTrafficEncryption
-
EnableNetworkIsolation
-
Jika Anda melewati tag sesi untuk pekerjaan pelatihan Anda dengan
EnableSessionTagChaining
set keTrue
dalam pekerjaan pelatihanSessionChainingConfig
, maka pekerjaan pelatihan yang cocok juga harus diaturEnableSessionTagChaining
keTrue
dan memiliki kunci sesi yang identik. Untuk informasi selengkapnya, lihat Gunakan kontrol akses berbasis atribut (ABAC) untuk pelatihan multi-tenancy.
Semua nilai ini harus sama untuk kolam hangat untuk pindah ke pekerjaan pelatihan berikutnya untuk digunakan kembali.
Durasi kolam hangat maksimum
Maksimum KeepAlivePeriodInSeconds
untuk satu pekerjaan pelatihan adalah 3600 detik (60 menit) dan durasi maksimum waktu 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 ituResourceConfig
. Dengan cara ini, Anda dapat menjaga kolam hangat bergerak dari pekerjaan pelatihan ke pekerjaan pelatihan selama maksimal 28 hari.
Jika tidak KeepAlivePeriodInSeconds
ditentukan, maka kolam hangat berputar setelah pekerjaan pelatihan selesai.
Menggunakan cache persisten
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 daripada 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 isi 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.
-
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 menyiapkan 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 parameterkeep_alive_period_in_seconds
.
import sagemakerfrom sagemaker import get_execution_rolefrom sagemaker.tensorflow import TensorFlow # Creates a SageMaker session and gets execution role session = sagemaker.Session() role = get_execution_role() # Creates an example estimator estimator = TensorFlow( ... entry_point='
my-training-script.py
', source_dir='code
', role=role
, model_dir='model_dir
', framework_version='2.2
', py_version='py37
', job_name='my-training-job-1
', instance_type='ml.g4dn.xlarge
', instance_count=1
, volume_size=250
, hyperparameters={ "batch-size":512
, "epochs":1
, "learning-rate":1e-3
, "beta_1":0.9
, "beta_2":0.999
, }, keep_alive_period_in_seconds=1800
, environment={"PIP_CACHE_DIR": "/opt/ml/sagemaker/warmpoolcache/pip"} )
Dalam contoh kode sebelumnya, menggunakan parameter lingkunganPIP_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 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
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 atau langsung melalui DescribeTrainingJobAPIperintah. Untuk informasi selengkapnya, lihat WarmPoolStatusdi SageMaker APIReferensi Amazon.
catatan
Setelah waktu yang ditentukan oleh parameter KeepAlivePeriodInSeconds
berakhir, kolam hangat dan cache persisten akan dimatikan, dan isinya akan dihapus.
Pertimbangan
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 Kolam hangat yang dikelola AI tidak dapat digunakan dengan instance spot.
-
SageMaker Kolam hangat yang dikelola AI dibatasi hingga
KeepAlivePeriodInSeconds
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.