Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Ativação e descarregamento

Modo de foco
Ativação e descarregamento - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Importante

No SMP v2.2.0, a funcionalidade de descarregamento de ativação da biblioteca de SMP não funciona. Em vez disso, use o descarregamento de PyTorch ativação nativo.

Normalmente, a passagem para frente calcula as ativações em cada camada e as mantém na memória da GPU até que termine a passagem para trás da camada correspondente. Descarregar esses tensores para a memória da CPU após o encaminhamento e recuperá-los para a GPU quando necessário pode economizar um uso substancial da memória da GPU. PyTorch suporta o descarregamento de ativações, mas a implementação faz com GPUs que fique ociosa enquanto as ativações são recuperadas da CPU durante a passagem para trás. Isso causa um grande prejuízo no desempenho ao usar o descarregamento de ativação.

O SMP v2 melhora esse descarregamento de ativação. Ele realiza uma prévia busca das ativações, antes que sejam necessárias, para que a GPU comece a repassar essas ativações. O recurso de pré-busca ajuda os progressos do treinamento a serem executados com mais eficiência sem inatividade. GPUs Isso resulta no benefício de menor uso de memória, sem degradação do desempenho.

Você pode manter os PyTorch módulos nativos para descarregar as ativações em seu script de treinamento. Veja a seguir um exemplo de estrutura de aplicação do atributo de descarregamento de ativação SMP no script. Observe que o descarregamento de ativação é aplicável somente quando usado com Ponto de verificação de ativação. Para saber mais sobre as ferramentas nativas de PyTorch ponto de verificação para descarregamento de ativação, consulte:

Você pode aplicar o recurso de descarregamento de ativação do SMP no PyTorch ponto de verificação de ativação. Isso é feito ao adicionar os parâmetros sm_activation_offloading e activation_loading_horizon ao dicionário de configuração do SMP durante Etapa 2: iniciar um trabalho de treinamento.

Os trechos de código a seguir mostram como adicionar o módulo de inicialização do SMP torch.sagemaker.init() ao seu script de treinamento e como configurar o dicionário de configuração do SMP no formato JSON para o inicializador de tarefas de treinamento, seguindo o processo de duas etapas apresentado em Use a biblioteca de paralelismo de SageMaker modelos v2. Você não precisa fazer nenhuma alteração no PyTorch modelo ou na configuração do PyTorch FSDP. Para obter mais informações sobre os parâmetros sm_activation_offloading e activation_loading_horizon, consulte Parâmetros de configuração do atributo principal do SMP v2.

Configuração do SMP

{ "activation_loading_horizon": 2, "sm_activation_offloading": True }

No script de treinamento

nota

Ao ativar o recurso de descarregamento de ativação do SMP, certifique-se de também usar a PyTorch offload_wrapper função e aplicá-la ao módulo raiz. O atributo de descarregamento de ativação do SMP usa o módulo raiz para determinar quando o encaminhamento é feito para iniciar a busca prévia.

import torch.sagemaker as tsm tsm.init() # Native PyTorch module for activation offloading from torch.distributed.algorithms._checkpoint.checkpoint_wrapper import ( apply_activation_checkpointing, offload_wrapper, ) model = FSDP(...) # Activation offloading requires activation checkpointing. apply_activation_checkpointing( model, check_fn=checkpoint_transformer_layers_policy, ) model = offload_wrapper(model)
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.