Cómo se usa
- Copia de la configuración del modelo las capas, el tamaño oculto, las cabezas de atención y KV, el tamaño de la FFN y el del vocabulario.
- Elige FFN con compuerta o normal, RMSNorm o LayerNorm y el tipo de posiciones.
- Activa «tied» si la capa de salida reutiliza la matriz de embedding, y «sesgos» si las capas lineales los tienen.
- Lee el total y el desglose.
Fórmulas
Con dimensión de cabeza h = d_model ÷ cabezas y anchura KV k = cabezas KV × h:
- atención por capa = 2·d_model² + 2·d_model·k (Q y O, luego K y V), más 2·d_model + 2·k con sesgos;
- FFN por capa = 3·d_model·d_ff (con compuerta) o 2·d_model·d_ff (normal), más los sesgos si los hay;
- normalización por capa = 2 × d_model (RMSNorm) o 2 × 2·d_model (LayerNorm tiene además sesgo);
- embeddings = vocabulario × d_model, el doble si la salida no es tied, más posiciones × d_model con tabla aprendida;
- total = capas × parámetros por capa + embeddings + una normalización final.
Ejemplo resuelto
La forma por defecto: 32 capas, d_model 4096, 32 cabezas (dimensión 128), 8 cabezas KV (anchura KV 1024), FFN con compuerta de 14.336, RMSNorm, vocabulario de 32.000, sin tied y con posiciones rotatorias.
- atención 2 × 4096² + 2 × 4096 × 1024 = 41.943.040;
- FFN 3 × 4096 × 14.336 = 176.160.768;
- por capa, con dos normalizaciones de 4096: 218.112.000, × 32 = 6.979.584.000;
- embedding y capa de salida 2 × 32.000 × 4096 = 262.144.000; normalización final 4096.
Total 7.241.732.096 parámetros, 7,242 miles de millones, que son 14,48 GB a 16 bits.
Consejos
- En los modelos pequeños los embeddings pesan más. Con un vocabulario grande pueden ser una parte importante del total; la fila «sin embeddings» muestra el resto.
- La memoria sale del número de parámetros. Multiplica por 2 bytes para pesos de 16 bits o por 0,5 para 4 bits; la calculadora de VRAM para LLM añade la caché KV.
- Los modelos de mezcla de expertos (MoE) tienen varias FFN por capa; esta calculadora cuenta una, así que multiplica la fila FFN por el número de expertos.