标签题目
注意力机制相关面试题
注意力机制中为什么要计算 Q 和 K 的相似度?
注意力机制计算 Q 和 K 的相似度,是为了让每个位置根据当前查询目标,从所有候选位置中动态分配信息权重。Q 表示当前位置想找什么,K 表示每个位置能被什么条件匹配,相似度越高,对应 V 的信息越应该被聚合进当前表示。
Transformer 中 Q、K、V 分别表示什么?
Transformer 中的 Q、K、V 分别是 Query、Key、Value,是注意力机制对输入向量做三组线性变换得到的表示。Q 用来发起查询,K 用来被匹配,Q 与 K 的相似度决定关注权重,V 承载最终被加权汇聚的信息。
mask attention是如何实现的?
Mask attention 的核心是在计算 attention 权重前,对不允许关注的位置加上一个极小值,使这些位置经过 softmax 后权重接近 0。它常用于因果语言建模、padding 屏蔽、局部注意力和结构化可见性约束。
同题还出现在 1 个公司岗位
Self attention的公式是什么,为什么要除以sqrt(dk)?
Self-attention 的常见公式是 Attention(Q,K,V)=softmax(QK^T/sqrt(dk))V。除以 sqrt(dk) 是为了控制点积分数的方差,避免维度较大时 logits 过大导致 softmax 饱和、梯度变小、训练不稳定。
Attention如何计算?
Attention 的核心是用 query 和 key 计算相关性权重,再用这些权重对 value 做加权求和。Transformer 中常见的是 scaled dot-product attention:softmax(QK^T / sqrt(dk))V,多头注意力则并行学习多组关系。
Self-Attention 中为什么需要 Softmax?
Self-Attention 中 Softmax 的作用是把相似度分数转换成归一化注意力权重,让模型用概率分布对 value 做加权聚合。
Self-Attention 中为什么要做 QKV 线性变换?
QKV 线性变换让同一个输入表示分别投影到查询、键和值三个语义空间,使 Attention 能学习匹配关系和被聚合内容,而不是用原始 embedding 直接相乘。
Transformer 的主要结构和流程是什么?
Transformer 的主线是把序列输入转为 token embedding 和位置编码,经过多层 self-attention 与前馈网络建模上下文,最后输出上下文表示或逐 token 生成结果。
Transformer 相比之前的模型为什么有这么大的提升?
Transformer 的提升主要来自 self-attention 对长距离依赖的直接建模、更强并行训练能力、多头表示学习,以及可扩展到大数据和大模型规模的结构。
Encoder 和 Decoder 中的 Attention 有什么区别?
Encoder 和 Decoder 中 Attention 的核心区别在于可见信息、mask 约束和信息来源不同:Encoder 做双向理解,Decoder 做自回归生成并可能交叉关注 Encoder 输出。
同公司岗位有 2 条面经记录
长上下文扩展技术如 YaRN 应如何评测效果,而不只看最大上下文长度?
这题考长上下文扩展的评测方法,回答重点是不能只看最大 token 长度,还要验证检索、推理、稳定性、成本和短上下文回归。
从 MHA 到 MLA,注意力机制为什么要改进,DeepSeek MLA 解决什么问题?
这题考注意力机制从效果优先到推理效率优先的演进,重点是 KV cache 压力、MHA/MQA/GQA/MLA 的取舍和工程评估。
同题还出现在 1 个公司岗位
Q-former 和 Q-fusion 在多模态大模型中有什么区别,分别如何完成视觉-语言交互?
这题考多模态大模型里视觉特征如何和语言模型交互,回答重点是 Q-Former 的查询瓶颈、Q-fusion 的融合位置、跨注意力机制、训练信号和信息压缩取舍。
如何用代码实现 Multi-Head Cross-Attention,Q/K/V 的输入维度如何对齐?
这题考手写 Multi-Head Cross-Attention 的维度理解和实现顺序,回答重点是 Q 来自目标序列,K/V 来自条件序列,以及多头拆分、mask 和输出合并。
Transformer 中绝对位置编码和相对位置编码如何实现,各自适合什么场景?
这题考 Transformer 位置信息注入方式,重点是绝对位置编码直接表示当前位置,相对位置编码在注意力中建模 token 间距离和方向。
同题还出现在 1 个公司岗位
给定输入 shape 为 (b, s, h),如何估算 Multi-Head Attention 的计算量?
这题考给定输入 shape 为 (b, s, h) 时如何估算 MHA 计算量,回答重点是 QKV 投影、注意力矩阵、加权求和和输出投影,其中长序列瓶颈来自 O(b s^2 h)。
FlashAttention 的核心原理是什么,为什么能降低长序列 attention 的显存和 IO 开销?
这题考 FlashAttention 的 IO-aware 原理,回答重点是它不改变标准 attention 数学结果,而是通过分块、在线 softmax 和重计算减少显存读写。
同题还出现在 1 个公司岗位
LLaMA 这类大模型的输入长度为什么不能无限增长?位置编码、注意力/KV Cache 成本和训练长度分布分别带来哪些限制?
这题考候选人能否从 Transformer 机制解释输入长度边界:位置编码决定模型如何理解顺序,注意力和 KV Cache 决定计算与显存成本,训练长度分布决定长上下文泛化是否可靠。
Transformer 和 CNN 的核心区别是什么,在视觉任务中如何从局部归纳偏置、全局建模、数据规模和计算成本做选择?
这题考的是能否把 CNN 和 Transformer 的差异讲到建模假设与工程选择:CNN 强局部归纳偏置、参数共享和高效滑动计算,Transformer 强全局关系建模和可扩展表征但更依赖数据与算力。
多头注意力相比单头注意力有什么优势,各个 head 的输出如何拼接并通过输出投影融合?
这题考多头注意力的表示机制和实现细节,重点是说明多个 head 在不同子空间独立做注意力,输出先按特征维拼接,再由输出投影学习跨 head 融合。
大语言模型的 next-token 预测过程是什么,输入 token、上下文、logits/概率分布和解码策略如何共同产生回答?
这题考 LLM 推理基本原理:候选人要能从 tokenization、Transformer 上下文建模、logits、softmax 概率和解码策略讲清楚回答是如何逐 token 生成的。
同题还出现在 1 个公司岗位
连接视觉编码器和 LLM 时,Q-Former 与 LLaVA MLP Adaptor 各有什么优缺点,如何选择?
这题考多模态大模型里视觉特征到语言模型 token 空间的连接器设计。好的回答要说明二者都在解决维度对齐、语义对齐、信息压缩和训练稳定性问题,但 Q-Former 更像带可学习查询的语义压缩器,MLP projector 更像简单直接的视觉 token 映射器,选择取决于数据规模、视觉细节需求、上下文预算、延迟和冻结策略。
如何手写 Multi-Head Self-Attention,Q/K/V 投影、分头、mask 和输出拼接如何实现?
这题考 Transformer 注意力层的可实现细节。好的回答不能只背公式,而要讲清输入输出形状、Q/K/V 一次投影或三次投影、head 维度拆分、scaled dot-product attention、padding/causal mask 广播、softmax/dropout、head 合并、输出投影以及常见数值和 shape bug。
同题还出现在 1 个公司岗位
Transformer 推理阶段为什么 KV Cache 只缓存 K 和 V,而通常不缓存当前步的 Q?
这题考的是自回归推理中 attention 计算复用的本质:历史 token 的 K/V 会在未来每一步被反复访问,而 Q 只属于当前查询 token,用完即可丢弃,所以缓存 K/V 能省重复计算,缓存 Q 通常没有收益。
多模态模型中跨模态注意力机制如何设计,如何举例说明不同模态 token 的对齐和融合?
这题考多模态 Transformer 中跨模态注意力的设计能力。好的回答要讲清楚不同模态 token 如何产生、如何注入位置和类型信息、如何做 cross-attention 或 co-attention、如何处理长度差异和噪声、如何训练对齐,并用图文例子说明文字 token 通过 query 关注图像 patch 或 object token,从而把语义、空间位置和细粒度属性融合起来。
CV 任务中的注意力机制有哪些应用,通道注意力、空间注意力和自注意力分别解决什么问题?
这题考的是对视觉注意力的结构化理解:注意力不是一个单一模块,而是从通道、空间、像素/patch 关系、跨尺度和跨模态等角度重新分配特征权重。好的回答要能区分通道注意力解决“看哪些语义特征”、空间注意力解决“关注哪些空间位置”、自注意力解决“建模长距离关系”,并结合分类、检测、分割、ReID、视频和 OCR 讲应用与代价。
Qwen 各代模型结构演进通常体现在哪些方面,如何从注意力结构、长上下文、多模态能力和推理效率回答?
这题考的是能否用公开模型家族演进的视角解释 Qwen 结构变化,而不是背某一代的内部参数。好的回答应按 Transformer 基座、注意力与 KV Cache、长上下文扩展、多模态接入、训练与推理效率几个维度展开,并说明这些变化分别解决吞吐、上下文长度、跨模态理解和部署成本问题。
推荐系统中如何把 Transformer 行为序列表征接入 DIN 式目标兴趣建模?
这道题考察的是推荐序列建模和目标兴趣抽取的组合设计。高质量回答要说明:Transformer 适合把用户历史行为编码成带上下文的序列表征,DIN 的价值在于针对当前候选物品做 target-aware attention;工程上不能只拿一个全局向量,要处理时间因果、候选量、缓存、延迟和线上线下一致。
Transformer 为什么使用正弦/余弦位置编码,相比可学习位置向量有哪些好处和局限?
这道题考察 Transformer 位置信息的基本原理和边界。好答案要先说明 self-attention 本身不感知顺序,再解释正弦/余弦位置编码的多频率、无参数、可按公式外推和相对位移线性性质,同时承认固定绝对位置编码不等于长上下文能力,现代模型常用 RoPE、ALiBi 或相对位置方法。
为什么 Attention 相关量化比普通权重量化更难,softmax、动态范围和误差放大会带来哪些问题?
这题考 Attention 量化为什么比静态权重量化更敏感。答案要围绕 Q/K/V 动态分布、QK logits、mask、softmax 指数放大、KV Cache 长期复用和误差跨层传播展开,并给出常见工程缓解策略。
LLaMA 2 中的 GQA 是什么,它如何减少 KV heads、降低 KV Cache 和带宽开销,并影响训练与推理效率?
这道题考察 GQA 的注意力结构和 KV Cache 推理瓶颈。回答要先把 MHA、MQA、GQA 放在一条线上:MHA 每个 query head 有自己的 K/V head,MQA 所有 query head 共用一组 K/V,GQA 则让一组 query heads 共用一个 K/V head。它减少的是 KV heads 数量,从而降低 K/V projection 输出、KV Cache 存储、decode 阶段缓存读取带宽和跨卡通信压力。关键是不要把 GQA 只说成训练加速;它对长上下文自回归推理的内存带宽收益更直接,同时在质量和效率之间比 MQA 更折中。
如何将已有 MHA 大模型改造成 GQA?KV Head 权重合并初始化和继续训练分别解决什么问题?
这题考察的不是“GQA 是什么”这一层概念,而是如何把一个已经训练好的 MHA checkpoint 工程化迁移成 GQA,并解释初始化和继续训练各自承担的职责。核心答案应先说明结构变化:MHA 中每个 Query Head 通常有独立的 K/V Head,而 GQA 把多个 Query Head 分成一组,共享同一组 K/V 投影,从而减少 KV Cache、显存带宽和解码阶段访存。迁移时不能随机初始化 K/V,否则模型等于突然丢失大量注意力记忆能力;因此通常用 KV Head 合并做 warm start,例如按组平均、加权平均、选择代表头或用聚类合并 K/V 权重。这个初始化解决“结构对齐和功能尽量连续”的问题;继续训练或 uptraining 解决“合并带来的表达能力损失、注意力分布偏移和层间统计不匹配”的问题。高质量回答还要补充训练数据配比、学习率、冻结策略、评估指标和推理收益验证。
如何用 PyTorch 实现 Grouped Query Attention?当 Q heads 多于 KV heads 时,K/V heads 应如何分组、repeat 或 broadcast,并完成 attention score、mask、softmax 和输出投影?
这道题考察候选人是否理解 Grouped Query Attention 的 head 形状和实现细节。回答要讲清 Q heads 与 KV heads 的分组关系,如何 repeat K/V,如何计算 mask、softmax 和输出投影。
FlashAttention 为什么更适合 Prefill,Decode 阶段的瓶颈是什么,Flash Decoding 如何优化?
这题考 GPU 推理性能分析能力。好的回答要区分 Prefill 和 Decode 的计算形态:Prefill 是长 query 的大矩阵注意力,FlashAttention 能提高 IO 效率和并行度;Decode 是单 token 迭代生成,瓶颈常在 KV cache 读取、显存带宽和 SM 利用率,Flash Decoding 通过切分 KV 序列提升并行读取和长上下文吞吐。