Calculadora de Memória de Acumulação de Gradiente
Entradas
| Tamanho do micro-lote | 4 |
|---|---|
| Passos de acumulação | 8 |
| GPUs em paralelismo de dados | 1 |
| Ativação por amostra | 0,5 |
Calculadora de Memória de Acumulação de Gradiente
Calcule o tamanho de lote efetivo alcançado pela acumulação de gradiente e a memória de ativação que ele exige, a partir do tamanho do micro-lote, dos passos de acumulação, das réplicas de paralelismo de dados e do custo de ativação por amostra.
Entradas
Lotes
Memória
Resultados
Insira um valor para ver os resultados.
Detalhes
Memória de acumulação de gradiente
Modelos de linguagem grandes treinam melhor com lotes grandes, mas um lote grande significa muitas amostras mantidas na memória de uma vez — e a memória de ativação costuma ser a primeira coisa a estourar uma GPU. A acumulação de gradiente resolve a tensão: ela alcança um grande lote efetivo enquanto o pico de memória de ativação permanece no tamanho de um único micro-lote pequeno. Esta calculadora mostra os dois lados desse compromisso — o lote efetivo que uma configuração alcança e a memória de ativação que ela de fato mantém.
O que a acumulação de gradiente faz
Normalmente, um treinador atualiza os pesos após cada lote. Com acumulação, ele executa vários micro-lotes em sequência, soma seus gradientes e aplica um único passo do otimizador apenas quando o número desejado de micro-lotes é processado. O gradiente somado é idêntico ao que um único lote desse tamanho combinado teria produzido, então a atualização é matematicamente a mesma — apenas o momento muda. Os pesos se movem uma vez por ciclo de acumulação, em vez de uma vez por micro-lote.
Por que a memória permanece constante
O pico de memória de ativação é governado pela maior passagem direta e reversa viva em um momento, e isso é um único micro-lote. A acumulação processa um micro-lote por vez e mantém apenas uma soma corrente de gradientes, cujo tamanho corresponde aos parâmetros do modelo e não cresce com o número de passos. Assim, aumentar a contagem de acumulação eleva o lote efetivo deixando a memória de ativação intocada. Esse é todo o propósito: um grande lote efetivo em um orçamento de memória que nunca o manteria todo de uma vez.
A fórmula
Com tamanho de micro-lote , passos de acumulação , réplicas em paralelismo de dados e custo de ativação por amostra em gigabytes,
EM=b⋅a⋅g=b⋅Aonde é o tamanho de lote efetivo e é o pico de memória de ativação em uma GPU. O lote efetivo multiplica em cada réplica e em cada passo de acumulação, enquanto o termo de memória depende apenas do micro-lote.
Exemplo resolvido
Considere um micro-lote de 4 amostras, acumulado em 8 passos em uma única GPU, com cada amostra custando 0,5 GB de ativações:
EM=4×8×1=32=4×0.5=2 GBO treino se comporta como se o lote fosse 32, enquanto apenas 2 GB de ativações ficam residentes a qualquer momento. Espalhar a mesma configuração por 4 GPUs em paralelismo de dados eleva o lote efetivo para , e a memória de ativação por GPU continua sendo 2 GB.
Lendo o resultado
O tamanho de lote efetivo é o valor em relação ao qual os cronogramas de taxa de aprendizado e outros hiperparâmetros são ajustados, não o micro-lote. Note que a memória de ativação é apenas uma parte do orçamento de treinamento: o estado do otimizador, os gradientes e os próprios parâmetros geralmente dominam, e esta calculadora isola deliberadamente o termo de ativação para tornar visível o compromisso dos lotes. Para o quadro completo de memória, veja a Calculadora de VRAM para Treinamento de LLM, e para reduzir o número de parâmetros treináveis com adaptadores de baixo posto, a Calculadora de Parâmetros LoRA.
Perguntas frequentes (FAQ)
Como funciona a acumulação de gradiente?
Em vez de atualizar os pesos após cada micro-lote, o treinador executa vários micro-lotes em sequência, soma seus gradientes e aplica um único passo do otimizador assim que o número desejado de micro-lotes é alcançado.
O gradiente somado é idêntico ao que um único lote grande do mesmo tamanho total produziria, então a matemática da atualização não muda — apenas o momento difere. Os pesos se movem uma vez por ciclo de acumulação, em vez de uma vez por micro-lote.
Por que a memória permanece constante conforme os passos de acumulação aumentam?
O pico de memória de ativação é definido pela maior passagem direta e reversa mantida na memória de uma vez, que é um único micro-lote. A acumulação processa um micro-lote por vez e mantém apenas uma soma corrente de gradientes, cujo tamanho equivale aos parâmetros do modelo e não cresce com o número de passos.
Assim, dobrar os passos de acumulação dobra o lote efetivo enquanto a memória de ativação permanece inalterada — o compromisso central que torna grandes lotes efetivos viáveis em memória limitada.
O que significa tamanho de lote efetivo?
O tamanho de lote efetivo é o número de amostras que influenciam uma única atualização de pesos. Com paralelismo de dados, cada réplica contribui com seu micro-lote, e com acumulação cada réplica contribui com vários micro-lotes por vez, então o lote efetivo é o produto do micro-lote, dos passos de acumulação e do número de réplicas.
Os cronogramas de taxa de aprendizado e outros hiperparâmetros são ajustados em relação a esse valor efetivo, não ao micro-lote.
Aviso legal
Esta estimativa modela a memória de ativação apenas a partir do micro-lote e omite o estado do otimizador, os gradientes, os parâmetros e a sobrecarga do framework, que dominam a memória total de treinamento. Use-a para raciocinar sobre o compromisso dos lotes, não como um orçamento completo de memória.
Próximas sugestões
Calculadora de VRAM para Treinamento de LLM
Estime a VRAM de GPU necessária para fazer fine-tuning completo de um modelo de linguagem grande a partir do número de parâmetros, da escolha do otimizador e da memória de ativações, usando a regra do Adam em precisão mista de 16 bytes por parâmetro.