大模型Transformer高频面试题

3496 words
17 minutes
大模型Transformer高频面试题

大模型 & Transformer 高频面试题及答案#

🎯 适用岗位:算法工程师、AI 应用开发、大模型研发 📅 整理日期:2026-06-07 💬 答案按面试口语化写,直接照着说就行


一、Transformer 核心架构#

Q1:Transformer 的基本结构是什么?#

Transformer 分两半——Encoder 和 Decoder,每半都是 N 个一样的层叠在一起。

单层 Encoder 就是:多头注意力 → 残差+归一化 → 前馈网络 → 残差+归一化。

Decoder 多了一步:先是带 mask 的自注意力(只能看当前和之前的 token),然后是交叉注意力(去拿 Encoder 的信息),最后才是前馈网络。

现在主流大模型分三种路线:

  • BERT 那种只用 Encoder:双向注意力,擅长理解类任务,比如分类、实体识别
  • GPT/LLaMA 那种只用 Decoder:单向注意力,擅长生成
  • T5 那种 Encoder+Decoder:适合翻译、摘要这种输入输出都很长的任务

追问:为什么现在大模型几乎都用 Decoder-only?

主要几个原因:一是自回归的训练目标和推理完全一致,训练效率高;二是单向注意力天然适配 next-token prediction;三是工程上更简单,推理时 KV Cache 处理更自然;四是实验发现同等参数量下 Decoder-only 的 scaling 效果更好。


Q2:Transformer 相比 RNN/LSTM 有什么优势?#

最核心的就两点:并行长距离依赖

RNN 必须一个 token 一个 token 顺序算,没法并行,GPU 利用率低。Transformer 的注意力机制所有位置可以同时算,训练速度差了好几倍。

另外 RNN 处理长序列容易梯度消失,远处的信息传着传着就丢了。Transformer 的注意力是直接”看”到所有位置的,不管隔多远都是一步到位。

当然 Transformer 也有代价——注意力是 O(n²) 的复杂度,序列越长越吃内存,但总体来说在 GPU 上训练还是比 RNN 快得多。


二、Self-Attention 机制#

Q3:Self-Attention 的计算流程是什么?#

简单说就三步:

  1. 输入先过三个线性层,分别得到 Q(查询)、K(键)、V(值)
  2. Q 和 K 做点积算相似度,除以 √d_k 缩放一下,过 softmax 得到注意力权重
  3. 用权重对 V 做加权求和,得到输出

用公式说就是:Attention(Q,K,V) = softmax(Q·K^T / √d_k) · V

直觉上理解:Q 是”我想找什么”,K 是”我有什么”,Q·K^T 算的是匹配程度,V 是”找到之后给你什么内容”。


Q4:为什么要除以 √d_k?⭐超高频#

因为 d_k 一大,Q 和 K 的点积值就会变得很大,softmax 一收到很大的输入,输出就几乎变成 one-hot 了——只有一个位置接近 1,其他都接近 0。这时候梯度几乎为 0,模型就训不动了。

除以 √d_k 就是把点积值”拉回”正常范围,让 softmax 的输出更平滑,梯度能正常传播。

数学上解释的话:假设 Q 和 K 的每个元素都是均值为 0、方差为 1 的,那点积的方差就是 d_k,除以 √d_k 之后方差就归一化回 1 了。


Q5:Multi-Head Attention 的作用是什么?#

多头注意力就是让模型同时从不同角度去看输入。每个头学到的注意力模式不一样——有的头关注语法关系,有的关注语义关系,有的关注相邻词,有的关注远距离依赖。

如果只用一个大头,它只能学一种模式;用多个小头,每个头可以专门化,最后拼起来信息更丰富。

而且多头在计算上也更高效:每个头的维度是 d_model/h,多个头可以并行算,总计算量和单头差不多。


Q6:MHA / MQA / GQA 的区别?⭐高频#

这三个的区别就在于 K 和 V 是不是共享的:

  • MHA(多头注意力):每个头都有自己的 Q、K、V,效果最好但 KV Cache 最大,推理最慢
  • MQA(多查询注意力):Q 还是每个头独立,但 K 和 V 所有头共享一份,推理最快但效果会掉一点
  • GQA(分组查询注意力):折中方案,把头分成几组,组内共享 K 和 V。比如 8 个头分 2 组,每组 4 个头共享一组 K、V

现在主流模型基本都选 GQA,比如 LLaMA-2/3、Mistral,用很小的质量损失换来了显著的推理加速和内存节省。


三、位置编码#

Q7:为什么 Transformer 需要位置编码?#

因为 Self-Attention 是”不分先后”的——你把输入的顺序打乱,Attention 算出来的结果只是对应位置换了一下,模型根本不知道谁在前谁在后。

“猫吃鱼”和”鱼吃猫”对 Attention 来说是一样的,这显然不行。所以得额外告诉模型每个 token 在哪个位置,这就是位置编码。


Q8:RoPE 旋转位置编码是什么?为什么现在主流都用它?#

位置编码分几代:

  • 绝对位置编码(BERT 用的):给每个位置一个固定向量,简单但超出训练长度就不行了
  • 相对位置编码(T5 用的):编码的是两个 token 之间的距离,外推性好但实现复杂
  • RoPE(LLaMA、Qwen 用的):用旋转矩阵把位置信息”转”进 Q 和 K 里,这样 Q·K^T 的点积天然就包含了相对位置信息

RoPE 厉害的地方在于它统一了绝对和相对位置编码的优点——实现简单,外推性好,所以现在基本是大模型的标配。


四、KV Cache 与推理优化#

Q9:什么是 KV Cache?为什么需要它?⭐超高频#

大模型生成文本是一个 token 一个 token 往外蹦的。每生成一个新 token,都要用前面所有 token 的 K 和 V 来算注意力。

问题是:前面那些 token 的 K 和 V 其实不会变,每次重新算是纯浪费。所以就把算过的 K 和 V 缓存起来,下次直接用,只算新 token 的就行。

没有 KV Cache 的话,生成第 t 个 token 要重新算前 t-1 个,复杂度是 O(t²);有了之后只算当前 token 的,复杂度降到 O(t)。推理速度能快 5-10 倍,现在所有线上服务的大模型都用这个。


Q10:为什么缓存 K 和 V,不缓存 Q?⭐超高频#

因为历史 token 的 K 和 V 在后续每一步都要被”查”到——新 token 的 Q 要和所有历史 token 的 K 算相似度,再用权重去取历史 token 的 V。所以缓存 K 和 V 有实实在在的收益。

但 Q 不一样——每个 token 的 Q 只在当前这一步用,下一步的 Q 是新 token 产生的,跟之前的 Q 没关系。所以缓存 Q 没有任何加速效果,不是”不能”缓存,是缓存了也没用。


Q11:常见的推理加速方法有哪些?#

主要有这几个:

  • KV Cache:缓存历史 K/V 避免重复计算,5-10 倍加速,没有精度损失
  • 量化:把模型权重从 FP16 压到 INT8 甚至 INT4,2-4 倍加速,精度损失很小
  • GQA/MQA:减少 K/V 的头数,降低内存和计算量,1.5-3 倍加速
  • Speculative Decoding(投机解码):用小模型先猜几个 token,大模型并行验证,猜对了就一次接受多个,2-3 倍加速,精度无损
  • Continuous Batching:动态把不同请求拼在一起,提高 GPU 利用率,吞吐能翻好几倍

五、大模型训练与对齐#

Q12:大模型的训练流程是什么?#

分三步走:预训练 → SFT → RLHF/DPO

预训练:用海量无标注文本(万亿级 token),目标是 next-token prediction。这一步最贵,烧掉 99% 的算力和数据,让模型学会语言的基本规律和世界知识。

SFT(有监督微调):用几万条高质量的”指令-回答”对,教模型听懂人的指令、按格式回答。这一步成本中等,但很关键,是从”语言模型”变成”助手”的关键一步。

RLHF/DPO(对齐训练):用人类偏好数据,让模型的回答更符合人的价值观——更有用、更安全、更诚实。这一步成本相对低,但决定了模型的”性格”。


Q13:RLHF 的流程是什么?#

两步:

第一步,训练奖励模型:让人对同一个问题的多个回答排序,用这些排序数据训练一个打分模型,它能给回答打出一个”人类偏好分数”。

第二步,用 PPO 强化学习优化:让大模型生成回答,奖励模型打分,用 PPO 算法根据分数更新大模型。同时加一个 KL 散度惩罚,防止模型为了拿高分而变得太极端。

RLHF 的问题:奖励模型可能被”钻空子”(reward hacking),PPO 训练不稳定、超参难调,而且需要同时跑 4 个模型(策略模型、参考模型、奖励模型、价值模型),显存开销很大。


Q14:DPO 和 RLHF 的区别?⭐高频#

DPO 本质上是 RLHF 的简化版。

RLHF 要两步:先训练奖励模型,再用 PPO 做强化学习。DPO 把这两步合成一步——直接用人类偏好数据(好回答 vs 差回答)来优化策略模型,不需要单独的奖励模型,也不需要 PPO。

好处很明显:训练更稳定(不像 PPO 那么多超参要调),只需要 2 个模型而不是 4 个,实现也简单得多。

所以现在 DPO 基本成了对齐训练的主流选择,除非有特殊需求才会用 RLHF。


Q15:LoRA 的原理是什么?⭐高频#

LoRA 的核心想法是:微调时不直接改原始权重,而是加一个低秩的”补丁”。

原始是 Y = X·W,LoRA 变成 Y = X·(W + B·A),其中 B 和 A 是两个很小的矩阵,秩 r 远小于原始维度。

举个例子:如果原始权重是 4096×4096,有 1600 万参数;LoRA 用秩 8 的话,B 是 4096×8,A 是 8×4096,加起来才 6.5 万参数,减少了 99.6%

关键优势:一是训练参数极少,单卡就能微调大模型;二是推理时可以把 B·A 合并回 W,没有任何额外延迟;三是不同任务可以训练不同的 LoRA,随时切换。


六、大模型架构与应用#

Q16:MoE(混合专家)是什么?#

MoE 的思路是:模型参数可以很大,但每个 token 只激活其中一小部分。

具体来说,每一层有多个”专家”(其实就是多个前馈网络),来一个 token 先过路由器(Gate),路由器选出最合适的 Top-K 个专家,只让这几个专家算,最后把结果加权求和。

比如 Mixtral 8×7B,总参数 46.7B,但每个 token 只用 12.9B 的参数,计算量跟 13B 的稠密模型差不多,效果却接近 47B 的。

挑战主要是:负载均衡(别让所有 token 都挤到同一个专家)、多卡通信开销大、显存占用还是按总参数来的。


Q17:RAG 和微调的区别?怎么选?⭐高频#

RAG 是给模型外挂一个知识库,每次提问先检索相关内容,塞进 prompt 里让模型基于检索结果回答。微调是用特定数据继续训练模型,把知识”写进”权重里。

核心区别:

  • 知识更新:RAG 改检索库就行,实时更新;微调得重新训练
  • 幻觉控制:RAG 有检索结果做依据,幻觉少;微调全靠模型”记忆”,容易编
  • 成本:RAG 不用训练,成本低;微调要 GPU 和数据
  • 擅长的事:RAG 擅长知识密集型问答,微调擅长调整风格、格式、特定能力

选哪个?需要实时知识就 RAG,需要特定风格/能力就微调,两者都要就 RAG + 微调一起上。


Q18:大模型的幻觉问题怎么缓解?#

大模型幻觉的根本原因是:它是概率语言模型,不是知识库,生成的是”看起来合理”的文本,不保证事实正确。

缓解方法:

  • RAG:最直接,给模型提供外部知识做依据,效果最好
  • CoT(思维链):让模型一步步推理,中间步骤可以检查,减少跳步出错
  • 对齐训练:RLHF/DPO 训练时惩罚幻觉输出,让模型学会说”我不知道”
  • 系统提示:在 prompt 里明确要求”不确定就说不知道”,简单但有效

实际中一般是 RAG + CoT + 对齐训练三板斧一起用。


Q19:什么是思维链(CoT)?#

CoT 就是让模型把推理过程写出来,而不是直接给答案。

有几种用法:

  • Zero-shot CoT:最简单,在 prompt 末尾加一句”Let’s think step by step”,模型就会自动展开推理
  • Few-shot CoT:给几个带推理过程的示例,模型照着格式来
  • Self-Consistency:多次采样取多数结果,更可靠但更慢

为什么 CoT 有效?因为复杂问题一步算出来容易错,拆成多个简单步骤每步出错的概率就低多了。而且中间步骤可以人工检查,方便定位问题。


🎯 速记口诀#

Transformer 核心:Self-Attention + 位置编码 + 残差 + LayerNorm
Attention 缩放:除以 √d_k,不然 softmax 变 one-hot,梯度消失
位置编码:RoPE 是主流,统一绝对+相对
KV Cache:缓存历史 K/V 省重复计算,Q 不用缓存因为只用一次
MHA→GQA:质量和速度的折中,LLaMA-2/3 的选择
训练三步曲:预训练 → SFT → RLHF/DPO
DPO vs RLHF:DPO 不需要奖励模型,更简单稳定
LoRA:低秩补丁,训练 0.1% 参数,推理零延迟
RAG vs 微调:要实时知识用 RAG,要风格能力用微调
幻觉缓解:RAG + CoT + 对齐训练 三板斧

Share Article

If this article helped you, please share it with others!

大模型Transformer高频面试题
https://estars-blog.pages.dev/posts/求职作战室-面经-大模型-大模型transformer高频面试题/
Author
Estars
Published at
2026-06-10
License
CC BY-NC-SA 4.0
Related Posts Smart
1
ping curl 排查面试题
求职作战室 # Ping / Curl 服务不通 —— 面试高频问题及答案 > 🎯 适用岗位:运维工程师、SRE、后端开发、网络工程师 > 📅 整理日期:2026-06-07 --- ## 一、核心概念:ping 和 curl 到底有什么区别? | 维
2
Agent超大结果面试题整理版
求职作战室 # Agent 工具调用返回超大结果的处理策略 > 面试题:Agent 调用工具可能返回超大结果(比如代码搜索返回 50KB),这会带来什么问题?你会怎么处理?OpenClaw 是怎么做的? --- ## 一、超大结果带来的三个问题 | 问
3
腾讯大模型应用开发二面
求职作战室 # 腾讯大模型应用开发 二面 > 来源:小红书 @逸 > 原文链接:http://xhslink.com/o/5vDCA2JigSO > 发布时间:2026-04-12 > 标签:面试、面经、AI、Agent、实习 --- ## Q1:如果
4
AI面试模拟练习清单
求职作战室 # 🎯 AI Agent 开发 · 面试模拟练习清单 > 📅 生成时间:2026-06-03 > 📚 来源:基于 19 份面经 + 秋招复习笔记 > 🎯 适用:AI 应用开发 / Agent 开发 / 大模型应用 校招岗位 --- ## 一
5
请解释大模型微调(Fine tuning)的原理,并说明在什么业务场景下需要微调而不是直接使用基础模型? 整理
求职作战室 # 请解释大模型微调(Fine-tuning)的原理,并说明在什么业务场景下需要微调而不是直接使用基础模型? ## 问题 请解释大模型微调(Fine-tuning)的原理,并说明在什么业务场景下需要微调而不是直接使用基础模型? ## 标准回
Random Posts Random
Profile Image of the Author
Estars
这条路要走完,才能看到世界的终点,是海纳百川,还是星火燎原。
公告
欢迎来到我的博客!这是一则示例公告。
Music
Cover

Music

No playing

0:00 0:00
No lyrics available
Categories
Tags
Site Statistics
Posts
91
Categories
5
Tags
44
Total Words
374,063
Running Days
0 days
Last Activity
0 days ago

Table of Contents