A seguirPróximo guia
SmoothQuant e Quantização de Ativação
Técnico
GUIA Técnico
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.
It trades extra compute for the ability to train larger models or longer sequences on the same hardware.
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.
As decisões de arquitetura impulsionam o desempenho e os custos operacionais durante anos.
A educação técnica ajuda as equipes a escolher a pilha certa, não apenas a mais nova.
Melhores escolhas de engenharia reduzem incidentes de confiabilidade na produçã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.
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
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.
Defina metas de latência, qualidade e custo antes da implementação.
Benchmark sob condições realistas de carga e dados.
Monitoramento de instrumentos para erros, desvios e impacto no usuário.
Prepare caminhos de reversão e resposta a incidentes antes de escalar.
Free newsletter
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
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
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.
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.
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.
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.
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.
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.
Continue aprendendo
Mais guias escolhidos para este tópico
A seguirPróximo guia
SmoothQuant e Quantização de Ativação
Técnico