Module 2.4 — The Attention Mechanism

The actual secret sauce — why "Attention Is All You Need" changed everything


Start With a Simple Sentence

Read this sentence:

"The animal didn't cross the street because it was too tired."

One question — what does "it" refer to?

The animal? Or the street?

You instantly knew — the animal. Streets don't get tired.

But think about HOW you knew. You didn't just read "it" in isolation. Your brain automatically connected "it" to "animal" — because "tired" makes sense for animals, not streets.

Your brain paid more attention to "animal" than "street" when figuring out what "it" means.

This is exactly what the Attention Mechanism does — but inside a neural network, with numbers.


The Core Idea — One Sentence

Attention lets every token look at every other token and decide how much to focus on each one.

That's it. That's the whole idea.

Now let's understand exactly how it works.


The Problem Attention Solves

Before Attention — each word was processed somewhat independently. The model struggled to connect words that were far apart in a sentence.

"The trophy didn't fit in the suitcase 
 because it was too big."

"it" is 8 words away from "trophy." Old models would lose that connection. They'd struggle to figure out what "it" refers to.

Attention solves this by letting "it" directly look at "trophy" — no matter how far apart they are.

Distance doesn't matter in Attention. Every token can directly connect to every other token.


How Attention Actually Works — Simply

Let's use a simple example sentence:

"Arjun ate the pizza because he was hungry"

Focus on the word "he."

The model needs to figure out — who is "he"?

With Attention, "he" gets to look at every other word and assign an attention score:

"he" looks at:

"Arjun"   → HIGH attention  (0.82) ← most likely "he" = Arjun
"ate"     → low attention   (0.05)
"the"     → very low        (0.01)
"pizza"   → low attention   (0.04)
"because" → very low        (0.01)
"he"      → itself          (0.02)
"was"     → low attention   (0.02)
"hungry"  → medium attention(0.03)

Total = 1.0 (always adds up to 1 — like percentages)

"he" puts 82% of its attention on "Arjun."

Now the model knows — "he" most likely refers to "Arjun."

The attention scores are learned during training — the model figured out on its own that pronouns should pay attention to nearby nouns.


The Three Players — Query, Key, Value

This is where most explanations get complicated. We'll keep it simple.

Inside Attention, every token gets turned into three things:

Every token gets:

Q → Query   "What am I looking for?"
K → Key     "What do I contain?"
V → Value   "What information do I actually give?"

Think of it like a search engine:

You searching Google:
Query   = what you type in the search bar
Key     = the titles/descriptions of web pages
Value   = the actual content of those web pages

Attention works the same way:
Each token's Query searches against all other tokens' Keys
The match score decides how much of each token's Value to use

A Real Life Analogy — The Library

Imagine you're in a library looking for information about "cats."

YOU         → Query    ("I'm looking for: cats")

Every book has:
→ Key       (the title and description on the spine)
→ Value     (the actual content inside)

You scan the spines (Keys):
"Encyclopedia of Animals"  → HIGH match with your Query
"Cat Care Guide"           → HIGH match
"History of Rome"          → LOW match
"Pizza Recipes"            → NO match

You spend most time reading (attending to):
"Encyclopedia of Animals"  → gives you lots of info (Value)
"Cat Care Guide"           → gives you specific info (Value)
"History of Rome"          → you barely open it
"Pizza Recipes"            → you ignore completely

This is exactly what Attention does — for every single token, with every other token, all at the same time.


Multi-Head Attention — Looking From Multiple Angles

Here's something that makes Transformers even more powerful.

The model doesn't run Attention just once. It runs it multiple times in parallel — each time looking for different types of relationships.

This is called Multi-Head Attention.

Same sentence: "Arjun ate the pizza because he was hungry"

Head 1 → focuses on: who is doing what?
         (subject-verb relationships)
         "Arjun" ←→ "ate"

Head 2 → focuses on: pronoun references
         "he" ←→ "Arjun"

Head 3 → focuses on: what was eaten?
         "ate" ←→ "pizza"

Head 4 → focuses on: cause and effect
         "hungry" ←→ "because" ←→ "ate"

Head 5 → focuses on: articles and nouns
         "the" ←→ "pizza"

Each head learns to pay attention to a different type of linguistic relationship — all at the same time.

Then all the results from all heads get combined into one rich understanding.

Multi-Head Attention output:
A deep understanding of ALL relationships 
in the sentence simultaneously

GPT-3 uses 96 attention heads per layer. Across 96 layers. That's a massive amount of relationship-finding happening at once.


Self-Attention vs Cross-Attention

Two types of Attention you'll hear about:

Self-Attention — tokens in the same sequence attend to each other.

Input: "The cat sat on the mat"

Every word attends to every other word 
in the SAME sentence.

"cat" looks at "The", "sat", "on", "the", "mat"
"sat" looks at "The", "cat", "on", "the", "mat"
...etc

This is what builds understanding of the input.

Cross-Attention — tokens from one sequence attend to tokens from another sequence.

Used in translation:

English input: "Hello, how are you?"
French output being generated: "Bonjour, comment..."

"comment" (French) attends to "how" (English)
because they correspond to each other

For LLMs doing text generation — Self-Attention is the main one you need to understand.


Visualizing Attention — What the Model Actually Sees

Researchers have built tools that visualize which words attend to which. Here's what they find:

Sentence: "The trophy didn't fit in the suitcase 
           because it was too big"

Attention on word "it":

"The"       ░░░░░░░░░░  (low)
"trophy"    ████████░░  (HIGH) ← model correctly identifies
"didn't"    ░░░░░░░░░░  (low)      "it" refers to "trophy"
"fit"       ░░░░░░░░░░  (low)
"in"        ░░░░░░░░░░  (low)
"the"       ░░░░░░░░░░  (low)
"suitcase"  ░░░░░░░░░░  (low)
"because"   ░░░░░░░░░░  (low)
"it"        ░░░░░░░░░░  (itself)
"was"       ░░░░░░░░░░  (low)
"too"       ░░░░░░░░░░  (low)
"big"       ██░░░░░░░░  (medium) ← "big" helps figure out "it"

The model learned — completely on its own — that "it" should pay most attention to "trophy" in this context.


Why This Was Revolutionary

Before Attention — connecting words far apart in a sentence was hard.

After Attention — any word can directly connect to any other word regardless of distance.

Before Attention:
"The old man who lived next to the park 
 where children played every afternoon 
 suddenly fell."

Who fell? The model had trouble connecting 
"fell" back to "man" — too many words in between.

After Attention:
"fell" directly attends to "man" with high score
Distance doesn't matter — direct connection every time

This is why the paper was called "Attention Is All You Need" — they showed that you don't need complex recurrent networks. Just Attention, done right, was enough to beat everything.


How Attention Builds Through Layers

Remember — the Transformer has many layers. Attention runs in EVERY layer.

Layer 1 Attention:
→ Learns basic grammar relationships
→ "the" attends to the noun it modifies

Layer 2 Attention:
→ Learns slightly deeper patterns
→ Subject attends to its verb

Layer 5 Attention:
→ Pronoun resolution
→ "he/she/it" attends to what they refer to

Layer 20 Attention:
→ Complex semantic relationships
→ "bank" attends to context words to determine meaning

Layer 96 Attention:
→ Very deep reasoning
→ Complex logical and factual relationships

Each layer's Attention builds on the previous layer's output. By the final layer — the model has an incredibly rich understanding of the text.


Attention and the Context Window — The Connection

Here's something important for your applications.

Attention is run between every pair of tokens in the context window.

Context window with N tokens:
Attention calculations = N × N

100 tokens   → 10,000 calculations
1,000 tokens → 1,000,000 calculations
10,000 tokens → 100,000,000 calculations

This is why longer context windows are expensive and slow — the amount of computation grows with the square of the number of tokens.

128,000 token context window = 128,000 × 128,000 = 16 billion attention calculations per layer.

This is why large context models cost more to run. Now you know exactly why.


The Complete Flow — Everything Together

Let's put the last four modules together into one clean picture:

You type: "What does 'bank' mean in this sentence: 
           I walked to the river bank"

Step 1 — Tokenization (Module 2.1)
Text → ["What", " does", " bank", " mean", ...]

Step 2 — Embeddings (Module 2.2)  
Each token → list of 1536 numbers
"bank" starts with a generic "bank" embedding

Step 3 — Transformer Layers (Module 2.3)
Many layers process the embeddings

Step 4 — Attention (this module)
In each layer, "bank" runs Attention:
→ "bank" attends to "river" → HIGH score
→ "bank" attends to "money" → not present, so N/A
→ "bank" attends to "walked" → medium score

After Attention:
"bank" embedding is now updated to reflect
RIVER bank meaning — not money bank

Step 5 — Output
Model generates: "In this sentence, 'bank' 
refers to the side of a river..."

Attention is what allows the same word "bank" to mean different things in different contexts. The embedding gets updated by Attention at each layer — shaped by the surrounding words.


Why This Matters for RAG and Agents

When we get to Phase 5 — RAG — you'll see this directly.

When a user asks a question, we convert it to an embedding and search for similar document chunks. The quality of that embedding — how well it captures meaning — depends entirely on Attention.

User question: "What are the side effects of aspirin?"

The embedding of this question captures:
- "side effects" → medical context (high attention to "aspirin")
- "aspirin"      → medication (high attention to "side effects")
- Combined meaning: looking for medical risk information

This rich embedding finds the RIGHT document chunks.

Without Attention — the embedding would be shallow. With Attention — the embedding deeply captures meaning and context.


3-Line Summary

  1. Attention lets every token look at every other token and assign a score — how much should I focus on you right now — which lets the model understand relationships between any words regardless of distance.
  2. Multi-Head Attention runs this process many times in parallel — each head learning different types of relationships like pronoun references, subject-verb connections, or cause and effect.
  3. Attention is what makes the same word mean different things in different contexts — "bank" near "river" gets a different final embedding than "bank" near "money" — and this context-awareness is what makes LLMs powerful.

Module 2.4 — Complete ✅

Phase 2 is done. 🎉

You now understand what's actually happening inside an LLM:

Text → Tokens → Embeddings → Transformer 
→ Attention (many layers) → Output tokens → Text

Coming Up — Phase 3: Embeddings Deep Dive

Module 3.1 — What is an Embedding and Why Does it Exist

Phase 2 gave you a basic intro to embeddings. Now we go deep. This entire phase is dedicated to embeddings — because they are the foundation of everything we'll build. RAG, vector databases, similarity search — it all runs on embeddings. By the end of Phase 3 you'll feel embeddings, not just understand them.

No comments:

Post a Comment

Phase 1 — Module 1.10: Installing Themes & Plugins — Concepts & Best Practices

Part 1 — Themes What is a Theme? A theme controls the visual appearance of your WordPress site. It determines: Layout of every page Typog...