仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
Transformer必考5大高频考点
是时候准备实习和面试了。
不同以往的是,当前职场已不再是那个双向奔赴时代了。求职者在变多,HC在变少,岗位要求还更高了。
最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解惑答疑,分享技术面试中的那些弯弯绕绕。
总结链接如下:
《大模型算法工程师经典百问典》(2025版)正式发布!
《算法工程师直通大厂面经汇总》(2025版)正式发布!
喜欢本文记得收藏、关注、点赞。更多实战和面试交流,文末加入我们星球
最近在复习LLM相关的基础知识,发现网上的很多基础知识帖子还停留在几年前的信息,所以自己总结一下。本篇会总结了Transformer的基础知识点,同时拆解几个面试的QA考点。
01
Transformer网络的组成部分
一个基础的Transformer语言模型通常包含以下几个模块:
(1)Tokenizer和InputLayer
Tokenizer:当输入一段文本时,首先需要通过分词器(Tokenizer)将文本转为对应的tokenID。
这一过程依赖于词汇表(vocabulary),通常保存在模型下载文件中,如tokenizer. json或vocab.json。
常见的分词算法包括BPE、WordPiece、SentencePiece,它们的核心思想是根据词频学习最优的子词划分方式。
InputLayer(Embedding+PositionalEncoding):TokenID需进一步通过嵌入层(EmbeddingLayer)转换为向量。
Embedding的本质是查表:ID是索引,查找一个预训练矩阵(模型的权重之一)得到其D维向量表示。位置编码(PositionalEmbedding)用于提供token的位置信息。
早期Transformer使用的是固定的正余弦位置编码,后来逐渐演进为可学习的位置编码,当前主流模型(如LLaMA、Qwen)则使用旋转位置编码(RoPE)。这三者的对比详见“面试问题1”。
(2)TransformerBlock(Attention+Feedforward)
Transformer的核心结构为多个TransformerBlock的堆叠,每个block包含以下步骤:
注意:每个TransformerBlock包括Multi-headAttention和Feedforward子模块。
Multi-headAttention
输入为形状[Batch,SeqLen,D]的向量序列。通过矩阵乘法得到Q,K,V:
设有M个head,每个head的维度为D/M,将Q/K/V拆成[Batch,M,SeqLen,D/M]。
每个head独立计算attention,再将所有head的输出拼接后经Linear层整合回[Batch,SeqLen,D]。
Multi-head的优势包括:
每个head可关注不同的关系:如语义相似、时间顺序、句法结构等;
每个head参数量较小,有助于训练收敛;
天然适合并行计算。
(3)OutputLayer
输出层根据任务类型调整结构:
对于生成任务(如文本生成),只在最后一个token输出结果;
对于序列标注(如翻译),需要对每个token输出。
通常结构为Linear(D→V)+Softmax,其中:
D是Transformer的输出维度;
V是词表大小。
常见采样方法:Sampling模块用于从概率分布中选择最终的输出token。
常见策略有:
Argmax:直接取最大概率的token,确定性强,但结果单一;
温度采样(TemperatureSampling):将logits除以一个超参数T(温度),再进行softmax。
T>1:分布更平滑,多样性更强;
T<1:分布更陡峭,保守;
T→0:趋近于Argmax。
Top-K/Top-P(Nucleus)采样:
Top-K:只从概率最高的K个token中采样;
Top-P:选择累计概率超过P的前几个token进行采样,更稳定、更灵活。
BeamSearch:宽度优先搜索,保留多个候选路径,计算每条路径的整体概率,最后选出全局最优。缺点是速度慢,且结果多样性不强。
02
面试高频问题深度解析(5个)
(1)如何设计一个好的位置编码?有哪些主流方法?
位置编码的作用:弥补Transformer缺乏位置信息的问题,使模型能区分“我爱你”和“你爱我”。
好的位置编码需满足:
每个位置编码唯一(可区分性);
相近位置编码相似,远距离差别大(连续性);
编码应能推广至未见过的位置(外推性);
编码应关注相对位置,而非绝对位置;
具备多尺度特征,以建模长短依赖。
常见方法:
正弦位置编码(Sinusoidal):固定编码,可外推。每个位置的编码为D维向量,偶数维为sin,奇数维为cos。不同维度代表不同频率,形成多尺度表达。
可学习位置编码(Learnable):用神经网络学习每个位置的向量。缺点是训练时需设定最大长度,泛化差,不支持外推。
RoPE(RotaryPositionEmbedding):用正余弦构建旋转矩阵,不是直接加到embedding上,而是应用于Q/K。
其核心优势:
支持任意长度外推;
相对位置不变性;
可用于注意力中的QK点积操作;
是目前主流LLM的默认配置。
(2)为什么主流LLM都采用Decoder-Only架构?
原始Transformer是Encoder-Decoder结构,Decoder包含MaskedSelf-Attention和Cross-Attention。
主流LLM(如GPT系列)精简为Decoder-only,即仅使用MaskedSelf-Attention。
Encoder与Decoder区别:
Encoder是双向注意力,每个token可关注前后上下文;
Decoder是单向注意力,只能关注前面的token。
Decoder-only优点:
简化结构(无需crossattention);
所有输入统一处理,代码更简洁;
适合生成任务(如GPT);
支持KVCache提速,极大提高推理效率。
(3)Attention为什么除以√d?
Attention中:
QKᵀ是向量点积,结果方差随d增大;
若不除以√d,softmax的输入会过大或过小,导致梯度爆炸或消失
除以√d可将方差归一化到1(假设Q,KN(0,1));
这是Attention模块数值稳定性的关键
(4)有哪些常用的Norm,为什么LayerNorm适合LLM?
归一化的本质:避免梯度消失/爆炸,缓解“内部协变量偏移”,提升模型的收敛速度与泛化能力。
常见Norm:
PreNormvsPostNorm:
PreNorm(注意力前):更稳定,训练容易;
PostNorm(注意力后):与原始Transformer一致,但训练时可能不稳定。
(5)Transformer中用哪些激活函数?优缺点如何?
作用:引入非线性,否则神经网络只能拟合线性函数。
作者:maggie
来源:https ://zhuanlan. zhihu.com/p/1919451488775837438
llms大厂面试题宝典(知识星球)来了,这是一个面向全体学生和机器学习/算法/大模型/科研人员的技术沟通和求职交流的平台。
在这里你可以了解最前沿AI技术资讯、Paper、大模型、多模态,算法竞赛、实战项目、获取AI算法的校招/社招准备攻略、面试题库、面试经验分享、Offer选择、内推机会、学习路线、求职答疑和海量学习资料等内容。
同时,你也可以与来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流
llms大厂面试题宝典方向涉及搜广推、深度学习,机器学习,计算机视觉,知识图谱,自然语言处理,大数据,自动驾驶,强化学习,大模型、多模态、具身智能等多个方向。
我们会不定期开展知识星球现金立减优惠活动,加入星球前可以添加我微信:
yangyiya2002,咨询活动详情。iOS用户直接添加我微信进星球。