SwiGLU es una variante de la función de activación Gated Linear Unit (GLU) que incorpora la función de activación Swish. En su forma más básica, una capa SwiGLU toma una entrada 'x', la divide en dos partes, 'x1' y 'x2', y aplica una transformación lineal a cada una. Luego, 'x1' se pasa a través de la función Swish (x * sigmoid(x)) y el resultado se multiplica elemento a elemento por 'x2'. Matemáticamente, se expresa como (W_1 x) ⊙ Swish(W_2 x), donde W_1 y W_2 son matrices de pesos y ⊙ denota la multiplicación elemento a elemento. Esta arquitectura de compuerta permite que la red controle el flujo de información, lo que puede conducir a una mejor capacidad de modelado y una mayor eficiencia en el aprendizaje.
SwiGLU ha ganado una tracción significativa en el campo del procesamiento del lenguaje natural (NLP), particularmente en la arquitectura de modelos de lenguaje grandes (LLMs) basados en Transformers. Es una componente clave en la arquitectura de modelos de vanguardia como LLaMA (Large Language Model Meta AI) de Meta, PaLM (Pathways Language Model) de Google y Mistral AI. Estos modelos utilizan SwiGLU en sus bloques de alimentación (feed-forward networks) dentro de cada capa del Transformer, reemplazando las funciones de activación más tradicionales como ReLU o GeLU. Su adopción en estos sistemas de alto rendimiento subraya su eficacia en la mejora de la calidad y la velocidad de convergencia de los modelos.
Para un arquitecto de sistemas, la elección de SwiGLU es una decisión estratégica que impacta directamente en el rendimiento y la eficiencia de los modelos de IA. Al integrar SwiGLU, se puede esperar una mejora en la calidad del modelo y una convergencia más rápida durante el entrenamiento, lo que se traduce en un menor tiempo de desarrollo y potencialmente en un menor costo computacional a largo plazo. Sin embargo, esto puede venir con un ligero aumento en la complejidad computacional por operación en comparación con funciones más simples como ReLU, aunque a menudo se compensa con la reducción de las épocas de entrenamiento necesarias. La decisión de usar SwiGLU debe sopesarse contra los requisitos de latencia y throughput en inferencia, así como la disponibilidad de hardware optimizado para estas operaciones. Es una elección que prioriza la calidad del modelo y la eficiencia del entrenamiento sobre la simplicidad computacional bruta de las funciones de activación más antiguas.