View a markdown version of this page

Dimensionamento delle risorse di addestramento - Amazon SageMaker AI

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à.

Dimensionamento delle risorse di addestramento

Le sezioni seguenti illustrano gli scenari in cui potresti voler ampliare la formazione e come farlo utilizzando AWS le risorse. È possibile che sia necessario scalare l’addestramento in una delle seguenti situazioni:

  • Dimensionamento da una singola GPU a molte GPU

  • Scalabilità da una singola istanza a più istanze

  • Utilizzo di script di addestramento personalizzati

Dimensionamento da una singola GPU a molte GPU

La quantità di dati o le dimensioni del modello utilizzato nel machine learning possono creare situazioni in cui il tempo necessario per addestrare un modello è più lungo di quanto si sia disposti ad aspettare. A volte, l'addestramento non funziona affatto perché il modello o i dati di addestramento sono troppo grandi. Una soluzione consiste nell'aumentare il numero di GPU utilizzate per l'addestramento. In un'istanza con più GPU, ad esempio un'istanza come p3.16xlarge con otto GPU, i dati e l'elaborazione vengono suddivisi tra le otto GPU. Quando utilizzi librerie di addestramento distribuito, può verificarsi un'accelerazione quasi lineare del tempo necessario per addestrare il modello. Richiede un po' più 1/8 del tempo che sarebbe stato necessario p3.2xlarge con una sola GPU.

Tipo di istanza GPU
p3.2xlarge 1
p3.8xlarge 4
p3.16xlarge 8
p3dn.24xlarge 8
Nota

I tipi di istanze ML utilizzati dalla SageMaker formazione hanno lo stesso numero di GPU dei tipi di istanze p3 corrispondenti. Ad esempio, ml.p3.8xlarge ha lo stesso numero di GPU di p3.8xlarge - 4.

Scalabilità da una singola istanza a più istanze

Se desideri ampliare ulteriormente il tuo addestramento, puoi utilizzare più istanze. Tuttavia, dovresti scegliere un tipo di istanza più grande prima di aggiungere altre istanze. Consulta la tabella precedente per vedere quante GPU ci sono in ogni tipo di istanza p3.

Se hai effettuato il passaggio da una singola GPU su un p3.2xlarge a quattro GPU su un p3.8xlarge, ma decidi che hai bisogno di maggiore potenza di elaborazione, potresti ottenere prestazioni migliori e costi inferiori se scegli un p3.16xlarge prima di provare ad aumentare il numero di istanze. A seconda delle librerie utilizzate, se mantieni l'addestramento su una singola istanza, le prestazioni sono migliori e i costi sono inferiori rispetto a uno scenario in cui si utilizzano più istanze.

Quando sei pronto per ridimensionare il numero di istanze, puoi farlo con la funzione SageMaker AI Python estimator SDK impostando il tuo. instance_count Ad esempio, puoi impostare instance_type = p3.16xlarge e instance_count = 2. Invece delle otto GPU su un singolo p3.16xlarge, hai 16 GPU su due istanze identiche. Il grafico seguente mostra la scalabilità e il throughput a partire da otto GPU su una singola istanza e aumentando fino a 64 istanze per un totale di 256 GPU.

Chart showing how throughput increases and time to train decreases with more GPUs.

Script di addestramento personalizzati

Sebbene l' SageMaker intelligenza artificiale semplifica l'implementazione e la scalabilità del numero di istanze e GPU, a seconda del framework scelto, la gestione dei dati e dei risultati può essere molto impegnativa, motivo per cui vengono spesso utilizzate librerie di supporto esterne. Questa forma più elementare di formazione distribuita richiede la modifica dello script di formazione per gestire la distribuzione dei dati.

SageMaker L'intelligenza artificiale supporta anche Horovod e le implementazioni di formazione distribuita native di ogni principale framework di deep learning. Se scegli di utilizzare esempi tratti da questi framework, puoi seguire la guida ai container di SageMaker AI per Deep Learning Containers e vari taccuini di esempio che dimostrano le implementazioni.