Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan kolam hangat yang dikelola SageMaker AI
Anda dapat menggunakan kolam hangat yang dikelola SageMaker AI melalui SageMaker Python SDK, konsol Amazon SageMaker AI, atau melalui API tingkat rendah. Administrator dapat secara opsional menggunakan kunci sagemaker:KeepAlivePeriod kondisi untuk membatasi KeepAlivePeriodInSeconds batas lebih lanjut untuk pengguna atau grup tertentu.
Topik
Menggunakan SageMaker AI Python SDK
Buat, perbarui, atau hentikan kolam hangat menggunakan SageMaker Python SDK.
catatan
Fitur ini tersedia di SageMaker AI Python SDK v2.110.0
Buat kolam yang hangat
Untuk membuat kolam hangat, gunakan SageMaker Python SDK untuk membuat pekerjaan pelatihan dengan keep_alive_period_in_seconds nilai lebih besar dari 0 dan mulai pelatihan. Ketika pekerjaan pelatihan selesai, kolam hangat dipertahankan. Jika skrip Anda tidak membuat kolam hangat, lihat Pembuatan kolam hangat penjelasan yang mungkin.
Gunakan SageMaker Python SDK untuk membuat ModelTrainer dengan keep_alive_period_in_seconds nilai lebih besar dari 0 dalam Compute konfigurasi dan panggilantrain(). Untuk informasi selengkapnya tentang pelatihan dengan SageMaker Python SDK, lihat Mel atih Model dengan SageMaker Python SDK
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 from sagemaker.train.configs import InputData # Creates a SageMaker AI 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", }, ) # Starts a SageMaker training job and waits until completion train_data = InputData(channel_name="training", data_source='s3://my_bucket/my_training_data/') model_trainer.train(input_data_config=[train_data])
Selanjutnya, buat pekerjaan pelatihan pencocokan kedua. Dalam contoh ini, kita membuatmy-training-job-2, yang memiliki semua atribut yang diperlukan untuk dicocokkanmy-training-job-1, tetapi memiliki hyperparameter yang berbeda untuk eksperimen. Pekerjaan pelatihan kedua menggunakan kembali kolam hangat dan dimulai lebih cepat daripada pekerjaan pelatihan pertama. Contoh kode berikut menggunakan estimator Tensorflow. Fitur kolam hangat dapat digunakan dengan algoritma pelatihan apa pun yang berjalan di Amazon SageMaker AI. Untuk informasi selengkapnya tentang atribut mana yang perlu dicocokkan, lihatMencocokkan pekerjaan pelatihan.
# Creates a second ModelTrainer that reuses the warm pool model_trainer_2 = 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": "2", "learning-rate": "1e-3", "beta_1": "0.9", "beta_2": "0.999", }, ) # Starts a SageMaker training job and waits until completion train_data = InputData(channel_name="training", data_source='s3://my_bucket/my_training_data/') model_trainer_2.train(input_data_config=[train_data])
Periksa status kolam hangat dari kedua pekerjaan pelatihan untuk memastikan bahwa kolam hangat adalah Reused untuk my-training-job-1 dan InUse untukmy-training-job-2.
catatan
Nama pekerjaan pelatihan memiliki akh date/time iran. Contoh nama pekerjaan pelatihan my-training-job-1 dan my-training-job-2 harus diganti dengan nama pekerjaan pelatihan yang sebenarnya. Anda dapat menggunakan estimator.latest_training_job.job_name perintah untuk mengambil nama pekerjaan pelatihan yang sebenarnya.
session.describe_training_job('my-training-job-1') session.describe_training_job('my-training-job-2')
Hasilnya describe_training_job memberikan semua detail tentang pekerjaan pelatihan yang diberikan. Temukan WarmPoolStatus atribut untuk memeriksa informasi tentang kolam hangat pekerjaan pelatihan. Output Anda akan terlihat mirip dengan contoh berikut:
# Warm pool status for training-job-1 ... 'WarmPoolStatus': {'Status': 'Reused', 'ResourceRetainedBillableTimeInSeconds': 1000, 'ReusedByName': my-training-job-2} ... # Warm pool status for training-job-2 ... 'WarmPoolStatus': {'Status': 'InUse'} ...
Perbarui kolam yang hangat
Ketika pekerjaan pelatihan selesai dan status kolam hangat sudahAvailable, maka Anda dapat memperbarui nil KeepAlivePeriodInSeconds ainya.
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":3600})
Hentikan kolam yang hangat
Untuk menghentikan kolam hangat secara manual, atur nil KeepAlivePeriodInSeconds
ainya ke 0.
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":0})
Kolam hangat secara otomatis berakhir ketika melebihi KeepAlivePeriodInSeconds nilai yang ditentukan atau jika ada pembaruan patch untuk cluster.
Menggunakan konsol Amazon SageMaker AI
Melalui konsol, Anda dapat membuat kolam hangat, melepaskan kolam hangat, atau memeriksa status kolam hangat dan waktu yang dapat ditagih untuk pekerjaan pelatihan tertentu. Anda juga dapat melihat pekerjaan pelatihan yang cocok yang menggunakan kembali kolam hangat.
-
Buka konsol Amazon SageMaker AI
dan pilih Pekerjaan pelatihan dari panel navigasi. Jika berlaku, status kolam hangat dari setiap pekerjaan pelatihan terlihat di kolom status kolam hangat dan waktu yang tersisa untuk kolam hangat aktif terlihat di kolom Waktu kiri. -
Untuk membuat pekerjaan pelatihan yang menggunakan kolam hangat dari konsol, pilih Buat pekerjaan pelatihan. Kemudian, pastikan untuk menentukan nilai untuk bidang Periode Ke ep alive saat mengonfigurasi sumber daya pekerjaan pelatihan Anda. Nilai ini harus berupa bilangan bulat antara 1 dan 3600, yang mewakili durasi waktu dalam detik.
-
Untuk melepaskan kolam hangat dari konsol, pilih pekerjaan pelatihan tertentu dan pilih L epaskan cluster dari menu tarik-turun T indakan.
-
Untuk melihat informasi lebih lanjut tentang kolam hangat, pilih nama pekerjaan pelatihan. Di halaman detail pekerjaan, gulir ke bawah ke bagian status kolam hangat untuk menemukan status kolam hangat, waktu tersisa jika status kolam hangat
Available, detik kolam hangat yang dapat ditagih, dan nama pekerjaan pelatihan yang menggunakan kembali kolam hangat jika status kolam hangat adalah.Reused
Menggunakan API tingkat rendah SageMaker
Gunakan kolam hangat yang dikelola SageMaker AI dengan SageMaker API atau AWS CLI.
SageMaker API AI
Siapkan kolam hangat yang dikelola SageMaker AI menggunakan SageMaker API dengan perintah berikut:
AWS CLI
Siapkan kolam hangat yang dikelola SageMaker AI menggunakan AWS CLI dengan perintah berikut:
Kunci kondisi IAM
Administrator dapat secara opsional menggunakan kunci sagemaker:KeepAlivePeriod kondisi untuk membatasi KeepAlivePeriodInSeconds batas lebih lanjut untuk pengguna atau grup tertentu. SageMaker Kumpulan hangat yang dikelola AI di KeepAlivePeriodInSeconds batasi hingga nilai 3600 detik (60 menit), tetapi administrator dapat menurunkan batas ini jika diperlukan.
Untuk informasi selengkapnya, lihat Kunci kondisi untuk Amazon SageMaker AI di Referensi Otorisasi Layanan.