Calculadora de Número de Parâmetros do Transformer
Entradas
| Camadas | 32 |
|---|---|
| Tamanho oculto | 4.096 |
| Expansão feed-forward | 4 |
| Tamanho do vocabulário | 32.000 |
Calculadora de Número de Parâmetros do Transformer
Estime o número total de parâmetros de um transformer apenas-decodificador a partir do número de camadas, do tamanho oculto, da expansão feed-forward e do tamanho do vocabulário, com uma fórmula de arquitetura de primeira ordem.
Entradas
Arquitetura
Resultados
Insira um valor para ver os resultados.
Detalhes
Número de parâmetros do Transformer
O tamanho de um modelo de linguagem grande costuma ser citado como um único número de destaque — sete bilhões, setenta bilhões —, mas esse valor é determinado inteiramente por um punhado de escolhas arquiteturais. Dados o número de camadas, o tamanho oculto, a expansão feed-forward e o vocabulário, o número total de parâmetros segue de uma fórmula curta. Esta calculadora aplica essa fórmula para dar uma estimativa de primeira ordem, o mesmo raciocínio de verso de envelope usado para dimensionar um modelo antes de existir qualquer peso.
Onde os parâmetros ficam
Quase todo peso em um transformer apenas-decodificador fica em um de três lugares. A subcamada de atenção de cada bloco contém quatro matrizes de peso quadradas — as projeções de consulta, chave, valor e saída —, cada uma de tamanho oculto por oculto. A subcamada feed-forward contém duas matrizes que expandem o fluxo oculto para uma dimensão interna mais larga e o projetam de volta. E, à parte da pilha de camadas, a tabela de embeddings de tokens armazena um vetor de tamanho oculto para cada entrada do vocabulário.
Contar isso dá a estimativa de arquitetura. O bloco de atenção contribui com cerca de valores por camada, onde é o tamanho oculto. O bloco feed-forward, expandindo para uma largura interna de , contribui com cerca de . A tabela de embeddings contribui com o tamanho do vocabulário vezes .
A fórmula
Com camadas, tamanho oculto , multiplicador feed-forward e tamanho do vocabulário , o número total de parâmetros é
N=L⋅d2⋅(4+2m)+V⋅dO primeiro termo reúne os pesos de atenção e feed-forward por camada em todas as camadas; o segundo é a tabela de embeddings. Como o termo por camada escala com o quadrado do tamanho oculto, a largura do modelo importa muito mais do que a profundidade: dobrar o tamanho oculto quase quadruplica a contagem, enquanto dobrar as camadas apenas a dobra.
Exemplo resolvido
Considere um modelo com 32 camadas, tamanho oculto de 4096, expansão feed-forward de quatro e um vocabulário de 32.000 tokens. O fator por camada é , então
N=32×40962×12+32000×4096=6442450944+131072000≈6,57 bilho˜esA pilha de camadas responde por quase tudo; a tabela de embeddings adiciona apenas cerca de 131 milhões, pouco mais de dois por cento. Com a expansão comum de quatro, cerca de dois terços de cada camada ficam nos pesos feed-forward e um terço na atenção.
O que a estimativa deixa de fora
Esta é uma contagem de primeira ordem. Ela captura as matrizes que dominam o total, mas omite os termos pequenos: vieses, os valores de escala e deslocamento da normalização de camada e quaisquer embeddings de posição aprendidos. Juntos, eles costumam ficar bem abaixo de um por cento de um modelo grande, então não alteram o valor de destaque. A estimativa também assume que o embedding de entrada e a projeção de saída compartilham uma matriz — embeddings amarrados —, de modo que a tabela é contada uma vez; um modelo com embeddings não amarrados carrega essa tabela duas vezes.
Uma vez conhecida a contagem, ela impulsiona as questões práticas da implantação. A memória necessária para manter os pesos depende da contagem e da precisão numérica, explorada na Calculadora de Tamanho do Modelo por Quantização. A memória necessária para treinar o mesmo modelo, que adiciona o estado do otimizador e as ativações sobre os pesos, é coberta na Calculadora de VRAM para Treinamento de LLM.
Perguntas frequentes (FAQ)
O que conta como um parâmetro?
Um parâmetro é um único valor de peso ou viés aprendido armazenado no modelo. As contribuições dominantes são as matrizes de peso das projeções de atenção e das camadas feed-forward, mais a tabela de embeddings de tokens.
Esta estimativa conta essas matrizes e a tabela de embeddings. Ela omite os termos pequenos — vieses, valores de escala e deslocamento da normalização de camada e quaisquer embeddings de posição aprendidos —, que juntos costumam representar bem menos de um por cento de um modelo grande.
Quanto a tabela de embeddings contribui?
A tabela de embeddings de tokens armazena um vetor de tamanho oculto para cada entrada do vocabulário, então ela guarda o tamanho do vocabulário vezes o tamanho oculto valores. Para um modelo pequeno com um vocabulário grande, isso pode ser uma parcela considerável do total, mas para um modelo grande os pesos de atenção e feed-forward por camada dominam e o embedding se torna uma fração menor.
Quando o embedding de entrada e a projeção de saída compartilham a mesma matriz — embeddings amarrados —, a tabela é contada uma vez, e não duas.
As camadas de atenção ou feed-forward contêm mais pesos?
Por camada, o bloco de atenção contém cerca de quatro valores de tamanho-oculto-ao-quadrado das projeções de consulta, chave, valor e saída, enquanto o bloco feed-forward contém cerca de duas vezes o multiplicador de expansão vezes tamanho-oculto-ao-quadrado.
Com a expansão comum de quatro, o bloco feed-forward contém cerca de oito valores de tamanho-oculto-ao-quadrado contra os quatro do bloco de atenção, então cerca de dois terços de cada camada ficam nos pesos feed-forward.
Aviso legal
Esta é uma estimativa de primeira ordem. Ela captura as projeções de atenção, os pesos feed-forward e a tabela de embeddings, mas omite vieses, parâmetros de normalização de camada e embeddings de posição, e assume embeddings de entrada e saída amarrados. As contagens publicadas para um modelo específico podem diferir por uma pequena margem.
Próximas sugestões
Calculadora de Tamanho do Modelo por Quantização
Estime o tamanho em disco e em memória de um grande modelo de linguagem a partir da contagem de parâmetros e da largura de bits da quantização, em gigabytes decimais e gibibytes binários.
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.