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à.
Considerazioni per Amazon SageMaker Debugger
Considera quanto segue quando usi Amazon SageMaker Debugger.
Considerazioni sull’addestramento distribuito
L'elenco seguente mostra l'ambito di validità e le considerazioni per l'utilizzo di Debugger in processi di addestramento con framework di deep learning e varie opzioni di addestramento distribuito.
-
Horovod
Ambito di validità dell'utilizzo di Debugger per processi di addestramento con Horovod
Framework Deep Learning Apache MXNet TensorFlow 1.x TensorFlow 2.x TensorFlow 2.x con Keras PyTorch Colli di bottiglia di bottiglia del sistema di monitoraggio Sì Sì Sì Sì Sì Operazioni del framework di profilazione No No No Sì Sì Debug dei tensori di output del modello Sì Sì Sì Sì Sì -
SageMaker dati distribuiti in parallelo
Ambito di validità dell'utilizzo di Debugger per lavori di formazione con SageMaker dati distribuiti in parallelo
Framework Deep Learning TensorFlow 2.x TensorFlow 2.x con Keras PyTorch Colli di bottiglia di bottiglia del sistema di monitoraggio Sì Sì Sì Operazioni del framework di profilazione No* No** Sì Debug dei tensori di output del modello Sì Sì Sì * Debugger non supporta la profilazione del framework per 2.x. TensorFlow
** SageMaker distributed data parallel non supporta TensorFlow 2.x con l'implementazione Keras.
-
SageMaker modello distribuito parallelo: il debugger non supporta l'addestramento parallelo su SageMaker modelli distribuiti.
-
Formazione distribuita con SageMaker checkpoint: Debugger non è disponibile per i lavori di formazione quando sono abilitati sia l'opzione di formazione distribuita che i checkpoint. SageMaker È possibile che venga visualizzato un errore simile al seguente:
SMDebug Does Not Currently Support Distributed Training Jobs With Checkpointing Enabled
Per utilizzare Debugger per lavori di formazione con opzioni di formazione distribuite, è necessario disabilitare il SageMaker checkpointing e aggiungere funzioni di checkpoint manuali allo script di allenamento. Per ulteriori informazioni sull'uso di Debugger con opzioni di addestramento e checkpoint distribuiti, consulta Utilizzo di dati SageMaker distribuiti in parallelo con Amazon SageMaker Debugger e checkpoint e Salvataggio dei checkpoint.
-
Server di parametri: Debugger non supporta l'addestramento distribuito basato su server di parametri.
-
La profilazione delle operazioni del framework di formazione distribuito, come il
AllReduced
funzionamento parallelo di dati SageMaker distribuiti e le operazioni Horovod, non è disponibile.
Considerazioni sul monitoraggio dei colli di bottiglia del sistema e sulle operazioni del framework di profilazione
-
Infatti AWS TensorFlow, le metriche del caricatore di dati non possono essere raccolte utilizzando l'impostazione predefinita
local_path
della classe.FrameworkProfile
Il percorso deve essere configurato manualmente e terminare con."/"
Per esempio:FrameworkProfile(local_path="/opt/ml/output/profiler/")
-
Infatti AWS TensorFlow, la configurazione della profilazione del caricatore di dati non può essere aggiornata mentre è in esecuzione un processo di formazione.
-
Infatti AWS TensorFlow, potrebbe verificarsi un
NoneType
errore quando si utilizzano strumenti di analisi ed esempi di taccuini con TensorFlow 2.3 lavori di formazione e l'opzione di profilazione dettagliata. -
La profilazione Python e la profilazione dettagliata sono supportate solo per Keras. API
-
Per accedere alla funzionalità di profilazione approfondita per TensorFlow e PyTorch, attualmente è necessario specificare le immagini più recenti del contenitore di AWS deep learning con 11. CUDA Ad esempio, è necessario specificare l'immagine specifica URI nello PyTorch stimatore TensorFlow and come segue:
-
Per TensorFlow
image_uri = f"763104351884.dkr.ecr.{region}.amazonaws.com/tensorflow-training:2.3.1-gpu-py37-cu110-ubuntu18.04"
-
Per PyTorch
image_uri = f"763104351884.dkr.ecr.{region}.amazonaws.com/pytorch-training:1.6.0-gpu-py36-cu110-ubuntu18.04"
-
Considerazioni per il debug dei tensori di output del modello
-
Evitare l'uso di API operazioni funzionali. Il debugger non può raccogliere tensori di output del modello PyTorch e script di MXNet addestramento composti da operazioni funzionali. API
-
Il debugger non può raccogliere i tensori di output del modello dalle operazioni.
torch.nn.functional
API Quando si scrive uno script di PyTorch addestramento, si consiglia di utilizzare invece i moduli. torch.nn
-
Il debugger non può raccogliere i tensori di output del modello da oggetti MXNet funzionali in blocchi ibridi. Ad esempio, gli output di ReLu attivazione (
F.relu
) non possono essere raccolti dal seguente esempio di with nella funzione.mxnet.gluon.HybridBlock
F
hybrid_forward
import mxnet as mx from mxnet.gluon import HybridBlock, nn class Model(HybridBlock): def __init__(self, **kwargs): super(Model, self).__init__(**kwargs) # use name_scope to give child Blocks appropriate names. with self.name_scope(): self.dense0 = nn.Dense(20) self.dense1 = nn.Dense(20) def hybrid_forward(self, F, x): x = F.relu(self.dense0(x)) return F.relu(self.dense1(x)) model = Model() model.initialize(ctx=mx.cpu(0)) model.hybridize() model(mx.nd.zeros((10, 10), ctx=mx.cpu(0)))
-