M4-046M4: Sequences & TransformersAttention Variants (MHA / MQA / GQA)Hard
Mastery:
Attention Variants (MHA / MQA / GQA): 解释注意力与外部记忆/检索的融合(kNN-LM、RETRO)。
📐 Mathematical Definition
⚡ Executive Summary
Core Concept: 把外部语料库的表示作为额外 key/value 参与预测:kNN-LM 在输出分布上插值检索分布;RETRO 用分块交叉注意力注入检索邻居。
📌 Key Takeaways
- •kNN-LM:在词表分布层插值检索到的邻居分布
- •RETRO:在中间层用交叉注意力注入检索到的文本块
- •都能在不增参数的情况下扩展'知识'
📐 Mathematical Derivations
数学机理:<strong>核心思想</strong>——把'知识'从模型参数中部分解耦到<strong>外部可更新的存储</strong>中,通过检索在推理时注入。<strong>kNN-LM(Khandelwal 等 2020)</strong>——把训练语料的每个 token 的上下文表示(隐状态)与其目标 token 存入<strong>键值数据库</strong>;推理时用当前上下文表示检索 k 个最近邻,得到'邻居的目标 token 分布' p_kNN,再与语言模型的输出分布<strong>插值</strong>:p=λp_LM+(1−λ)p_kNN。<strong>优点</strong>——无需训练即可扩展知识(只要更新数据库)、对领域适应极有效(如把领域语料加入库);<strong>缺点</strong>——检索数据库巨大(存储与检索成本)、推理延迟增加。<strong>RETRO(Borgeaud 等 2022)</strong>——在<strong>中间层</strong>用<strong>分块交叉注意力(chunked cross-attention)</strong>注入检索结果:把输入分块(如每 64 token 一块),为每块检索若干邻居文本块,然后用交叉注意力让当前块关注这些邻居。<strong>关键效率设计</strong>——'分块'使检索与注意力都按块进行(而非每 token 检索),大幅降低检索次数与注意力成本;且检索结果在<strong>多层</strong>被复用(同一块的邻居供该块内所有位置使用)。<strong>效果</strong>——RETRO 用 25 倍少的参数达到与 GPT-3 相当的性能,且检索库可替换(便于更新知识、领域适应)。<strong>与 RAG 的区别</strong>——RAG 通常在<strong>输入层</strong>把检索文档拼进上下文(简单、通用,但受上下文长度限制);RETRO/kNN-LM 在<strong>中间层或输出层</strong>注入(可注入更多信息、但需改架构或额外数据库)。
🏭 Production Trade-offs
深度剖析与工程权衡:① <strong>'参数化 vs 非参数化'的权衡</strong>——参数化知识(在权重中)推理快但更新难(需重训/微调);非参数化知识(外部库)易更新但需检索、延迟高。两者互补,是'知识编辑/领域适应'的核心选择。② <strong>分块交叉注意力的工程价值</strong>——它把'每 token 检索'降为'每块检索',使检索次数降低 64 倍;同时把邻居注入的注意力成本控制在可接受范围。这是 RETRO 能实用的关键。③ <strong>与长上下文的关系</strong>——长上下文(把更多内容放进 KV cache)与检索(只取相关部分)是两条竞争路线;检索在'知识量大但相关部分少'时更经济,长上下文在'需要全局连贯理解'时更优。④ <strong>与'记忆层'的关系</strong>——同类思路还有 Memory Transformer、Memorizing Transformer(用外部记忆 + 近似 kNN 注意力)、以及 LLM 的'工具调用检索'(更工程化)。⑤ <strong>实践现状</strong>——RAG 因'不改架构、易实现'成为工业主流;kNN-LM/RETRO 更多出现在研究或特定场景(如需要极致的领域适应且可接受延迟)。⑥ <strong>面试要点</strong>——被问'如何让模型掌握新知识',应给出'<strong>微调(参数化)vs 检索增强(非参数化)vs 知识编辑(定位修改)</strong>'三条路线,并说明'kNN-LM 在输出层插值、RETRO 在中间层分块交叉注意力、RAG 在输入层拼接'的层次差异;这是'知识管理'方向的高分回答。
⚠️ Common Interview Pitfalls
- ✕把 kNN-LM 与 RAG 混为一谈(前者在分布层插值)
- ✕忽略分块检索对成本的降低
🎯 Interviewer Follow-ups
- ?kNN-LM 与 RAG 的差异?
- ?RETRO 的分块交叉注意力为什么高效?
📚
Associated Knowledge Base Guides & Mindmaps
Explore the comprehensive technical article, exam cards, and global architecture tree.