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 warm pool gestiti dall' SageMaker IA
Puoi utilizzare i warm pool gestiti dall' SageMaker IA tramite l'SDK SageMaker Python, la console Amazon SageMaker AI o tramite le API di basso livello. 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'AI Python SDK SageMaker
Crea, aggiorna o termina i warm pool usando Python SDK. SageMaker
Nota
Questa funzionalità è disponibile in SageMaker AI Python SDK v2.110.0 e versioni successive.
Creazione di un warm pool
Per creare un warm pool, usa SageMaker Python SDK per creare un lavoro di formazione con un keep_alive_period_in_seconds valore maggiore di 0 e iniziare l'allenamento. Al termine del processo di addestramento viene mantenuto un warm pool. Se lo script non crea un warm pool, consulta Creazione di warm pool per le possibili spiegazioni.
Usa SageMaker Python SDK per creare un file ModelTrainer con un keep_alive_period_in_seconds valore maggiore di 0 nella configurazione e nella Compute chiamata. train() Per ulteriori informazioni sull'addestramento con SageMaker Python SDK, vedi Addestrare un modello con Python SDK. SageMaker
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])
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 training eseguito su Amazon AI. SageMaker Per ulteriori informazioni sugli attributi che devono corrispondere, consulta Processi di addestramento corrispondenti.
# 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])
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 lavori di formazione hanno dei date/time suffissi. 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 delle API di basso livello SageMaker
Utilizza i warm pool gestiti dall' SageMaker IA con l' SageMaker API o la CLI AWS .
SageMaker API AI
Configura i warm pool gestiti dall' SageMaker IA utilizzando l' SageMaker API con i seguenti comandi:
AWS CLI
Configura i warm pool gestiti dall' SageMaker IA utilizzando la AWS CLI con i seguenti comandi:
Chiave di condizione IAM
Gli amministratori possono opzionalmente utilizzare la chiave sagemaker:KeepAlivePeriod condizionale per limitare ulteriormente i KeepAlivePeriodInSeconds limiti per determinati utenti o gruppi. SageMaker I warm pool gestiti dall'IA sono limitati a un KeepAlivePeriodInSeconds valore di 3600 secondi (60 minuti), ma gli amministratori possono abbassare questo limite se necessario.
Per ulteriori informazioni, consulta le chiavi di condizione per Amazon SageMaker AI nel Service Authorization Reference.