A Study of Llama 3’s Rotary Position Embeddings
Last Updated on June 10, 2024 by Editorial Team
Author(s): Lorentz Yeung
Originally published on Towards AI.
APhoto by Önder Örtel on Unsplash
Last year, I created my own small LLM models. LLaMA 3 is a hit this year, and it made me curious to explore how LLaMA’s architecture differs from the basic Transformer model introduced in the “Attention Is All You Need” paper. After finishing a side project to recreate the inference processes of LLaMA 3 from scratch using Python, I discovered that there are four main components in LLaMA 3’s architecture that contribute to its improved performance in certain respects.
The 4 major architectural differences between LLaMA 3 and the original Transformer architecture are summarized as follows:
LLaMA 3: Uses Root Mean Square Layer Normalization (RMSNorm) for normalizing the input of each transformer sub-layer.Original Transformer: Uses Layer Normalization (LayerNorm) which normalizes inputs across the features of each layer.LLaMA 3: Utilises the SwiGLU (Swish-Gated Linear Unit) activation function in its feed-forward neural network layers. SwiGLU is known for its efficiency and better performance in certain tasks compared to the traditional ReLU.Original Transformer: Uses ReLU (Rectified Linear Unit) activation function in the feed-forward layers.LLaMA 3: Uses Rotary Position Embeddings (RoPE) to capture relative positions.Original Transformer: Uses Sinusoidal positional embedding in capturing absolute positional.LLaMA 3: Uses Byte Pair Encoding (BPE) from… Read the full blog for free on Medium.
Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.
Published via Towards AI