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à.
Parallelismo del contesto
Il parallelismo di contesto è un tipo di parallelismo del modello che partiziona le attivazioni del modello lungo la dimensione della sequenza. A differenza di altre tecniche di parallelismo delle sequenzeRMSNorm
input di rete LayerNorm
e tutte le attivazioni intermedie lungo la dimensione della sequenza.
SMPv2 si integra con Transformer Engine
Modelli Hugging Face Transformer compatibili con il parallelismo di contesto SMP
SMPLa v2 attualmente offre il supporto per il parallelismo di contesto per i seguenti modelli di trasformatori Hugging Face.
-
GPT-NeoX
-
Llama 2 e Llama 3
Configura il parallelismo del contesto
Imposta un valore intero per il context_parallel_degree
parametro che divide equamente il numero di GPUs nel cluster. Ad esempio, se hai un'GPUistanza a 8, usa 2, 4 o 8 per. context_parallel_degree
Si consiglia di iniziare con un context_parallel_degree
valore piccolo e aumentarlo gradualmente fino a quando il modello non si adatta alla GPU memoria con la lunghezza della sequenza di input richiesta.
I seguenti frammenti di codice mostrano come aggiungere il modulo di SMP inizializzazione torch.sagemaker.init()
allo script di training e impostare il dizionario di SMP configurazione in JSON formato Training Job Launcher seguendo il processo in due fasi introdotto in. Usa la libreria di parallelismo dei SageMaker modelli v2 Non è necessario apportare modifiche al modello o alla configurazione. PyTorch PyTorch FSDPcontext_parallel_degree
, vedi SMPparametri di configurazione delle funzionalità principali di v2.
Nel copione del tuo allenamento
Come parte del passaggio 1, inizializza lo script con torch.sagemaker.init()
to activate SMP v2 e avvolgi il tuo modello con. torch.sagemaker.transform API
A partire dalla SMP versione 2.6.0, è possibile utilizzare l'argomento cp_comm_type
per determinare quale implementazione del parallelismo di contesto utilizzare. La SMP libreria attualmente supporta due implementazioni: e. p2p
all_gather
L'p2p
implementazione utilizza chiamate di peer-to-peer invio e ricezione per l'accumulo di valori-chiave durante l'implementazione dell'attenzione e viene eseguita in modo asincrono, consentendo sovrapposizioni con l'elaborazione. all_gather
l'implementazione, invece, utilizza l'operazione collettiva e viene eseguita in modo sincrono. AllGather
import torch.sagemaker as tsm tsm.init() from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_config(..) model = tsm.transform(model, cp_comm_type="p2p")
Configurazione SMP
Come parte del passaggio 2, aggiungi il seguente parametro al dizionario di SMP configurazione per lo SageMaker PyTorch stimatore.
{ ..., # other SMP config parameters "context_parallel_degree": 2 }