Sobes.tech
Middle — Senior

Como é calculada a parametrização do transformador (número de parâmetros em função de d_model e camadas)?

sobes.tech IA

Resposta da IA

O número de parâmetros do transformador (o número total de parâmetros) depende de vários componentes-chave, principalmente do tamanho do modelo (d_model) e do número de camadas (L).

Os principais parâmetros incluem:

  • Os pesos das camadas lineares no mecanismo de atenção (consulta, chave, valor, saída) — cada um com aproximadamente d_model × d_model.
  • Os parâmetros das camadas de normalização e codificação posicional (geralmente insignificantes em comparação com os demais).
  • Os parâmetros da rede feed-forward dentro de cada camada — geralmente duas camadas lineares com tamanhos d_model × d_ff e d_ff × d_model, onde d_ff é o tamanho da camada interna (geralmente 4 vezes maior que d_model).

Fórmula aproximada para os parâmetros de uma camada:

Parâmetros da camada ≈ 4 × (d_model × d_model) + 2 × (d_model × d_ff) + 2 × (d_ff × d_model)

Considerando que d_ff ≈ 4 × d_model, o resultado final é aproximadamente:

Parâmetros da camada ≈ 4 × d_model² + 8 × d_model² + 8 × d_model² = 20 × d_model²

Número total de parâmetros do transformador com L camadas:

Total ≈ L × 20 × d_model²

Esta é uma estimativa simplificada, não levando em conta os parâmetros de embeddings e normalização, mas fornece uma compreensão da dependência de d_model e do número de camadas.