Calculadora del número de parámetros de un transformer
Datos de entrada
| Capas | 32 |
|---|---|
| Tamaño oculto | 4.096 |
| Expansión feed-forward | 4 |
| Tamaño del vocabulario | 32.000 |
Calculadora del número de parámetros de un transformer
Estima el número total de parámetros de un transformer solo de decodificador a partir del número de capas, el tamaño oculto, la expansión feed-forward y el tamaño del vocabulario, con una fórmula de arquitectura de primer orden.
Datos de entrada
Arquitectura
Resultados
Introduce un valor para ver los resultados.
Detalles
Número de parámetros de un transformer
El tamaño de un modelo de lenguaje grande suele citarse como una única cifra de cabecera —siete mil millones, setenta mil millones—, pero ese número lo determinan por completo un puñado de elecciones de arquitectura. Dados el número de capas, el tamaño oculto, la expansión feed-forward y el vocabulario, el número total de parámetros se deduce de una fórmula breve. Esta calculadora aplica esa fórmula para dar una estimación de primer orden, el mismo razonamiento de servilleta que se usa para dimensionar un modelo antes de que exista un solo peso.
Dónde residen los parámetros
Casi todos los pesos de un transformer solo de decodificador se sitúan en uno de tres lugares. La subcapa de atención de cada bloque contiene cuatro matrices de pesos cuadradas —las proyecciones de consulta, clave, valor y salida—, cada una de tamaño oculto por oculto. La subcapa feed-forward contiene dos matrices que expanden el flujo oculto hacia una dimensión interna más ancha y lo proyectan de vuelta. Y, separada de la pila de capas, la tabla de embeddings de tokens guarda un vector de tamaño oculto por cada entrada del vocabulario.
Contar estos elementos da la estimación de arquitectura. El bloque de atención aporta unos valores por capa, donde es el tamaño oculto. El bloque feed-forward, que se expande a una anchura interna de , aporta unos . La tabla de embeddings aporta el tamaño del vocabulario por .
La fórmula
Con capas, tamaño oculto , multiplicador feed-forward y tamaño del vocabulario , el número total de parámetros es
N=L⋅d2⋅(4+2m)+V⋅dEl primer término reúne los pesos de atención y feed-forward por capa en todas las capas; el segundo es la tabla de embeddings. Como el término por capa escala con el cuadrado del tamaño oculto, la anchura del modelo importa mucho más que la profundidad: duplicar el tamaño oculto cuadruplica aproximadamente el número, mientras que duplicar las capas solo lo duplica.
Ejemplo resuelto
Tomemos un modelo con 32 capas, un tamaño oculto de 4096, una expansión feed-forward de cuatro y un vocabulario de 32 000 tokens. El factor por capa es , de modo que
N=32×40962×12+32000×4096=6442450944+131072000≈6,57 mil millonesLa pila de capas representa casi todo; la tabla de embeddings añade solo unos 131 millones, algo más del dos por ciento. Con la expansión habitual de cuatro, cerca de dos tercios de cada capa residen en los pesos feed-forward y un tercio en la atención.
Qué deja fuera la estimación
Es un cálculo de primer orden. Capta las matrices que dominan el total pero omite los términos pequeños: los sesgos, los valores de escala y desplazamiento de la normalización de capas y cualquier embedding de posición aprendido. En conjunto suelen quedar bastante por debajo del uno por ciento de un modelo grande, de modo que no mueven la cifra de cabecera. La estimación también supone que el embedding de entrada y la proyección de salida comparten una matriz —embeddings atados—, de modo que la tabla se cuenta una vez; un modelo con embeddings no atados lleva esa tabla dos veces.
Una vez conocido el número, este impulsa las cuestiones prácticas del despliegue. La memoria necesaria para alojar los pesos depende del número y de la precisión numérica, algo que se explora en la Calculadora de tamaño de modelo según la cuantización. La memoria necesaria para entrenar el mismo modelo, que añade el estado del optimizador y las activaciones sobre los pesos, se trata en la Calculadora de VRAM para entrenar un LLM.
Preguntas frecuentes (FAQ)
¿Qué cuenta como parámetro?
Un parámetro es un único valor de peso o sesgo aprendido que se almacena en el modelo. Las contribuciones dominantes son las matrices de pesos de las proyecciones de atención y de las capas feed-forward, más la tabla de embeddings de tokens.
Esta estimación cuenta esas matrices y la tabla de embeddings. Omite los términos pequeños —sesgos, valores de escala y desplazamiento de la normalización de capas y cualquier embedding de posición aprendido—, que en conjunto suelen representar bastante menos del uno por ciento de un modelo grande.
¿Cuánto aporta la tabla de embeddings?
La tabla de embeddings de tokens guarda un vector de tamaño oculto por cada entrada del vocabulario, de modo que contiene el tamaño del vocabulario por el tamaño oculto valores. En un modelo pequeño con un vocabulario grande esto puede ser una parte considerable del total, pero en un modelo grande los pesos de atención y feed-forward por capa dominan y el embedding pasa a ser una fracción menor.
Cuando el embedding de entrada y la proyección de salida comparten la misma matriz —embeddings atados—, la tabla se cuenta una vez en lugar de dos.
¿Las capas de atención o las feed-forward contienen más pesos?
Por capa, el bloque de atención contiene unos cuatro valores de tamaño oculto al cuadrado, de las proyecciones de consulta, clave, valor y salida, mientras que el bloque feed-forward contiene unas dos veces el multiplicador de expansión por el tamaño oculto al cuadrado.
Con la expansión habitual de cuatro, el bloque feed-forward contiene aproximadamente ocho valores de tamaño oculto al cuadrado frente a los cuatro del bloque de atención, de modo que cerca de dos tercios de cada capa residen en los pesos feed-forward.
Aviso legal
Esta es una estimación de primer orden. Capta las proyecciones de atención, los pesos feed-forward y la tabla de embeddings, pero omite los sesgos, los parámetros de normalización de capas y los embeddings de posición, y supone embeddings de entrada y salida atados. Las cifras publicadas para un modelo concreto pueden diferir en un pequeño margen.
Recomendaciones
Calculadora de tamaño de modelo según la cuantización
Estima el tamaño en disco y en memoria de un modelo de lenguaje grande a partir de su número de parámetros y la profundidad de bits de la cuantización, en gigabytes decimales y en gibibytes binarios.
Calculadora de VRAM para entrenar un LLM
Estima la VRAM de GPU necesaria para hacer fine-tuning completo de un modelo de lenguaje grande a partir de su número de parámetros, la elección del optimizador y la memoria de activaciones, usando la regla de precisión mixta con Adam de 16 bytes por parámetro.