SwiGLU
Por qué importa
En profundidad
FFN estándar: FFN(x) = W2 · GELU(W1 · x). Dos matrices de pesos, una activación. FFN con SwiGLU: SwiGLU(x) = W2 · (SiLU(W1 · x) ⊗ W3 · x). Tres matrices de pesos, un mecanismo de compuerta. La compuerta (W3 · x) controla qué pasa, permitiendo a la red suprimir o amplificar selectivamente diferentes características. Para mantener el conteo de parámetros constante, la dimensión intermedia se reduce típicamente de 4×model_dim a (8/3)×model_dim.
Por qué ayuda la compuerta
La compuerta da a la red una interacción multiplicativa que las activaciones estándar no tienen. Las activaciones estándar aplican una no linealidad fija. La compuerta aplica una no linealidad aprendida y dependiente de la entrada. Esta expresividad adicional ayuda a la red a aprender funciones más complejas por capa, lo que significa que necesitas menos capas (o capas más pequeñas) para un rendimiento equivalente. Shazeer (2020) demostró que las variantes GLU superan consistentemente al FFN estándar en todos los tamaños de modelo.
La familia GLU
SwiGLU es una de varias variantes GLU: GeGLU (usa GELU en lugar de SiLU), ReGLU (usa ReLU) y el GLU original (usa sigmoid). SwiGLU y GeGLU rinden de manera similar y ambos superan a ReGLU. La elección entre ellos es mayormente empírica — SwiGLU se ha convertido en el estándar por convención (LLaMA lo adoptó, otros siguieron) en lugar de una superioridad teórica clara sobre GeGLU.