Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Inizia con la formazione distribuita in Amazon SageMaker AI

Modalità Focus
Inizia con la formazione distribuita in Amazon SageMaker AI - 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à.

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

La pagina seguente fornisce informazioni sui passaggi necessari per iniziare con la formazione distribuita in Amazon SageMaker AI. Se conosci già l'addestramento distribuito, per iniziare scegli una delle seguenti opzioni corrispondente alla tua strategia o al tuo framework preferito. Se vuoi saperne di più sull'addestramento distribuito in generale, consulta Concetti di formazione distribuiti.

Le librerie di formazione distribuite basate sull' SageMaker intelligenza artificiale sono ottimizzate per l'ambiente di SageMaker formazione, aiutano ad adattare i lavori di formazione distribuiti all' SageMaker intelligenza artificiale e migliorano la velocità e la produttività della formazione. Le librerie offrono strategie di addestramento con parallelismo dei dati e parallelismo dei modelli. Combinano tecnologie software e hardware per migliorare le comunicazioni tra GPU e tra nodi ed estendono le capacità di formazione dell' SageMaker IA con opzioni integrate che richiedono modifiche minime al codice degli script di formazione. 

Prima di iniziare

SageMaker La formazione supporta la formazione distribuita su una singola istanza e su più istanze, in modo da poter eseguire corsi di formazione di qualsiasi dimensione su larga scala. Ti consigliamo di utilizzare le classi di stima del framework come PyTorche TensorFlownell'SDK SageMaker Python, che sono i lanciatori di lavori di formazione con varie opzioni di formazione distribuite. Quando crei un oggetto estimatore, l'oggetto configura un'infrastruttura di formazione distribuita, esegue l'CreateTrainingJobAPI nel backend, trova la regione in cui è in esecuzione la sessione corrente e richiama uno dei contenitori di AWS deep learning predefiniti preconfezionati con una serie di librerie tra cui framework di deep learning, framework di formazione distribuiti e il driver EFA. Se desideri montare un FSx file system sulle istanze di addestramento, devi passare l'ID della sottorete VPC e del gruppo di sicurezza allo estimatore. Prima di eseguire il tuo processo di formazione distribuito in SageMaker AI, leggi le seguenti linee guida generali sulla configurazione di base dell'infrastruttura.

Zone di disponibilità e backplane di rete

Quando si utilizzano più istanze (chiamate anche nodi), è importante comprendere la rete che collega le istanze, come queste leggono i dati di addestramento e come condividono le informazioni tra di loro. Ad esempio, quando esegui un processo di formazione distribuito in parallelo ai dati, diversi fattori, come la comunicazione tra i nodi di un cluster di calcolo per l'esecuzione dell'AllReduceoperazione e il trasferimento dei dati tra i nodi e l'archiviazione dei dati in Amazon Simple Storage Service o Amazon FSx for Lustre, svolgono un ruolo cruciale per ottenere un uso ottimale delle risorse di elaborazione e una maggiore velocità di formazione. Per ridurre il sovraccarico di comunicazione, assicurati di configurare le istanze, la sottorete VPC e lo storage dei dati nella stessa zona di disponibilità. Regione AWS

Istanze GPU con rete più veloce e archiviazione ad alto throughput

Dal punto di vista tecnico, è possibile utilizzare qualsiasi istanza per l'addestramento distribuito. Nei casi in cui è necessario eseguire lavori di formazione distribuiti su più nodi per addestrare modelli di grandi dimensioni, come modelli di linguaggio di grandi dimensioni (LLMs) e modelli di diffusione, che richiedono una commutazione tra nodi più rapida, consigliamo istanze GPU abilitate per EFA supportate dall'intelligenza artificiale. SageMaker In particolare, per ottenere il training distribuito più efficiente possibile in materia di SageMaker intelligenza artificiale, consigliamo le istanze P4d e P4de dotate di NVIDIA A100. GPUs Queste sono inoltre dotate di archiviazione di istanze locale ad alto throughput e bassa latenza e di una rete intra-nodo più veloce. Per l'archiviazione dei dati, consigliamo Amazon FSx for Lustre, che offre un throughput elevato per l'archiviazione di set di dati di addestramento e checkpoint dei modelli.

Usa la libreria SageMaker AI Distributed Data Parallelism (SMDDP)

La libreria SMDDP migliora la comunicazione tra i nodi con implementazioni AllReduce e operazioni di comunicazione AllGather collettiva ottimizzate per l'infrastruttura di AWS rete e la topologia delle istanze Amazon SageMaker AI ML. È possibile utilizzare la libreria SMDDP come backend di pacchetti di formazione distribuiti PyTorch basati su: distributed PyTorch data parallel (DDP), PyTorch Fully Sharded DataParallelism (FSDP) e Megatron-. DeepSpeedDeepSpeed Il seguente esempio di codice mostra come impostare uno stimatore per l'avvio di un processo di formazione distribuito su due istanzePyTorch. ml.p4d.24xlarge

from sagemaker.pytorch import PyTorch estimator = PyTorch( ..., instance_count=2, instance_type="ml.p4d.24xlarge", # Activate distributed training with SMDDP distribution={ "pytorchddp": { "enabled": True } } # mpirun, activates SMDDP AllReduce OR AllGather # distribution={ "torch_distributed": { "enabled": True } } # torchrun, activates SMDDP AllGather # distribution={ "smdistributed": { "dataparallel": { "enabled": True } } } # mpirun, activates SMDDP AllReduce OR AllGather )

Per informazioni su come preparare lo script di formazione e avviare un processo di formazione distribuito in parallelo con i dati sull' SageMaker intelligenza artificiale, consulta. Esegui corsi di formazione distribuiti con la libreria di parallelismo dei dati distribuiti basata sull' SageMaker intelligenza artificiale

Usa la libreria di parallelismo dei modelli SageMaker AI (SMP)

SageMaker L'intelligenza artificiale fornisce la libreria SMP e supporta varie tecniche di formazione distribuite, come il parallelismo dei dati condivisi, il pipelining, il parallelismo tensoriale, lo sharding dello stato dell'ottimizzatore e altro ancora. Per saperne di più su ciò che offre la libreria SMP, consulta Caratteristiche principali della SageMaker Model Parallelism Library.

Per utilizzare la libreria di parallelismo dei modelli di SageMaker AI, configura il parametro degli stimatori del framework AI. distribution SageMaker Gli stimatori di framework supportati sono e. PyTorchTensorFlow L'esempio di codice seguente mostra come costruire uno strumento di valutazione del framework per l'addestramento distribuito con la libreria di parallelismo dei modelli su due istanze ml.p4d.24xlarge.

from sagemaker.framework import Framework distribution={ "smdistributed": { "modelparallel": { "enabled":True, "parameters": { ... # enter parameter key-value pairs here } }, }, "mpi": { "enabled" : True, ... # enter parameter key-value pairs here } } estimator = Framework( ..., instance_count=2, instance_type="ml.p4d.24xlarge", distribution=distribution )

Per scoprire come adattare lo script di formazione, configurare i parametri di distribuzione nella estimator classe e avviare un processo di formazione distribuito, consulta la libreria di parallelismo dei modelli di SageMaker AI (vedi anche Distributed Training APIs nella documentazione di SageMaker Python SDK).

Utilizzo di framework di addestramento distribuito open source

SageMaker L'intelligenza artificiale supporta anche le seguenti opzioni operative mpirun e torchrun nel backend.

  • Per utilizzare PyTorch DistributedDataParallel (DDP) nell' SageMaker intelligenza artificiale con il mpirun backend, aggiungilo distribution={"pytorchddp": {"enabled": True}} al tuo estimatore. PyTorch Per ulteriori informazioni, consulta anche l'distributionargomento di PyTorch Distributed Training e SageMaker AI PyTorch Estimator nella documentazione di SageMaker Python SDK.

    Nota

    Questa opzione è disponibile per PyTorch 1.12.0 e versioni successive.

    from sagemaker.pytorch import PyTorch estimator = PyTorch( ..., instance_count=2, instance_type="ml.p4d.24xlarge", distribution={"pytorchddp": {"enabled": True}} # runs mpirun in the backend )
  • SageMaker L'intelligenza artificiale supporta il PyTorch torchrunlauncher per la formazione distribuita su istanze EC2 Amazon basate su GPU, come P3 e P4, oltre a Trn1 alimentato dal dispositivo Trainium.AWS

    Per utilizzare PyTorch DistributedDataParallel (DDP) nell' SageMaker IA con il backend, aggiungilo allo estimatore. torchrun distribution={"torch_distributed": {"enabled": True}} PyTorch

    Nota

    Questa opzione è disponibile per PyTorch 1.13.0 e versioni successive.

    Il seguente frammento di codice mostra un esempio di creazione di uno PyTorch stimatore SageMaker AI per eseguire l'addestramento distribuito su due ml.p4d.24xlarge istanze con l'opzione di distribuzione. torch_distributed

    from sagemaker.pytorch import PyTorch estimator = PyTorch( ..., instance_count=2, instance_type="ml.p4d.24xlarge", distribution={"torch_distributed": {"enabled": True}} # runs torchrun in the backend )

    Per ulteriori informazioni, consulta l'distributionargomento di Distributed PyTorch Training e SageMaker AI PyTorch Estimator nella documentazione di SageMaker Python SDK.

    Note per l'addestramento distribuito su Trn1

    Un'istanza Trn1 è composta da un massimo di 16 dispositivi Trainium e ogni dispositivo Trainium è composto da due. NeuronCores Per le specifiche dei dispositivi Trainium, consulta AWS Trainium Architecture nella documentazione di Neuron.AWS

    Per eseguire l'addestramento sulle istanze basate su Trainium, è sufficiente specificare il codice dell'istanza Trn1, in stringaml.trn1.*, all'argomento della classe di stima AI. instance_type SageMaker PyTorch Per trovare i tipi di istanza Trn1 disponibili, consulta AWS Trn1 Architecture nella documentazione di AWS Neuron.

    Nota

    SageMaker La formazione sulle istanze Amazon EC2 Trn1 è attualmente disponibile solo per il PyTorch framework nei AWS Deep Learning Containers for PyTorch Neuron a partire dalla versione 1.11.0. Per trovare un elenco completo delle versioni supportate di PyTorch Neuron, consulta Neuron Containers nel repository AWS Deep Learning Containers GitHub .

    Quando avvii un processo di formazione su istanze Trn1 utilizzando l'SDK SageMaker Python, l' SageMaker intelligenza artificiale preleva ed esegue automaticamente il contenitore giusto da Neuron Containers fornito da Deep Learning Containers. AWS I Neuron Containers sono preconfezionati con impostazioni e dipendenze dell'ambiente di formazione per adattare più facilmente il tuo lavoro di formazione alla SageMaker piattaforma di formazione e alle istanze Amazon Trn1. EC2

    Nota

    Per eseguire il processo di PyTorch formazione su istanze Trn1 con SageMaker AI, è necessario modificare lo script di formazione per inizializzare i gruppi di processi con il backend e utilizzare /XLA. xla PyTorch Per supportare il processo di adozione di XLA, l'SDK Neuron fornisce AWS PyTorch Neuron che utilizza XLA per effettuare la conversione delle operazioni in istruzioni Trainium. PyTorch Per informazioni su come modificare lo script di allenamento, consulta la Guida per gli sviluppatori per l'allenamento con PyTorch Neuron () nella documentazione di Neuron. torch-neuronxAWS

    Per ulteriori informazioni, consulta Distributed Training with PyTorch Neuron sulle istanze Trn1 e l'argomento di SageMaker AI PyTorch Estimator distribution nella documentazione di Python SDK. SageMaker

  • Per utilizzare MPI nell'intelligenza artificiale, aggiungilo al tuo estimatore. SageMaker distribution={"mpi": {"enabled": True}} L'opzione di distribuzione MPI è disponibile per i seguenti framework:,, e. MXNet PyTorch TensorFlow

  • Per utilizzare un server di parametri in SageMaker AI, aggiungilo distribution={"parameter_server": {"enabled": True}} al tuo estimatore. L'opzione del server dei parametri è disponibile per i seguenti framework: MXNet,, PyTorch e. TensorFlow

    Suggerimento

    Per ulteriori informazioni sull'utilizzo delle opzioni MPI e del server dei parametri per framework, utilizzate i seguenti collegamenti alla documentazione di SageMaker Python SDK.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.