View a markdown version of this page

Gunakan kolam hangat yang dikelola SageMaker AI - Amazon SageMaker AI

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.

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 dan yang lebih baru.

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.

  1. 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.

  2. 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.

  3. Untuk melepaskan kolam hangat dari konsol, pilih pekerjaan pelatihan tertentu dan pilih L epaskan cluster dari menu tarik-turun T indakan.

  4. 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 hangatAvailable, 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.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "EnforceKeepAlivePeriodLimit", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob" ], "Resource": "*", "Condition": { "NumericLessThanIfExists": { "sagemaker:KeepAlivePeriod": "1800" } } } ] }

Untuk informasi selengkapnya, lihat Kunci kondisi untuk Amazon SageMaker AI di Referensi Otorisasi Layanan.