大模型原理面试 100 题

按主题分类、按难度分层(初级 / 中级 / 高级 / 专家),含核心图解。点击每题展开答案。

25初级
35中级
30高级
10专家
100总题数

1. 基础与Tokenization

理解 LLM 的输入表示与基本术语:Token、Tokenizer、Embedding、生成范式。

BPE 子词切分:从字符到高频子词 原始: "lowest" → 字符 [l,o,w,e,s,t] 按语料频率合并(merge): l+o → lo es → es lo+w → low 结果 token: [low, e, s, t] 或 [low, est] 未登录词(OOV)被拆成子词,罕见词与词缀可复用、词表可控。
01初级什么是大语言模型(LLM)?它和传统 NLP 模型的核心区别是什么?
LLM 是基于 Transformer 的、在海量文本上做『下一词预测』预训练得到的超大规模语言模型。核心区别:① 规模大(十亿~万亿参数);② 预训练获得通用语言能力,可经指令微调/对齐直接适配下游任务,而不再为每个任务单独建模;③ 涌现能力——参数与数据到一定规模后表现出小模型没有的推理、泛化能力。
02初级什么叫 Token?Token 和字、词是什么关系?
Token 是模型处理文本的最小单位,由 Tokenizer 把字符串切分而成。它不一定是整词:英文常见子词(如 'playing'→'play'+'ing'),中文常切成字或词片段。模型先 tok 化得到 token id,再查 embedding。上下文长度、计费常按 token 数算,而非字数。
03初级常见的 Tokenizer(BPE / WordPiece / SentencePiece)原理分别是什么?
三者都是子词算法。BPE(Byte-Pair Encoding)从字符出发,反复合并语料中最高频的相邻对;WordPiece 类似但按『合并后似然增益』选对,BERT 采用;SentencePiece 直接在原始文本(含空格)上做 BPE/Unigram,不依赖预分词, multilingual 友好,LLaMA、PaLM 采用。共同目标:在词表可控下覆盖 OOV、复用词缀。
04初级词表大小(vocab size)怎么选?对模型有什么影响?
词表越大,单 token 语义越完整、序列越短(计算更省),但 embedding 与 LM head 参数量=vocab×d 也随之增大,且罕见 token 数据稀疏难学好。常见 32k~256k。实践中多取 2 的幂便于硬件对齐,并在『序列长度/参数/覆盖率』间权衡。
05初级Embedding 是什么?为什么词向量能表达语义?
Embedding 是把离散 token id 映射为连续稠密向量(维度 d)的查找表。语义来自训练:下一词预测迫使语义相近的词在向量空间里距离更近(共现即相似),从而向量可线性表示『性别/国家/时态』等关系,支持类比推理。它是模型一切计算的起点。
06初级One-hot 和 Embedding 有什么区别?
One-hot 是 vocab 维、仅一位为 1 的稀疏向量,维度高且任意两词正交、无法表达相似度;Embedding 是低维(如 4096)稠密向量,可学习到语义结构,且参数量远小于 one-hot 参与矩阵运算。现代模型用 embedding 表而非 one-hot。
07初级自回归、自编码、编码-解码三种生成范式有何区别?
自回归(如 GPT/LLaMA):单向从左到右逐 token 生成,训练目标是下一词预测,是当今主流;自编码(如 BERT):双向掩码、做填空式预训练,适合理解/分类而非生成;编码-解码(如 T5、原始 Transformer):编码器读入、解码器生成,适合翻译/摘要等 seq2seq 任务。LLM 浪潮后自回归 Decoder-only 成为首选。
08中级什么是上下文窗口(Context Window)?它受什么限制?
上下文窗口是模型单次能『看到』的最大 token 数(提示+生成)。主要受自注意力 O(n²) 计算量与 KV Cache 显存随长度线性增长的限制,以及位置编码的外推能力限制。超出窗口需截断、滑动窗口或检索。
09高级什么是『涌现能力(Emergence)』?如何理性看待?
涌现指模型在参数/数据跨过某阈值后,突然表现出小模型不具备的能力(如少样本推理、链式思维)。但研究发现部分『涌现』是评测指标(如精确匹配)的非线性造成的观测假象;真正可证的是规模带来的平滑能力提升。应把它当作『规模红利』而非神秘质变,避免盲目迷信参数。

2. Transformer架构

注意力的数学形式、归一化、残差、Decoder-only 为何成为主流。

Token Embedding + 位置编码(RoPE) Decoder-Only Transformer Block (× L 层) Multi-Head Self-Attention FFN / SwiGLU 各子层外加残差连接 + Pre-LayerNorm Attn 用 Causal Mask 只能看已生成 token RMSNorm → LM Head → 输出下一个 token 概率
10初级Transformer 的整体结构是什么?Encoder 和 Decoder 各起什么作用?
原始 Transformer 由编码器(理解输入)和解码器(生成输出)堆叠而成,靠自注意力+交叉注意力连接。Encoder 双向编码(看全输入),Decoder 单向自回归生成并用交叉注意力读取 Encoder 表示。现代 LLM 多为 Decoder-only:去掉 Encoder,靠 Causal Mask 实现单向生成,结构更简单、更适合规模化与生成。
11初级自注意力机制的数学形式是什么?
对序列每个位置,用输入线性投影出 Q,K,V:Attention(Q,K,V)=softmax(QKᵀ/√d_k)V。QKᵀ 算两两相似度,除以 √d_k 防点积过大导致 softmax 梯度消失,softmax 得归一化权重,再对 V 加权求和。输出是每个位置对全序列信息的『加权聚合』。
12初级Q、K、V 分别代表什么?它们从哪来?
Q(Query)表示『我想找什么信息』,K(Key)表示『我能提供什么索引』,V(Value)表示『我实际携带的内容』。它们都由同一输入经三个可学习矩阵 Wq,Wk,Wv 线性投影得到:Q=xWq 等。注意力本质是『用 Q 去匹配 K,再取对应 V』。
13初级为什么要除以 √d_k(缩放点积)?
当 d_k 很大时,Q·K 的点积方差随维度线性增长,值会非常大,使 softmax 进入梯度极小的饱和区,训练困难。除以 √d_k 把点积方差归一化到稳定范围,softmax 梯度健康、训练更稳定。这是 Vaswani 等在原论文中的关键技巧。
14初级多头注意力(Multi-Head Attention)有什么用?
把 Q/K/V 投影到 h 个不同子空间,并行算 h 次注意力再拼接。不同头可关注不同关系(语法/语义/长距离/局部),相当于『多个视角』集成,显著提升表达力。单头只能学一种聚合模式,多头让模型同时捕捉多种依赖。
15中级为什么 Transformer 用注意力取代了 RNN / CNN?
RNN 必须顺序计算、难并行且长距离易遗忘;CNN 感受野有限、捕获全局依赖需堆很多层。自注意力一步到位建立任意两位置的直接连接(O(1) 路径长度),可高度并行、擅长长程依赖,且序列顺序无关(靠位置编码补顺序)。这使其便于在 GPU 上规模化。
16中级FFN / MLP 在 Transformer 里起什么作用?
注意力负责『在哪些位置间交换信息』(线性混合),FFN 负责『对每个位置独立做非线性变换』(逐点前馈,通常 d→4d→d 的 SwiGLU)。它提供主要非线性容量,是参数量大头(约 2/3)。可理解为『注意力选信息,FFN 加工信息』。
17初级为什么用 LayerNorm 而不是 BatchNorm?
BN 在 batch 维度归一化,依赖大 batch 且对序列长度/变长输入不友好,推理还需存 running stats;LN 在特征维度(单个样本单条序列内)归一化,与 batch 大小无关、对变长序列稳定,更适合 NLP 与自回归生成。
18中级Pre-LN 与 Post-LN 有什么区别?为什么现在多用 Pre-LN?
Post-LN 把 Norm 放在子层输出之后(原版),深层梯度易不稳定、需 warmup;Pre-LN 把 Norm 放在子层输入之前,残差路径更『干净』,梯度更稳定、训练更平滑、对学习率更鲁棒,大模型几乎都用 Pre-LN(或 RMSNorm)。
19初级残差连接(Residual)为什么重要?
残差让梯度可经恒等捷径直接回传(缓解梯度消失),并使深层网络优化成『在浅层基础上加修正』而非从头学。没有残差,几十层以上的 Transformer 很难训练。它也是深层堆叠的前提。
20中级为什么 Decoder-only 成为 LLM 主流(Llama/GPT 系列)?
① 生成任务只需单向建模;② 结构统一、预训练目标简单(下一词预测)、数据利用率高;③ 去掉 Encoder 与交叉注意力,参数更集中、易规模化;④ 同一套权重既能做基座又能经 SFT/对齐变对话模型,生态统一。多模态也多用 Decoder-only 统一接口。
21初级什么是 Causal Mask(因果掩码)?为什么必须?
因果掩码在自注意力中把『未来位置』的注意力分数设为 -∞,使 softmax 后权重为 0,保证第 t 个 token 只能看到 1..t。它强制自回归:生成时不能『偷看』尚未生成的词,否则训练/推理目标不一致、生成崩坏。
22高级注意力计算复杂度 O(n²) 的瓶颈体现在哪?有哪些应对?
对长度 n,QKᵀ 是 n×n,显存与计算都随 n² 增长。应对:FlashAttention(IO 感知、不 materialize 大矩阵)、稀疏/滑动窗口注意力(只算局部+全局)、线性注意力(用核技巧近似)、MQA/GQA(压缩 KV)、以及长上下文的位置外推技术。
23中级如何估算一个稠密模型的参数量?
经验式:N ≈ 12·L·d² + 2·vocab·d(L 层数,d 隐藏维)。来源:每层注意力约 4d²(含 QKV 3d²+输出 d²)、FFN 约 8d²(SwiGLU 3 个矩阵各约 8/3·d²),合计约 12d²;embedding 与 lm_head 各 vocab×d(常权重共享)。例如 L=d=4096,L=32 约得 7B 级。
24高级模型应该堆深(层数)还是加宽(维度)?为什么大模型大多深而窄?
在同等参数预算下,深层网络通常表达效率更高、更易学到层次化特征;过宽则单步计算冗余、泛化较差。但过深会带来优化与通信成本。实践多取『深而适中宽度』(如 LLaMA-7B 为 32 层 d=4096),并在并行策略下平衡。
25初级位置编码的作用是什么?
自注意力本身对输入顺序是置换等变的(打乱顺序结果只重排),没有顺序概念。位置编码给每个位置注入『位置信号』,让模型知道 token 的先后、距离,从而理解语序(『猫追狗』≠『狗追猫』)。
26中级绝对位置编码与相对位置编码有何区别?
绝对位置编码给每个位置一个固定向量(加在输入上),表示『第 i 个位置』;相对位置编码在注意力分数里注入『i 与 j 的相对距离』,表示『相距 k』。相对编码更契合注意力(注意力依赖的是两两关系),对长文本外推更友好,RoPE/ALiBi 皆属此类。
27中级Sinusoidal 位置编码的公式与特点?
PE(pos,2i)=sin(pos/10000^(2i/d)),PE(pos,2i+1)=cos(...)。特点是:① 可解析、无需学习;② 不同频率覆盖不同尺度;③ 存在线性变换使 PE(pos+k) 可由 PE(pos) 推出,便于相对位置推断。但绝对式在超长外推时易失效,故被 RoPE 等取代。
28中级什么是权重共享(Embedding 与 LM Head 共享)?
很多模型让输入 embedding 表与输出 lm_head 共用同一份权重(输入输出词表表示一致、省参数)。这样可省约 vocab×d 参数。代价是输入/输出表示被绑定,可能影响表达;是否共享是架构取舍。
29高级现代 LLM 为什么多用 RMSNorm 而不是 LayerNorm?
LayerNorm 对输入做 (x-μ)/σ 的重新中心化与缩放,需算均值与方差并有两个可学参数。RMSNorm 只做 x/RMS(x) 的缩放(去掉减均值、去掉偏移参数),计算更省、在 LLM 上往往更稳定且效果相当。算力敏感的大模型(LLaMA、Qwen 等)因此普遍采用 RMSNorm。

3. 位置编码

让无序的注意力感知顺序:绝对/相对、Sinusoidal、RoPE、ALiBi。

RoPE:把位置编码成"旋转" 位置 m 的向量 位置 n 的向量(转更多) 两向量夹角只与 |m-n| 有关 → 注意力天然感知"相对距离"。
30高级RoPE(Rotary Position Embedding)的原理是什么?
RoPE 把位置信息表示为『对 query/key 向量做旋转』:在每对维度上按角度 m·θ 旋转,位置 m 的向量旋转 m·θ。关键在于旋转后的内积只取决于两位置之差 |m-n|,即注意力天然感知相对距离。它等价于在 Q、K 上分别乘以与位置相关的旋转矩阵后再做注意力。
31高级为什么 RoPE 有利于长上下文外推?
因为注意力分数只依赖相对距离,且旋转是连续角度,理论上可通过调整频率基(如 NTK 缩放、YaRN)把『已训练长度』平滑映射到更长长度,无需重新训练全部参数。相比绝对编码,它对未见过的长度是连续可外推的,成为 LLaMA、Qwen 等主流选择。
32高级ALiBi(Attention with Linear Biases)的原理与特点?
ALiBi 不在输入加位置向量,而是在注意力分数上直接减去一个与相对距离成正比的偏置:score += -m·|i-j|(m 为每头固定斜率)。越远的 token 被越重地惩罚。特点:无需位置编码向量、天然支持长度外推、训练快;但表达不如 RoPE 灵活,多用于某些长上下文模型(如 MPT、BLOOM)。
33高级相对位置编码如何体现『相对』?
它把位置信息放进注意力分数的计算里,使分数只是 (i-j) 的函数而非各自绝对位置。典型做法:对 key 附加相对位置向量、或在 score 上加相对偏置。这样『距离 3』无论出现在句首还是句中含义一致,更符合语言依赖的局部性。
34高级什么是位置编码的『外推(extrapolation)』问题?
训练时只见过最大长度 L 的位置,推理时给更长位置,编码可能超出训练分布,导致性能骤降。这是绝对/部分相对编码的通病。需要专门的外推技术(位置插值、NTK、YaRN)或训练时即做长上下文。
35专家NTK-aware 缩放是什么?为什么比线性插值好?
线性位置插值(PI)把位置直接压缩到训练区间,会压缩高频维度、损伤细粒度位置敏感度。NTK-aware 缩放改为对旋转频率基做『维度和频率相关』的非均匀缩放,保留高频细节、只拉伸低频,使外推更平滑、困惑度更低。YaRN 在 NTK 基础上进一步按维度加权,效果更好。
36专家长度外推的 YaRN / PI 方法分别指什么?
PI(Position Interpolation)把测试位置线性缩放到 [0,L) 内,简单但损高频;YaRN(Yet another RoPE extensioN)结合 NTK-aware 缩放与对高/低频维度不同处理、并对注意力做温度缩放,在几乎不微调的情况下把上下文扩到数倍(如 4k→128k),是当前常用的免训练外推方案。
37中级为什么 RoPE 在当代 LLM 中如此流行?
因为它同时具备:相对距离感知、与注意力数学形式自然融合、连续可外推(配合 NTK/YaRN)、实现简单且对训练友好。在 LLaMA、Qwen、ChatGLM 等上验证有效,已成为开源生态事实标准,替代了早期 Sinusoidal/Learnable 绝对编码。

4. 注意力变体与KV Cache

MHA / MQA / GQA、FlashAttention、稀疏注意力、KV 缓存与 PagedAttention。

MHA:每头独立 Q/K/V MQA:所有头共享同一份 K/V 共享 K/V GQA:头分成若干组,每组共享一份 K/V
38中级MHA、MQA、GQA 的区别是什么?
MHA:每个头有独立 Q/K/V;MQA:所有头共享同一份 K/V,只 Q 多头;GQA:把头分成若干组,每组共享一份 K/V(介于 MHA 与 MQA 之间)。MQA/GQA 大幅减少 KV 缓存与显存、加速解码,GQA 在质量与效率间取得最好平衡,是 LLaMA-2/3 的默认选择。
39高级GQA 为什么能省显存、提速?
解码时每生成一个 token 都要缓存历史 K/V。MHA 的 KV 量=2·h·d·n,随头数线性增长;GQA/MQA 因 K/V 被多 Q 头共享,KV 量骤降(如 8 组只有 8 份 K/V)。这减少显存占用、提升内存带宽利用率,解码吞吐显著提高,长上下文下收益更大。
40高级FlashAttention 的原理与收益是什么?
标准注意力要把巨大的 n×n 分数矩阵写回显存再读,IO 极重。FlashAttention 用分块(tiling)在 SRAM 内完成 softmax 与加权求和,不 materialize 完整注意力矩阵,把『内存受限』变为『计算受限』。收益:显存从 O(n²) 降为 O(n)、速度更快、支持更长序列,且数值等价。
41高级什么是稀疏注意力/滑动窗口注意力?
标准注意力每对 token 都计算;稀疏注意力只计算部分对(如局部窗口+少量全局 token),把复杂度从 O(n²) 降到约 O(n·w)。滑动窗口(Sliding Window)让每个 token 只看前后 w 个邻居,配合少量全局 token 即可近似长程。Mistral 的 SWA、Longformer 是代表,长上下文下高效。
42专家什么是线性注意力?它真的能替代 softmax 注意力吗?
线性注意力把 softmax(QKᵀ)V 用核函数 φ 近似为 φ(Q)(φ(K)ᵀV),可先算 KᵀV 再乘 Q,复杂度降到 O(n),省显存。但 softmax 注意力的『softmax 门控』对质量很关键,线性近似会损失精细依赖建模,目前多在超长序列或特定场景互补使用,尚未全面替代 softmax 注意力。
43中级分组查询注意力(GQA)的实现细节?
把 h 个 Q 头分成 g 组(组数 g 整除 h,常见 g=8)。每组共享一份 K、V 头(即 K/V 头数= g)。前向时同组 Q 复用同一 K/V 算注意力。权重形状:Wq 为 [h,d,d],Wk/Wv 为 [g,d,d]。它在微调成本与推理效率间平衡,已成为 7B~70B 模型的标配。
44中级什么是 KV Cache?为什么它对推理至关重要?
自回归生成时,每个新 token 的注意力都要用到之前所有 token 的 K、V。为避免每步重算历史,把已算出的 K/V 缓存起来,新 token 只算自己的 Q 并与缓存做注意力。KV Cache 把解码从 O(n²) 降到 O(n),是推理提速的核心;其显存随序列长度线性增长。
45高级PagedAttention 是什么?解决什么问题?
由 vLLM 提出。传统 KV Cache 按最大长度预分配、且碎片多。PagedAttention 像操作系统分页一样把 KV 块分页管理,不同序列/请求可共享与复用块(如相同前缀),显存利用率显著提升,吞吐大幅提高,是高效 serving 的关键技术。
46中级注意力中 softmax 的作用是什么?
softmax 把 QKᵀ/√d_k 的任意实数分数变成非负、和为 1 的权重分布,使输出是 V 的凸组合(加权平均)。它提供可解释的『注意力分配』并稳定梯度。无 softmax 则权重可能为负/无界,失去『按重要性聚合』语义。
47专家什么是『注意力沉没(Attention Sink)』?
研究发现解码时模型常把异常大的注意力权重放在序列开头(或某个固定 token),即使它语义无关——因为 softmax 必须分配全部概率,模型『无处安放』剩余质量就沉到首个 token。StreamingLLM 等通过保留 sink token 实现无限长流式生成,避免窗口滑出后性能崩塌。

5. 训练与优化

预训练目标、损失、并行策略、混合精度、优化器与训练稳定性。

预训练(Pretrain) 海量语料·自监督 监督微调(SFT) 指令/对话数据 偏好对齐(RLHF/DPO) 人类偏好数据 目标序列:通用语言能力 → 任务服从 → 安全/有用/无害。
48初级预训练目标(下一词预测)是什么?
给定前文 x₁..xₜ₋₁,模型预测下一个 token xₜ 的概率,最大化整个语料的似然(等价于最小化交叉熵)。形式:min Σ -log P(xₜ | x<t)。这是 LLM 的通用自监督目标,无需人工标注,靠海量文本即可学到语法、知识、推理雏形。
49初级交叉熵损失在语言模型中怎么用?
每个位置把模型输出( vocab 维 logits)经 softmax 得到概率分布,与『下一个真实 token 的 one-hot』算交叉熵:-log p(真实词)。整句损失取各位置平均。它衡量预测分布与真值的差距,是预训练/SFT 的主损失。
50中级训练数据从哪来?数据质量为何比数量更重要?
来源:网页(CommonCrawl)、书籍、代码、论文、对话等,经去重、过滤、去毒、质量打分构建。质量影响巨大:噪声/重复/有毒数据会让模型学错事实与风格;近年的『数据配方』(curated、去重、配比)比单纯堆量更能提升能力,正所谓『garbage in, garbage out』。
51中级学习率调度为什么常用 Warmup + Cosine Decay?
训练初期权重随机、梯度不稳,过大学习率会发散;Warmup 用小学习率逐步升温让训练稳定。之后 Cosine Decay 平滑降到接近 0,既充分收敛又避免末尾震荡。这是大模型训练的默认配方,配合阶梯或恒定尾部(如 10% 恒定)。
52中级Batch Size 与梯度累积(Gradient Accumulation)怎么配合?
单卡显存限制单步能放的样本数。梯度累积:把大 batch 拆成若干 micro-batch 分别前向/反向,累加梯度,攒够设定步数再统一更新一次。等效 batch = micro_bs × 累积步数 × GPU 数。它让『大 batch 的训练收益』在有限显存下可达。
53中级混合精度训练(BF16 / FP16)是什么?
用半精度(16 位)存权重与激活、做大部分计算,省显存、提速;关键步骤(如 softmax、loss)用 FP32 保精度。BF16 动态范围与 FP32 相同(8 指数位),不易溢出,是 A100/H100 上的首选;FP16 易溢出需 loss scaling。混合精度是现代训练标配。
54初级为什么多用 AdamW 而不是 SGD / Adam?
SGD 在 Transformer 这种非凸深网收敛慢;Adam 用一阶/二阶矩自适应学习率,收敛快。AdamW 进一步把『权重衰减』与梯度解耦(直接在参数上做 L2 惩罚,而非并入梯度),正则更干净、泛化更好,是目前 LLM 训练的标准优化器。
55中级权重衰减(Weight Decay)的作用?
在损失上加 λ·‖θ‖² 的 L2 惩罚,抑制权重过大、提升泛化、防过拟合。AdamW 把它从梯度中分离、直接作用于参数更新,效果更稳定。预训练常用较小 decay(如 0.1),对大模型容量影响需仔细调。
56中级梯度裁剪(Gradient Clipping)为什么需要?
训练早期或长序列可能出现梯度爆炸(梯度范数极大),使更新失控、loss 尖刺。梯度裁剪把梯度总范数限制在上限内(如 1.0),超则等比缩小。它稳定训练、防崩,是 Transformer 训练的常规保险。
57高级数据并行、模型并行、流水线并行分别是怎么回事?
数据并行:多卡各持完整模型、分不同数据、梯度同步(如 ZeRO);模型并行(张量并行):把单层大矩阵切到多卡(如 Megatron);流水线并行:把不同层放到不同卡,微批流水执行(如 GPipe)。大模型通常三维混合并用,以突破单卡显存与算力上限。
58高级什么是 ZeRO 优化?它解决什么?
ZeRO(Zero Redundancy Optimizer)把优化器状态、梯度、参数分片到各卡,消除数据并行下的冗余存储。分三级:ZeRO-1 分优化器状态、2 加梯度、3 加参数。显存随卡数近线性下降,使单卡能训更大模型,是 DeepSpeed/Megatron 的核心。

6. 微调与PEFT

全量微调与参数高效微调:LoRA、QLoRA、Adapter、Prompt Tuning、指令微调。

LoRA:冻结原权重,只训练低秩增量 W₀ (冻结) d×d 全参数 + B · A d×r × r×d, r≪d = W₀ + BA 可训练量≈2·d·r 训练参数量从 d² 降到约 2dr,显存与存储大幅下降,可多适配器热插拔。
59初级全参数微调与参数高效微调(PEFT)的区别?
全参数微调更新模型全部权重,效果好但显存/存储/算力开销巨大,且易遗忘预训练知识、难多任务部署。PEFT 只训练少量新增/低秩参数,冻结主干,显存小、可多适配器热插拔、不易过拟合,是资源有限下的首选。
60中级LoRA 的原理(低秩分解)是什么?
LoRA 假设权重更新 ΔW 是低秩的:ΔW = B·A,其中 B∈ℝ^{d×r}, A∈ℝ^{r×d}, r≪d。冻结原 W,只训练 A、B,前向为 h = Wx + BAx。可训练参数量从 d² 降到约 2dr(如 r=8 仅原 0.1%)。推理时可把 BA 合并回 W,零额外延迟。
61中级LoRA 的秩 r 和缩放 α 怎么选?
r 控制可学容量:任务越复杂/越偏离预训练分布,r 越大(常见 8/16/32/64);α 是缩放在 BA 前的系数,常设 α=2r 或更大以增影响力。经验:先调 r,再调 α/r 比例;太大易过拟合小数据。Q/V 投影通常比 K/O 更值得加 LoRA。
62高级QLoRA 是什么?它怎么做到在单卡微调大模型?
QLoRA = 4-bit 量化(NF4)冻结基座 + LoRA。先把原模型量化到 4-bit 常驻显存(省 4× 显存),再在 16-bit 的 LoRA 上反向传播(通过量化权重的解量化计算梯度)。配合分页优化器防 OOM,使 65B 模型可在单张 48GB 卡微调,且效果接近全精度 LoRA。
63中级Prefix Tuning / Prompt Tuning 与 LoRA 有何不同?
Prompt Tuning 在输入前加可学习的『软提示』向量(只训这些向量),不改模型权重;Prefix Tuning 在每层注意力前加可学习前缀向量。它们都不动主干、参数量极小,但软提示难训练、容量有限、效果常不及 LoRA。LoRA 改的是权重增量,容量与稳定性更好。
64中级Adapter 是什么?
Adapter 在 Transformer 子层(如注意力/FFN)后插入小的瓶颈网络(降维→非线性→升维),只训这部分、冻结主干。它最早提出『参数高效』思路,但会引入额外推理延迟(串行层);LoRA 因可合并权重、无延迟,后来更流行。
65初级指令微调(Instruction Tuning)有什么用?
用『(指令, 期望回答)』数据继续训练基座,让模型学会『按指令格式响应』而非单纯续写。它显著提升零样本/少样本服从能力、格式化输出、多任务泛化,是把『续写引擎』变成『助手』的关键一步,也是 Chat 模型的基础。
66中级什么是灾难性遗忘(Catastrophic Forgetting)?如何缓解?
微调新任务时模型丢失预训练学到的通用能力,叫灾难性遗忘。缓解:用 PEFT(只动少量参数)、保留部分预训练数据做『回放/正则』、加 KL 约束不偏离原模型(如 SFT 时混合通用数据)、或使用 LoRA 这类低扰动方法。
67高级多任务微调与单任务微调怎么取舍?
单任务微调在专属数据上效果好但易遗忘、部署成本高;多任务(含指令混合)微调提升泛化与服从、构建统一模型,但需平衡任务配比防『任务干扰』。实践中常先做大规模指令/SFT 多任务,再用 LoRA 做轻量领域适配,兼顾通用与专用。
68中级微调数据一般怎么构造?
来源:开源指令集(Self-Instruct 生成、ShareGPT 等)、人工标注、种子任务扩写、以及领域文档转 QA。关键是多样性(任务/风格/长度)与质量(无错、无泄露、格式统一)。常用 Chat Template 把多轮对话拼成模型训练所需的特殊标记序列。
69初级什么是 Chat Template?为什么必须统一?
Chat Template 是用特殊标记(如 <|user|>、<|assistant|>、BOS/EOS)把多轮对话拼成训练/推理字符串的模板。训练与推理必须用同一套模板,否则分布不一致、模型行为错乱。它定义了角色边界与起止符,是 SFT 与部署一致性的基础。

7. 对齐:RLHF与DPO

把模型输出对齐到人类偏好:奖励模型、PPO、DPO、Constitutional AI。

策略模型 π 奖励模型 RM 参考模型 π_ref PPO 用 RM 打分并约束不偏离 ref 对比回答 KL 惩罚
70中级RLHF 的整体流程是什么?
三步:① 监督微调(SFT)得初始策略;② 收集人类对比偏好数据(同一提示的多个回答,标好坏)训练奖励模型 RM,使 RM 给好回答高分;③ 用强化学习(PPO)在『RM 奖励』与『不偏离 SFT/参考模型(KL 惩罚)』间优化策略,得到更有用/无害的模型。
71中级奖励模型(Reward Model)怎么训练?
用成对的偏好数据 (x, y_w, y_l)(好回答 y_w、差回答 y_l)。训练 RM 输出标量分 r,损失为 -log σ(r(y_w)-r(y_l)),即让好回答分更高。RM 通常由 SFT 模型去掉/复用最后层得到。它把『人类偏好』压缩成可微分数,供 PPO 优化。
72高级PPO 在 RLHF 中的作用与难点?
PPO 是策略梯度算法,目标=最大化 RM 奖励 − β·KL(π‖π_ref),β 控制偏离程度。难点:① 需同时维护策略、参考、奖励、价值四个模型,显存与工程复杂;② 奖励黑客(reward hacking)——模型找到钻 RM 空子的表达而非真变好;③ 训练不稳定、超参敏感。
73高级什么是『奖励黑客(Reward Hacking)』?
策略为刷高 RM 分数而偏离真实人类意图,比如学会『冗长/谄媚/套话』骗分,或利用 RM 盲区生成看似合规实则有害的内容。本质是 RM 只是人类偏好的不完美代理。缓解:加 KL 约束、迭代更新 RM、多维度奖励、结合规则与宪法。
74高级DPO 的原理与相比 RLHF 的优势?
DPO 证明:在 KL 约束下的最优策略可解析写成关于偏好数据的损失,无需显式 RM 与 RL。它直接在 SFT 模型上用偏好对训练,损失让好回答概率相对差回答提高(含隐式奖励)。优势:单阶段、稳定、省显存(只需策略+参考两模型)、易实现,已成主流替代方案。
75中级什么是『对齐税(Alignment Tax)』?
对齐(尤其 RLHF)在提升有用/安全的同时,可能略微损害模型原有的能力(如某些基准、创造力、指令外任务),这种能力下降叫对齐税。缓解:对齐数据覆盖更广、控制 KL、用 DPO/更温和目标、以及在训练中保留足够通用数据。
76高级DPO 真的不需要奖励模型吗?
是的——DPO 不训练独立 RM,而是把 RM 『吸收』进一个隐式奖励 r(x,y)=β·log(π(y|x)/π_ref(y|x)),偏好损失等价于对该隐式奖励做 Bradley-Terry 拟合。所以它省去了 RM 训练与 PPO 的复杂度,但『参考模型 π_ref』仍需保留用于约束。
77专家Constitutional AI 是什么?
由 Anthropic 提出:用一组『宪法』原则(如『无害、诚实』)让模型自我批评、自我修正,再用这些自我生成的偏好数据做 RLHF/DPO,从而减少对海量人工标注的依赖。它把『人类反馈』部分替换为『AI 依据原则反馈』,可扩展、可控,是 RLHF 标注稀缺下的重要方向。

8. 推理、采样与解码

生成阶段的解码策略:贪心、采样、温度、Top-k/p、投机解码。

78初级贪心解码(Greedy)与采样(Sampling)有何区别?
贪心每步取概率最高的 token,确定、但易陷入重复、缺乏多样性,且可能错过全局更优序列。采样按概率分布随机抽词,增加多样性与创造性,但可能不稳定。对话/创作多用采样,确定性任务(如代码、抽取)有时用贪心/低温度。
79初级Temperature 温度的作用是什么?
温度 T 在 softmax 前缩放 logits:T 高→分布更平滑、更随机/有创意;T 低→更尖锐、更确定/保守;T→0 趋近贪心。生成时常用 0.7~1.0 取平衡;代码/事实类用更低温度提升可靠性。
80初级Top-k 与 Top-p(Nucleus)采样是什么?
Top-k:每步只在概率最高的 k 个词里采样,过滤长尾噪声但 k 固定易忽视频率变化。Top-p(核采样):取累计概率达 p 的最小词集再采样,动态决定候选数(高频集中时候选少,分散时多),更自适应。常两者搭配(p=0.9, k=50)。
81中级Beam Search 在开放生成里为什么常被弃用?
Beam Search 保留 top-b 条候选、追求全局最高概率,适合翻译/摘要等『有标准答案』任务;但开放对话/创作中它会产出重复、僵硬、缺乏新意的文本(因为总趋于高概率套路)。故 LLM 对话多用采样而非 beam。
82中级重复惩罚(Repetition Penalty)是什么?
生成时降低已出现 token 的概率(惩罚系数>1 压制、<1 鼓励),缓解『车轱辘话』与循环。常用 1.1~1.3。过度惩罚会损害合理复现(如列清单、引文)。是解码端最简单有效的防重复手段。
83高级推理时显存主要消耗在哪?如何估算?
主要三项:① 模型权重(参数×精度,BF16 约 2 字节/参数);② KV Cache(随 batch×长度×层数×隐藏维线性增长,长上下文下常占大头);③ 激活/临时缓冲区。7B-BF16 权重≈14GB;长对话 KV Cache 可超权重数倍,故需 PagedAttention、量化等优化。
84专家什么是投机解码(Speculative Decoding)?
用一个小『草稿模型』一次性提出若干候选 token,再用大模型并行验证接受与否。被接受的部分一次走完,只在不匹配处回退。因大模型验证可并行、草稿模型便宜,整体在不改输出分布的前提下显著提速(近似 2~3×),是高质量低延迟推理的常用技巧。
85高级自回归生成为什么难以并行?有什么突破?
标准自回归第 t 个 token 依赖前 t-1 个,必须串行、每步一次前向,GPU 算力利用率低。突破:KV Cache(避免重算)、投机解码(并行验证)、Medusa/EAGLE(用额外头一次预测多 token)、以及非自回归/块解码探索。目标都是在保持质量下提升解码吞吐。

9. 长上下文与位置外推

扩展上下文长度:位置插值、NTK 缩放、滑动窗口、海捞针评测。

"大海捞针":关键信息藏在长文本中部 关键事实(针) 模型需从大量无关上下文中召回中部信息,长度越长越易"中间丢失"。 解法:位置插值/NTK、滑动窗口、长上下文训练、检索增强。
86中级长上下文如何训练和扩展?
两类路径:① 训练时即做长上下文(直接喂长序列、配长位置编码与足够算力);② 训练后扩展——用位置插值/NTK/YaRN 把已训练位置映射到更长,再小幅 SFT 适配。推理侧配 Ring/分块注意力、KV Cache 管理。目标是在更长窗口稳定保持『大海捞针』能力。
87高级KV Cache 随序列变长带来什么工程难题?
KV Cache 显存与长度 n 线性增长,长对话/大 batch 下可超权重占用;且长序列注意力计算 O(n²)。需 PagedAttention 分页管理、KV 量化(如 INT8/INT4)、滑动窗口/稀疏注意力限制有效长度、以及分块(chunked) prefill 平衡延迟与吞吐。
88高级滑动窗口/环形缓冲如何帮助长文本?
滑动窗口注意力只保留最近 w 个 token 的 KV,显存恒定、适合流式;环形缓冲复用固定大小 KV 块,旧 token 出窗即覆盖。配合少量全局 token 或『注意力沉没』保留关键起始信息(StreamingLLM),可实现近乎无限流式生成,但可能丢失超远信息。
89高级什么是『中间丢失(Lost in the Middle)』?
研究发现模型对超长提示首尾信息利用好、中部信息易忽略,导致放中部的『关键事实』被漏看。它是长上下文的软肋,非纯架构问题,与训练分布、注意力分配有关。缓解:位置外推+长上下文训练、检索增强、把关键信息放首尾、或显式分块摘要。
90中级位置插值(Position Interpolation)是什么?
把测试位置线性缩放到训练区间:测试位置 i → i·(L_train/L_test)。这样未见过的位置落在已训练编码范围内,使原模型(如 RoPE)免训练即可外推到更长。简单有效,但均匀压缩会损伤高频位置敏感度,故被 NTK/YaRN 改进。
91高级『大海捞针(Needle In A Haystack)』评测测什么?
把一条关键事实(针)随机插入长文档(草堆)不同深度与长度位置,再问相关问题,统计命中率,直观展示模型长上下文的『哪里能、哪里不能』。它是长上下文模型的常用能力图,能暴露中间丢失、位置外推失败等问题。
92专家上下文窗口越大就越『懂』长文吗?有哪些伪长上下文陷阱?
不一定。窗口大只代表『装得下』,不代表『用得好』:① 中间丢失使中部信息被忽略;② 位置外推若只改编码不微调,长程注意力质量仍掉;③ 长文推理成本与 KV 显存随长度线性/平方增长;④ 评测集若与训练分布不同会虚高。真正能力提升要靠长上下文训练、检索增强与对齐,而非单看窗口数字。

10. MoE与新型架构

混合专家与状态空间模型:路由、负载均衡、Mamba 等。

MoE:每 token 只激活少数专家 Router E1 E2 E3 E4 路由只选 1~2 个专家 → 总参数巨大,但激活参数小,训练/推理更省。 挑战:负载均衡(辅助损失)、专家坍缩、通信开销。
93中级稠密模型与 MoE 的区别?总参数和激活参数分别是什么?
稠密(Dense)每 token 用全部参数;MoE 把 FFN 换成多个『专家』+路由,每 token 只激活少数专家。『总参数』=所有专家之和(衡量存储/容量),『激活参数』=单 token 实际经过的参数(衡量算力)。如 DeepSeek-V3 总 671B、激活仅 37B——说 MoE 参数量时要区分两者。
94高级MoE 的路由(Routing)怎么做?
常见门控路由:token 表示经小网络得各专家得分,取 top-k(多 k=1 或 2)专家,softmax 归一化后加权其输出。路由可基于 token 或 token 块。训练目标是『把相似 token 分给合适专家』。路由决定了参数利用率与容量分配。
95高级MoE 为什么训练不稳定(负载均衡问题)?
若路由总偏向少数专家,少数专家过拟合、其余欠训练,容量浪费且易坍缩。需加『负载均衡损失』(鼓励各专家被均衡选中)与『专家容量』上限(溢出 token 走残差或丢弃)。负载均衡是 MoE 训练成败的关键。
96高级什么是专家容量(Expert Capacity)?
为防单专家被压垮、控制显存,给每个专家设每步可处理的 token 上限(如 1.2×平均)。超容量的 token 被称作溢出:可丢弃、走残差或发给次优专家。容量过小丢信息、过大费资源,需与 batch/并行配合调优。
97专家状态空间模型(SSM / Mamba)与 Transformer 对比?
SSM(如 Mamba、S4)用状态递推建模序列,推理时每步常数开销、理论上无限长上下文、显存友好;但并行训练不如注意力直接、对某些检索/复制任务弱于 Transformer。Transformer 表达强、易并行但 O(n²)。两者各有取舍,长序列/低延迟场景 SSM 有优势。
98专家混合架构(Mamba+Attention)趋势是什么?
纯 SSM 在需『精确回忆具体 token』的任务上偏弱,纯 Transformer 在超长序列成本高。趋势是把两者结合:用 SSM 做高效长程压缩、用少量注意力做精确检索/复制(如 Jamba、Zamba)。目标是兼得『长上下文低成本』与『强推理/召回』。
99中级MoE 相比稠密模型的主要优势与代价?
优势:同算力下参数容量更大、知识更丰富;同等『激活参数』下质量常超稠密。代价:训练通信开销大(专家跨卡)、负载均衡难、serving 显存仍按总参数量(虽可路由优化)、工程复杂。故 MoE 多用于超大模型(数百 B 以上)。
100专家为什么前沿大模型(如 GPT-4 级别)普遍采用 MoE?
在有限推理算力下追求最大『知识容量』:MoE 让总参数(容量)做到万亿级,而每 token 激活参数保持在可推理范围,性价比高。配合 RLHF/对齐,能在成本可控下提供更强能力。总参『虚高』但激活可控,是规模化的工程最优解之一。
文档生成于 2026-08-23 · 仅供学习面试准备参考。具体结论随模型迭代演进,落地请以官方技术报告与最新论文为准。