Defend untying the output head: what does an extra ~500M parameters at the tail of the stack buy?
An 8B-model team wants to save ~500M parameters by tying the input embedding to the output unembedding head. Explain what they would lose, and why Llama-3 made the opposite choice.
The team would save ~525M params (vocab 128k * d_model 4096) by tying input and output, but the dedicated output head learns a different distribution than the input embedding because they receive structurally
Picture a giant Spanish-English dictionary that the model uses two ways. At the input end, it flips the dictionary open to look up 'what does this Spanish word mean'. At the output end, it uses the same dictionary backwards to score 'how Spanish-like is this English meaning'. Tying says: one dictionary serves both jobs and saves shelf space. Untying says: buy two dictionaries, one tuned for lookups and one tuned for scoring. At small scale, one shared book is fine. At frontier scale, a translator who only has to look words up is sharper than one who has to also score sentences with the same book. Llama-3 hired two dictionaries.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
This question lives in the gap between 'memorized the Llama-3 architecture' and 'can defend an engineering choice'. The 525M parameter savings sound real and significant in isolation. The senior move is to recognize that the savings are small relative to total 8B model size, that the quality lift is small but consistent at frontier scale, and that Meta deliberately flipped this default between Llama-2 7B (tied) and Llama-3 8B (untied) because at modern quality levels the trade is favorable.
The proposed save and what it actually costs
The save. The input embedding matrix W_in has shape (vocab, d_model). For Llama-3 8B's vocab of 128,256 and d_model of 4096, that is 524M parameters. Tying enforces W_out = W_in^T, so the output head reuses this same matrix transposed. Net savings: 524M params, or ~6.5% of an 8B model.
The cost. The input embedding and output head are mathematically dual operations but their training dynamics are very different. The input embedding's row for token i receives a gradient only when token i appears in the input batch. The output head's row for token i receives a gradient on EVERY prediction step (cross-entropy loss touches every vocab logit). Tying forces one matrix to serve both gradient signals.
At small scale, the compromise is fine: the matrix is a large fraction of the model and the parameter savings dominate. At 8B+ scale, the matrix has shrunk to a manageable fraction (~6.5%) and the compromise's quality cost becomes visible: typically 0.5-1 benchmark point on standard eval suites.
This is why Meta untied between Llama-2 7B (tied) and Llama-3 8B (untied). The Llama-3 technical report attributes part of the quality lift to this change.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
| Aspect | Tie (proposed) | Untie (Llama-3 actual) |
|---|---|---|
| Param count vs Llama-3 8B baseline | Saves 524M (~6.5% of model) | Costs 524M extra |
| Input embedding gradient | Mixed (lookup + scorer signals) | Pure lookup signal |
| Output head gradient | Mixed (scorer + lookup signals) | Pure similarity-scorer signal |
| Quality at 8B scale | Slight regression (-0.5 to -1 point) | Baseline (no regression) |
| Serving memory | ~1GB saved in bf16 embed | ~1GB extra in bf16 embed |
| Aligns with 2026 frontier convention | No | Yes |
Real products, models, and research that use this idea.
- Llama-3 8B unties: 524M extra params, attributed quality lift in the technical report.
- Llama-2 70B (July 2023) was Meta's first untied model; Llama-2 7B and 13B were still tied. The threshold sat at 70B for that generation.
What an interviewer would ask next. Try answering before peeking at the approach.
QIf you have 525M extra parameters to spend at 8B, why spend them on the output head specifically? Why not add an extra transformer block (~250M params per Llama-3-style block)?
An extra block costs compute on every forward and backward pass (additional layer = additional attention + FFN compute everywhere). Untying only costs the one-time matmul at the head; the per-layer block compute is unaffected. The output head spend is cheaper per param of net effect.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Treating tying purely as a parameter-savings decision. It is also a representational constraint: forcing one matrix to serve two different gradient signals.
60 second bullets to scan on the way to the call.
What the input embedding and output head each do (lookup vs similarity scoring)
Why their gradient signals are structurally different (sparse vs dense)
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.