Calculadora de Tamanho Efetivo de Lote
Entradas
| Lote por dispositivo | 8 |
|---|---|
| Dispositivos com paralelismo de dados | 64 |
| Passos de acumulação | 4 |
| Comprimento da sequência | 4.096 |
Calculadora de Tamanho Efetivo de Lote
Calcule o tamanho efetivo (global) de lote para treinamento distribuído a partir do microlote por dispositivo, do número de dispositivos com paralelismo de dados e dos passos de acumulação de gradiente, além dos tokens por passo do otimizador.
Entradas
Paralelismo
Sequência
Resultados
Insira um valor para ver os resultados.
Tamanho efetivo de lote
O tamanho efetivo de lote é o número de exemplos de treinamento que contribuem para uma única atualização do otimizador. Em um dispositivo, ele equivale ao microlote, mas o treinamento distribuído espalha o trabalho por muitos aceleradores e muitas vezes soma várias passagens antes de cada mudança de pesos, de modo que o lote global que o otimizador de fato vê pode ser centenas de vezes maior do que o que cabe em um único chip. Esta calculadora reconstrói esse valor global, e os tokens que ele representa, a partir dos três multiplicadores que o produzem.
Por que o lote global importa
Quase todo cronograma de taxa de aprendizado, comprimento de aquecimento e resultado de convergência da literatura é expresso em termos do lote global, não do microlote por dispositivo. Uma equipe que escala de 8 para 64 dispositivos sem recalcular o lote efetivo altera silenciosamente a dinâmica de otimização — o mesmo código agora dá um passo 8 vezes maior por atualização — e pode divergir ou estagnar. Conhecer o lote efetivo é, portanto, um pré-requisito para ajustar a taxa de aprendizado, reproduzir uma receita publicada ou comparar duas execuções em clusters de tamanhos diferentes.
A fórmula
Três fatores independentes se multiplicam. Com microlote por dispositivo , número de réplicas com paralelismo de dados e passos de acumulação de gradiente , o lote efetivo e os tokens por passo do otimizador no comprimento de sequência são
BT=b⋅d⋅a=B⋅LCada réplica com paralelismo de dados processa seu próprio microlote e os gradientes são promediados, de modo que as réplicas multiplicam o lote. A acumulação soma passagens sucessivas antes de uma atualização, multiplicando-o de novo. A contagem de tokens é simplesmente a contagem de sequências vezes o comprimento de cada sequência.
Exemplo resolvido
Tome um microlote de 8 sequências em cada um de 64 dispositivos, com 4 passos de acumulação e um contexto de 4.096 tokens:
BT=8×64×4=2048=2048×4096=8388608O otimizador vê 2.048 sequências — cerca de 8,4 milhões de tokens — por atualização, ainda que nenhum dispositivo isolado mantenha mais de 8 sequências de cada vez. Dobrar os passos de acumulação para 8 elevaria o lote efetivo a 4.096 sem qualquer mudança na memória por dispositivo, ao custo do dobro de passagens entre atualizações.
Limites
Este modelo cobre a replicação com paralelismo de dados e a acumulação de gradiente, os dois fatores que alteram o lote global. Ignora deliberadamente o paralelismo de tensor, de pipeline e de sequência: estes dividem um único modelo ou sequência entre dispositivos para caber na memória, mas não ampliam o lote global, de modo que os dispositivos entre os quais uma réplica é fragmentada não devem ser contados em . O valor em tokens também supõe um comprimento de sequência fixo; lotes de comprimento variável ou empacotados precisam de uma contabilidade de tokens à parte. O lado de memória da escolha do microlote é coberto na Calculadora de Memória de Acumulação de Gradiente, e como a vazão escala à medida que dispositivos são acrescentados na Calculadora de Escalonamento com Paralelismo de Dados.
Perguntas frequentes (FAQ)
O que é o tamanho efetivo de lote?
O tamanho efetivo, ou global, de lote é o número de exemplos de treinamento que contribuem para uma única atualização do otimizador. No treinamento distribuído, é o microlote por dispositivo multiplicado pelo número de réplicas com paralelismo de dados e pelos passos de acumulação de gradiente, porque cada uma dessas passagens é somada antes que os pesos mudem uma vez.
É esse o valor que importa para a escala da taxa de aprendizado e para a reprodutibilidade, não o microlote menor que cabe em um dispositivo.
Por que usar acumulação de gradiente?
A acumulação de gradiente roda várias passagens direta e reversa e soma seus gradientes antes de aplicar um passo do otimizador, o que eleva o lote efetivo sem manter mais ativações em memória de uma vez. Permite que uma configuração limitada por memória reproduza o comportamento de lote grande de um cluster maior, ao custo de mais tempo de relógio por atualização.
O compromisso é vazão por memória: cada passo de acumulação é computação real, mas só ocorre uma atualização do otimizador e um conjunto de comunicação por ciclo.
Como o tamanho de lote e os tokens por passo diferem?
O tamanho de lote conta sequências, enquanto os tokens por passo contam os tokens individuais que essas sequências contêm — o lote multiplicado pelo comprimento da sequência. O planejamento de orçamento de tokens e muitos cronogramas publicados de taxa de aprendizado são expressos por token, de modo que o valor em tokens costuma ser o mais transferível.
Duas execuções com a mesma contagem de sequências, mas comprimentos de sequência diferentes, veem contagens de tokens diferentes por passo, razão pela qual ambos os números são reportados aqui.
Aviso legal
Esta calculadora cobre apenas a replicação com paralelismo de dados e a acumulação de gradiente. Não modela o paralelismo de tensor, de pipeline ou de sequência, que alteram como um lote global é dividido entre dispositivos, mas não o lote global em si. Confirme que seu framework conta microlotes e acumulação da mesma forma.
Próximas sugestões
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.