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 i contenitori Docker per addestrare e distribuire modelli
Amazon SageMaker fa un uso estensivo dei contenitori Docker per le attività di compilazione e runtime. SageMaker fornisce immagini Docker predefinite per i suoi algoritmi integrati e i framework di deep learning supportati utilizzati per l'addestramento e l'inferenza. Utilizzando i container, puoi eseguire l’addestramento di algoritmi di machine learning e distribuire modelli in modo rapido e affidabile su qualsiasi scala. Gli argomenti di questa sezione mostrano come distribuire questi container per i tuoi casi d'uso. Per informazioni su come portare i propri contenitori da utilizzare con Amazon SageMaker Studio Classic, consultaPorta la tua SageMaker immagine.
Argomenti
- Scenari per l'esecuzione di script, l'addestramento di algoritmi o la distribuzione di modelli con SageMaker
- DockerNozioni di base sui container
- Usa immagini Docker predefinite SageMaker
- Adattamento del proprio contenitore Docker con cui lavorare SageMaker
- Crea un container con i tuoi propri algoritmi e modelli
- Esempi e ulteriori informazioni: usa il tuo algoritmo o modello
- Risoluzione dei problemi relativi ai Docker contenitori
Scenari per l'esecuzione di script, l'addestramento di algoritmi o la distribuzione di modelli con SageMaker
Amazon utilizza SageMaker sempre i contenitori Docker per eseguire script, addestrare algoritmi e distribuire modelli. Il tuo livello di coinvolgimento con i container varia a seconda del tuo caso d'uso.
Il seguente albero decisionale illustra tre scenari principali: casi d'uso per l'utilizzo di contenitori Docker predefiniti con SageMaker; Casi d'uso per l'estensione di un contenitore Docker preconfigurato; Caso d'uso per la creazione di contenitori personalizzati.
Argomenti
Casi d'uso per l'utilizzo di contenitori Docker predefiniti con SageMaker
Prendi in considerazione i seguenti casi d'uso quando utilizzi contenitori con: SageMaker
-
SageMaker Algoritmo predefinito: utilizza l'immagine fornita con l'algoritmo integrato. Per ulteriori informazioni, consulta Usa gli algoritmi SageMaker integrati di Amazon o i modelli pre-addestrati.
-
Modello personalizzato con SageMaker contenitore precostruito: se addestra o distribuisci un modello personalizzato, ma utilizzi un framework che include TensorFlow un SageMaker contenitore predefinito PyTorch, scegli una delle seguenti opzioni:
-
Se non hai bisogno di un pacchetto personalizzato e il container include già tutti i pacchetti richiesti, usa l'immagine Docker predefinita associata al tuo framework. Per ulteriori informazioni, consulta Usa immagini Docker predefinite SageMaker .
-
Se hai bisogno di un pacchetto personalizzato installato in uno dei container predefiniti: conferma che l'immagine Docker predefinita consenta un file requirements.txt oppure estendi il container predefinito in base ai seguenti casi d'uso.
-
Casi d'uso per estendere un container Docker predefinito
Di seguito sono riportati i casi d'uso per l'estensione di un container Docker predefinito:
-
Non è possibile importare le dipendenze: estendi l'immagine Docker predefinita associata al framework. Per ulteriori informazioni, consulta Estendere un container predefinito.
-
Non puoi importare le dipendenze nel container predefinito, il container predefinito supporta requirements.txt: aggiungi tutte le dipendenze richieste in requirements.txt. I seguenti framework supportano l'utilizzo di requirements.txt.
Caso d'uso per costruire il proprio container
Se crei o addestri un modello personalizzato e hai bisogno di un framework personalizzato che non abbia un'immagine predefinita, crea un container personalizzato.
Come esempio di addestramento e implementazione di un TensorFlow modello, la seguente guida mostra come determinare l'opzione delle sezioni precedenti di Casi d'uso adatta al caso.
Si supponga di avere i seguenti requisiti per la formazione e l'implementazione di un TensorFlow modello.
-
Un TensorFlow modello è un modello personalizzato.
-
Poiché un TensorFlow modello verrà creato nel TensorFlow framework, utilizzate il contenitore framework TensorFlow predefinito per addestrare e ospitare il modello.
-
Se sono necessari pacchetti personalizzati nello script del punto di ingresso
o nello script di inferenza , estendi il container predefinito o usa un file requirements.txt per installare le dipendenze in fase di esecuzione.
Dopo aver determinato il tipo di contenitore necessario, l'elenco seguente fornisce dettagli sulle opzioni elencate in precedenza.
-
Utilizza un SageMaker algoritmo o un framework integrato. Nella maggior parte dei casi d'uso, puoi utilizzare gli algoritmi e i framework integrati senza preoccuparti dei container. Puoi addestrare e distribuire questi algoritmi dalla SageMaker console, da AWS Command Line Interface (AWS CLI), da un notebook Python o dall'SDK Amazon Python. SageMaker
È possibile farlo specificando l'algoritmo o la versione del framework durante la creazione dello strumento di valutazione. Gli algoritmi integrati disponibili sono descritti in modo dettagliato nell'argomento Usa algoritmi SageMaker integrati di Amazon o modelli preaddestrati. Per ulteriori informazioni sui framework disponibili, consulta Framework e linguaggi ML. Per un esempio di come addestrare e distribuire un algoritmo integrato utilizzando un notebook Jupyter in esecuzione in un'istanza di notebook, consulta l'argomento. SageMaker Guida alla configurazione con Amazon SageMaker -
Usa immagini di container predefinite. SageMaker In alternativa, puoi utilizzare gli algoritmi e i framework integrati utilizzando i contenitori Docker. SageMaker fornisce contenitori per i suoi algoritmi integrati e immagini Docker predefinite per alcuni dei framework di machine learning più comuni, come Apache MXNet, e Chainer. TensorFlow PyTorch Per un elenco completo delle SageMaker immagini disponibili, consulta Available Deep Learning Containers Images
. Inoltre, supporta librerie di machine learning quali scikit-learn e SparkML. Se utilizzi l'SDK Amazon SageMaker Python , puoi distribuire i contenitori passando l'URI completo del contenitore alla rispettiva classe SDK. SageMaker Estimator
Per l'elenco completo dei framework di deep learning attualmente supportati da, consulta. SageMaker Immagini SageMaker Docker predefinite per il deep learning Per ulteriori informazioni sulle immagini container predefinite scikit-learn e SparkML, consulta Immagini Amazon SageMaker Docker predefinite per Scikit-learn e Spark ML. Per ulteriori informazioni sull'uso dei framework con l'SDK Amazon SageMaker Python, consulta i rispettivi argomenti in. Framework e linguaggi di machine learning -
Estendi un'immagine di contenitore predefinita. SageMaker Se desideri estendere un SageMaker algoritmo o un'immagine Docker predefiniti, puoi modificare l' SageMaker immagine per soddisfare le tue esigenze. Per un esempio, vedi Estendere i nostri contenitori
. PyTorch -
Adattare un'immagine di contenitore esistente: se desideri adattare un'immagine di contenitore preesistente su cui lavorare SageMaker, devi modificare il contenitore Docker per abilitare il toolkit SageMaker Training o Inference. Per un esempio che mostra come compilare i tuoi container per eseguire l’addestramento e l'hosting di un algoritmo, consulta Bring Your Own R Algorithm
.