Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usa piscine calde gestite dall' SageMaker IA
Puoi usare pool caldi gestiti dall' SageMaker intelligenza artificiale tramite SageMaker PythonSDK, la console Amazon SageMaker AI o tramite il livello basso. APIs Gli amministratori possono, in via opzionale, utilizzare la chiave di condizione sagemaker:KeepAlivePeriod
per limitare ulteriormente i limiti KeepAlivePeriodInSeconds
per determinati utenti o gruppi.
Argomenti
Usare l' SageMaker AI Python SDK
Crea, aggiorna o termina i pool caldi usando SageMaker PythonSDK.
Nota
Questa funzionalità è disponibile in SageMaker AI Python SDK v2.110.0
Creazione di un warm pool
Per creare un pool caldo, usa SageMaker Python SDK per creare uno stimatore con un keep_alive_period_in_seconds
valore maggiore di 0 e chiama. fit()
Al termine del processo di addestramento viene mantenuto un warm pool. Per ulteriori informazioni sugli script di addestramento e sugli stimatori, consulta Train a Model with the Python SageMaker
import sagemaker from sagemaker import get_execution_role from sagemaker.tensorflow import TensorFlow # Creates a SageMaker AI 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
, ) # Starts a SageMaker training job and waits until completion estimator.fit('s3://my_bucket/my_training_data/'
)
Quindi, crea un secondo processo di addestramento corrispondente. In questo esempio, creiamo my-training-job-2
, che ha tutti gli attributi necessari a cui abbinare my-training-job-1
, ma ha un iperparametro diverso per la sperimentazione. Il secondo processo di addestramento riutilizza il warm pool e si avvia più velocemente del primo processo di addestramento. Il seguente codice di esempio utilizza uno strumento di valutazione Tensorflow. La funzionalità warm pool può essere utilizzata con qualsiasi algoritmo di addestramento eseguito su Amazon SageMaker AI. Per ulteriori informazioni sugli attributi che devono corrispondere, consulta Processi di addestramento corrispondenti.
# Creates an example estimator estimator = TensorFlow( ... entry_point=
'my-training-script.py'
, source_dir='code'
, role=role
, model_dir='model_dir'
, framework_version='py37'
, py_version='pyxy'
, job_name='my-training-job-2'
, instance_type='ml.g4dn.xlarge'
, instance_count=1
, volume_size=250
, hyperparameters={ "batch-size":512
, "epochs":2
, "learning-rate":1e-3
, "beta_1":0.9
, "beta_2":0.999
, }, keep_alive_period_in_seconds=1800
, ) # Starts a SageMaker training job and waits until completion estimator.fit('s3://my_bucket/my_training_data/'
)
Controlla lo stato del warm pool di entrambi i processi di addestramento per confermare che il warm pool è Reused
per my-training-job-1
e InUse
per my-training-job-2
.
Nota
I nomi dei processi di addestramento hanno suffissi di data/ora. I nomi dei processi di addestramento di esempio my-training-job-1
e my-training-job-2
devono essere sostituiti con i nomi dei processi di addestramento effettivi. È possibile utilizzare il comando estimator.latest_training_job.job_name
per recuperare il nome effettivo del processo di addestramento.
session.describe_training_job(
'my-training-job-1'
) session.describe_training_job('my-training-job-2'
)
Il risultato di describe_training_job
fornisce tutti i dettagli su un determinato processo di addestramento. Trova l'attributo WarmPoolStatus
per controllare le informazioni sul warm pool di un processo di addestramento. L'aspetto dell'output dovrebbe essere simile all’esempio seguente:
# 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'} ...
Aggiornamento di un warm pool
Quando il processo di addestramento è completo e lo stato del warm pool è Available
, puoi aggiornare il valore KeepAlivePeriodInSeconds
.
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":
3600
})
Terminazione di un warm pool
Per terminare manualmente un warm pool, imposta il valore KeepAlivePeriodInSeconds
su 0.
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":0})
Il warm pool si interrompe automaticamente quando supera il valore KeepAlivePeriodInSeconds
designato o se è disponibile un aggiornamento della patch per il cluster.
Utilizzo della console Amazon SageMaker AI
Tramite la console, puoi creare un warm pool, rilasciare un warm pool o controllare lo stato del warm pool e il tempo fatturabile di specifici processi di addestramento. Puoi anche vedere quale processo di addestramento corrispondente ha riutilizzato un warm pool.
-
Apri la console Amazon SageMaker AI
e scegli Training jobs dal pannello di navigazione. Se applicabile, lo stato del warm pool di ogni processo di addestramento è visibile nella colonna Stato del warm pool e il tempo rimasto per un warm pool attivo è visibile nella colonna Tempo rimasto. -
Per creare un processo di addestramento che utilizzi un warm pool dalla console, scegli Crea processo di addestramento. Quindi, assicurati di specificare un valore per il campo Periodo keep alive durante la configurazione delle risorse per i processi di addestramento. Questo valore deve essere un numero intero compreso tra 1 e 3600, che rappresenta la durata del tempo in secondi.
-
Per rilasciare un warm pool dalla console, seleziona un processo di addestramento specifico e scegli Rilascia cluster dal menu a discesa Azioni.
-
Per visualizzare ulteriori informazioni su un warm pool, scegli il nome del processo di addestramento. Nella pagina dei dettagli del processo, scorri verso il basso fino alla sezione Stato del warm pool per trovare lo stato del warm pool, il tempo rimasto se lo stato del warm pool è
Available
, i secondi fatturabili del warm pool e il nome del processo di addestramento che ha riutilizzato il warm pool, se il suo stato èReused
.
Utilizzo del livello basso SageMaker APIs
Usa piscine calde gestite dall' SageMaker intelligenza artificiale con SageMaker API o con. AWS CLI
SageMaker AI API
Configura le piscine calde gestite dall' SageMaker IA utilizzando SageMaker API i seguenti comandi:
AWS CLI
Configura le piscine calde gestite dall' SageMaker IA utilizzando AWS CLI i seguenti comandi:
Chiave di condizione IAM
Gli amministratori possono opzionalmente utilizzare la chiave di sagemaker:KeepAlivePeriod
condizione per limitare ulteriormente i KeepAlivePeriodInSeconds
limiti per determinati utenti o gruppi. SageMaker I pool caldi gestiti dall'IA sono limitati a un KeepAlivePeriodInSeconds
valore di 3600 secondi (60 minuti), ma gli amministratori possono abbassare questo limite se necessario.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceKeepAlivePeriodLimit", "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob" ], "Resource": "*", "Condition": { "NumericLessThanIfExists": { "sagemaker:KeepAlivePeriod":
1800
} } } ] }
Per ulteriori informazioni, consulta Condition keys for Amazon SageMaker AI nel Service Authorization Reference.