GUIA Técnico

Compensações de recomputação de ativação

A recomputação de ativação (gradiente ou ponto de verificação de ativação) economiza memória da GPU durante o treinamento, descartando ativações intermediárias na passagem para frente e recomputando-as durante a passagem para trás.

  • 2 minutos de leitura
  • Última atualização
Nesta página2 minutos de leitura
  1. Visão geral
  2. Mergulho profundo
  3. Impacto Estratégico
  4. O futuro das compensações de recomputação de ativação
  5. Implementação no mundo real
  6. Riscos e guarda-corpos
  7. Roteiro de implementação
  8. Continue explorando
  9. Perguntas frequentes

Visão geral

It trades extra compute for the ability to train larger models or longer sequences on the same hardware.

Mergulho profundo

A retropropagação precisa de ativações de passagem direta para calcular gradientes, portanto, por padrão, as saídas de cada camada são armazenadas – um enorme custo de memória que aumenta com o tamanho do modelo, tamanho do lote e comprimento da sequência. A recomputação de ativação mantém apenas alguns tensores de 'pontos de verificação' (geralmente apenas limites de camada) e descarta o resto. Durante a passagem para trás, ele executa novamente a computação direta entre os pontos de verificação para regenerar as ativações descartadas sob demanda. O resultado clássico é que, com pontos de verificação colocados em cada camada sqrt(N), a memória cai para aproximadamente O(sqrt(N)) enquanto adiciona cerca de uma passagem de avanço extra (~33% mais computação). As variantes seletivas recomputam apenas operações baratas, mas com muita memória (como atenção ou abandono), enquanto armazenam em cache as operações caras, obtendo a maior parte da economia de memória com muito menos sobrecarga de recomputação.

Impacto Estratégico

Custo e orçamento

As decisões de arquitetura impulsionam o desempenho e os custos operacionais durante anos.

Decisões mais claras

A educação técnica ajuda as equipes a escolher a pilha certa, não apenas a mais nova.

Controle de qualidade

Melhores escolhas de engenharia reduzem incidentes de confiabilidade na produção.

O futuro das compensações de recomputação de ativação

A recomputação é cada vez mais automatizada e seletiva. As estruturas agora analisam a memória de cada operação e o custo do FLOP para escolher pontos de verificação ideais e combinam recomputação com descarregamento de ativação para CPU/NVMe e com estratégias de paralelismo. À medida que os comprimentos de contexto e os tamanhos dos modelos continuam crescendo, espere políticas orientadas por compilador (em PyTorch, JAX/XLA) que escolham decisões de recomputação por operação automaticamente, além de uma sobreposição mais estreita de recomputação com comunicação para que os FLOPs extras fiquem parcialmente ocultos.

Implementação no mundo real

Treinar um grande transformador que de outra forma não caberia, verificando cada bloco de camada

Usando o torch.utils.checkpoint do PyTorch para agrupar blocos de transformadores e cortar a memória de ativação

Recomputação seletiva de atenção/softmax em Megatron-LM para economizar memória com lentidão mínima

Permitir comprimentos de sequência mais longos em um orçamento fixo de GPU, recalculando ativações em vez de armazená-las

Riscos e guarda-corpos

  • A otimização de um benchmark pode ocultar fraquezas mais amplas do sistema.

  • Os custos de infraestrutura e manutenção são frequentemente subestimados.

  • As lacunas de segurança e observabilidade podem aumentar à medida que os sistemas se tornam mais complexos.

Roteiro de implementação

  1. Defina metas de latência, qualidade e custo antes da implementação.

  2. Benchmark sob condições realistas de carga e dados.

  3. Monitoramento de instrumentos para erros, desvios e impacto no usuário.

  4. Prepare caminhos de reversão e resposta a incidentes antes de escalar.

Continue explorando

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Activation Recomputation Tradeoffs quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Iniciar teste

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Perguntas frequentes

What is Activation Recomputation Tradeoffs?

A recomputação de ativação (gradiente ou ponto de verificação de ativação) economiza memória da GPU durante o treinamento, descartando ativações intermediárias na passagem para frente e recomputando-as durante a passagem para trás. Ele troca computação extra pela capacidade de treinar modelos maiores ou sequências mais longas no mesmo hardware.

O que a recomputação de ativação troca para economizar memória?

A recomputação descarta ativações armazenadas e as regenera na passagem para trás, gastando computação extra para reduzir o uso de memória.

Por que as ativações de avanço são normalmente armazenadas?

A passagem para trás usa as ativações para frente para calcular gradientes, portanto, por padrão, eles são mantidos na memória até que a passagem para trás seja executada.

Aproximadamente quanto cálculo extra a recomputação de ativação completa normalmente adiciona?

A recomputação completa executa novamente a computação direta durante a passagem para trás, adicionando aproximadamente uma passagem direta extra – na ordem de 30-40% mais computação.

Qual é a ideia por trás da recomputação seletiva (não completa)?

A recomputação seletiva tem como alvo operações que usam muita memória, mas pouca computação (como softmax ou layernorm), enquanto armazena em cache resultados GEMM caros para minimizar FLOPs desperdiçados.

Qual técnica complementar é frequentemente combinada com recomputação para economizar ainda mais memória?

O descarregamento de ativação move algumas ativações para armazenamento CPU/NVMe e é frequentemente combinado com recomputação e paralelismo para maior economia de memória.