Una capa lineal con dimensión de entrada 4096 y dimensión de salida 4096 multiplica una matriz de entrada (batch_size × 4096) por una matriz de pesos (4096 × 4096), produciendo una salida (batch_size × 4096). Cada elemento de salida es el producto punto de una fila de entrada y una columna de peso: 4096 multiplicaciones y 4095 sumas. Para un ejemplo, eso son 4096 × 4096 ≈ 16.8 millones de operaciones de multiplicación-suma. Para una sola capa. Un Transformer de 32 capas hace esto docenas de veces por capa.
La multiplicación de matrices es "vergonzosamente paralela": cada elemento de salida puede calcularse independientemente. Una CPU los calcula secuencialmente (rápida por elemento, pero serial). Una GPU calcula miles simultáneamente (más lenta por elemento, pero masivamente paralela). Una NVIDIA H100 realiza ~1000 TFLOP/s de multiplicación de matrices FP16 — aproximadamente 1 cuatrillón de multiplicaciones-sumas por segundo. Este paralelismo es la razón completa por la que el deep learning se volvió práctico.
GEMM (General Matrix Multiply) es tan central que los fabricantes de hardware la optimizan obsesivamente. Los CUDA cores están diseñados para matmul. Los Tensor Cores (NVIDIA) realizan multiplicaciones de matrices 4×4 en un solo ciclo de reloj. Toda la jerarquía de memoria (registros, memoria compartida, caché L1/L2, HBM) está organizada para mantener los datos fluyendo hacia las unidades de matmul. Cuando la gente dice que la inferencia de IA está "limitada por el ancho de banda de memoria", quiere decir que el hardware puede multiplicar más rápido de lo que puede leer las matrices de la memoria.