GLU dzieli wejście na dwie ścieżki: jedna przechodzi przez funkcję aktywacji (bramkę), druga jest mnożona przez wyjście bramki element-wise. Warianty takie jak SwiGLU (stosowany w LLaMA, Gemini) łączą bramkowanie z aktywacją Swish.
Standardowe warstwy feed-forward w transformerach używają prostych aktywacji (ReLU, GELU). GLU wprowadza mechanizm bramkowania, który selektywnie przepuszcza informacje, poprawiając jakość i efektywność modelu.
GLU wymaga dwóch równoległych projekcji zamiast jednej — przy stałym rozmiarze modelu trzeba zmniejszyć rozmiar ukryty FFN o ~√2 żeby utrzymać ten sam budżet parametrów.
Klasyczna wersja GLU z sigmoid bramką może stłumić gradienty w głębokich sieciach — dlatego warianty SwiGLU i GeGLU (z SiLU/GELU) są preferowane w nowoczesnych LLM.
GLU/SwiGLU to operacje macierzowe — w pełni akcelerowane przez Tensor Cores na GPU NVIDIA (A100/H100). Fused kernel implementacje (np. w FlashAttention-2) redukują overhead pamięci.