Why split V from K instead of just reusing K as the value vector?
Same topic, related formats. Practice these next.
Same topic, related formats. Practice these next.
K is shaped to be findable by queries; V is shaped to be useful content delivered after the match. Two different jobs, two different optimal representations, two separate projections.
Picture browsing a library. A book's title makes it findable on the shelf, but the title is not what you actually read once you pull the book down. The body of the book is what you came for. If every book had to use its title text as its entire content, you'd have a library where the only thing inside any book is its own name repeated. Useless. Real libraries (and real transformers) keep titles separate from contents so each can be designed for its own purpose, finding versus reading.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
4m: K's role as lookup key, V's role as content payload, the different gradient signals shaping each, why tying K = V hurts quality empirically, and how this differs from head-level sharing in MQA / GQA.
Real products, models, and research that use this idea.
What an interviewer would ask next. Try answering before peeking at the approach.
Red flags and common mistakes that signal junior thinking. Click to expand.
Believing the V projection adds non-linearity. It doesn't, V is a pure linear projection of the input. The reason for a separate V is functional separation, not non-linearity.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.