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à.
Amazon SageMaker Training Compiler
Importante
Amazon Web Services (AWS) annuncia che non sono previsti nuovi rilasci o nuove versioni di Compilatore SageMaker per l’addestramento. È possibile continuare a utilizzare Compilatore SageMaker per l’addestramento tramite i Container AWS per il Deep Learning (Container DL) esistenti per SageMaker Training. È importante notare che, sebbene i Container DL esistenti rimangano accessibili, non riceveranno più patch o aggiornamenti da AWS, in linea con la policy di supporto per i framework dei Container AWS per il Deep Learning.
Utilizzare Compilatore Amazon SageMaker per l’addestramento per addestrare modelli di deep learning (DL) più velocemente su istanze GPU scalabili gestite da SageMaker AI.
Cos'è SageMaker Training Compiler?
I modelli di deep learning (DL) all'avanguardia sono costituiti da complesse reti neurali multilivello con miliardi di parametri che possono richiedere migliaia di ore di addestramento da parte della GPU. L'ottimizzazione di tali modelli sull'infrastruttura di addestramento richiede una conoscenza approfondita del DL e dell'ingegneria dei sistemi, il che risulta impegnativo anche per casi d'uso ristretti. Sebbene esistano implementazioni open source di compilatori che ottimizzano il processo di addestramento DL, questi potrebbero non avere la flessibilità necessaria per integrare i framework DL con alcuni hardware, come le istanze della GPU.
Compilatore SageMaker per l’addestramento è una funzionalità di SageMaker AI che effettua queste ottimizzazioni difficili da implementare per ridurre il tempo di addestramento sulle istanze della GPU. Il compilatore ottimizza i modelli DL per accelerare l’addestramento utilizzando in modo più efficiente le istanze della GPU per il machine learning (ML) di SageMaker AI. Compilatore SageMaker per l’addestramento è disponibile senza costi aggiuntivi all’interno di SageMaker AI e può contribuire a ridurre il tempo totale fatturabile in quanto accelera l’addestramento.
SageMaker Training Compiler è integrato nei container di Deep Learning (DLC) AWS. Utilizzando i DLC AWS compatibili con SageMaker Training Compiler, è possibile compilare e ottimizzare i processi di addestramento su istanze della GPU con modifiche minime al codice. È possibile portare i propri modelli di deep learning in SageMaker AI e consentire a Compilatore SageMaker per l’addestramento di accelerare la velocità del job di addestramento sulle istanze ML di SageMaker AI per il calcolo accelerato.
Come funziona
SageMaker Training Compiler converte i modelli DL dalla loro rappresentazione linguistica di alto livello a istruzioni ottimizzate per l'hardware. In particolare, SageMaker Training Compiler applica ottimizzazioni a livello di grafica, ottimizzazioni a livello di flusso di dati e ottimizzazioni di backend per produrre un modello ottimizzato che utilizzi in modo efficiente le risorse hardware. Di conseguenza, è possibile addestrare i modelli più velocemente rispetto a quando lo si fa senza compilazione.
L'attivazione del SageMaker Training Compiler per il processo di addestramento prevede due fasi:
-
Portare il proprio script DL e, se necessario, adattarlo alla compilazione e all'addestramento con SageMaker Training Compiler. Per ulteriori informazioni, consulta Portare il proprio modello di deep learning.
-
Crea un oggetto strumento di stima di SageMaker AI con il parametro di configurazione del Compilatore utilizzando SageMaker Python SDK.
-
Attivare il Compilatore SageMaker per l’addestramento aggiungendo
compiler_config=TrainingCompilerConfig()alla classe dello strumento di stima di SageMaker AI. -
Regolare gli iperparametri (
batch_sizeelearning_rate) per massimizzare i vantaggi offerti da SageMaker Training Compiler.La compilazione tramite SageMaker Training Compiler modifica l'impronta di memoria del modello. Più comunemente, ciò si manifesta come una riduzione dell'utilizzo della memoria e un conseguente aumento delle dimensioni del batch più grande che può essere contenuto dalla GPU. In alcuni casi, il compilatore promuove in modo intelligente la memorizzazione nella cache, il che porta a una riduzione della dimensione del batch più grande che può essere contenuto dalla GPU. Tenere presente che, se si desidera modificare le dimensioni del batch, è necessario regolare il tasso di apprendimento in modo appropriato.
Per un riferimento ai modelli
batch_sizetestati per i modelli più diffusi, vedereModelli testati.Quando si modificano le dimensioni del batch è necessario modificare anche il
learning_ratein modo appropriato. Per le migliori pratiche per regolare il tasso di addestramento insieme alla modifica delle dimensioni del batch, consultare Buone pratiche e considerazioni su SageMaker Training Compiler. -
Eseguendo il metodo della classe
estimator.fit(), SageMaker AI compila il modello e avvia il job di addestramento.
Per istruzioni sull'avvio di un processo di addestramento, consultare Abilitare Amazon SageMaker Training Compiler.
-
SageMaker Training Compiler non altera il modello finale addestrato, ma consente al contempo di accelerare il processo di addestramento utilizzando in modo più efficiente la memoria della GPU e adattando un batch di dimensioni maggiori per iterazione. Il modello finale addestrato dal processo di addestramento accelerato dal compilatore è identico a quello del normale processo di addestramento.
Suggerimento
Compilatore SageMaker per l’addestramento compila solo modelli DL per l’addestramento su istanze della GPU supportate gestite da SageMaker AI. Per compilare il modello per l'inferenza e distribuirlo per eseguirlo ovunque nel cloud e nell'edge, usare il compilatore SageMaker Neo.