← 知识整理
AI 技术与工程 / 知识整理 · 中文

LLM 面试 / 基础架构与组件

LLM 大模型面试基础架构与组件全集。涵盖 Decoder 三种架构(prefix/causal/encoder-decoder) + Layer Norm (LN/RMS/Deep Norm) + 激活函数(FFN/GeLU/Swish/GLU 系列) + Attention 升级(MQA/GQA/Flash/线性化/稀疏) + Transformer 操作 + 损失函数(KL/交叉熵) + 相似度函数(cosine/欧氏/Jaccard) + LLMs 进阶面(生成式/复读机问题/8 大缓解策略) + LLMs 训练经验帖

资料来源:大语言模型学习 · 本站发布:2026-09-26

TransformerLLM基础模型训练

LLM 大模型面试题的"基础与架构"板块。来源:AiGC 面试宝典(宁静致远),共 9 份 PDF + 顶层 3 份综合面试题集。


一、Decoder 三种架构(基础面 1)

主流开源模型体系分类

类型 代表模型 注意力
Prefix Decoder 系 ChatGLM / ChatGLM2 / U-PaLM 输入双向 + 输出单向
Causal Decoder 系 LLaMA-7B / LLaMa 衍生物 从左到右单向
Encoder-Decoder T5 / Flan-T5 / BART 输入双向 + 输出单向(独立的 encoder)

三者区别 = attention mask 不同

  • Prefix Decoder :对前缀(prompt)做双向 attention,后续生成做单向
  • Causal Decoder:全程单向,从左到右
  • Encoder-Decoder:Encoder 双向,Decoder 单向,且 Decoder 可访问 Encoder 全输出

二、Layer Normalization(LN/RMS/Deep)

1. Layer Norm 公式

LN(x) = γ * (x - μ) / σ + β
其中 μ, σ 是 x 的均值和标准差(layer 内每个样本的特征维度)

2. RMS Norm

RMS Norm(x) = γ * x / RMS(x)
其中 RMS(x) = sqrt(mean(x²))

相比 LN 的特点:

  • 简化:去除掉均值计算的平移部分(只留 scaling,无 shift)
  • 更快:计算速度更快
  • 效果相当甚至略有提升

3. Deep Norm

思路:

  • 执行 LN 之前 up-scale 残差连接(alpha > 1)
  • 初始化阶段 down-scale 模型参数(beta < 1)

优点:解决了 1000 层 Transformer 的训练稳定性问题。Microsoft 2022 论文。

主流 LLM 用哪种 Norm?

模型 Norm
GPT 系列 Layer Norm
BERT Layer Norm
LLaMA / GLM RMS Norm
GPT-NeoX / GLM-130B Deep Norm

三、激活函数

FFN 块基本公式

FFN(x) = max(0, xW_1 + b_1) * W_2 + b_2
中间维度通常为 4h

主要激活函数

函数 公式 特性
GeLU x * Φ(x),Φ 是高斯 CDF 平滑替代 ReLU
Swish x * σ(x) 自动求导友好
GLU (x * W) ⊗ σ(x * V) 线性门控单元
GeGLU (x * W) ⊗ GeLU(x * V) GLU + GeLU
SwiGLU (x * W) ⊗ Swish(x * V) GLU + Swish,LLaMA 使用

GLU 系列中间维度 = 4h * 2/3(因为有 3 个权重矩阵而非 2 个)。

主流 LLM 用哪种激活函数?

模型 激活
GPT-3 GeLU
LLaMA / LLaMA-2 / LLaMA-3 SwiGLU
PaLM SwiGLU
GLM-130B GeGLU

四、Attention 升级

传统 Attention 的问题

  1. 上下文长度约束(O(n²) 显存)
  2. 速度慢、内存占用大

Attention 优化方向

  1. 提升上下文长度
  2. 加速 + 减少内存占用

Attention 变体清单

变体 思路
稀疏 attention 引入稀疏偏差降低复杂度
线性化 attention 解开 attention 矩阵与内核特征图,逆序计算实现线性复杂度
原型 / 内存压缩 减少 Q / KV 数量
低阶 self-Attention 捕获低阶属性
Attention 与先验 用先验补充或替代标准 attention
改进多头机制 MQA / GQA 等

Multi-Query Attention (MQA)

  • 所有头共享同一 K, V,只保留多个 Q
  • 效果:推理大幅加速,显存 KV cache 显著减小
  • 代价:略损精度(后来 GQA 改善)

Grouped-Query Attention (GQA)

  • MQA 与 MHA 的折中:将 Q 头分组,每组共享一对 K, V
  • 效果:精度接近 MHA + 显存接近 MQA
  • LLaMA-2 / 3 默认使用

Flash Attention

  • 利用 GPU 显存层级,减少 HBM 访问
  • 块状(tiling)计算,不实例化全 attention 矩阵
  • 2-4x 加速,显存接近线性

五、Transformers 操作(代码题)

利用 transformers 加载 Bert

from transformers import BertModel, BertTokenizer
model_name = 'bert-base-uncased'
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertModel.from_pretrained(model_name)

输出指定 hidden_state

output = model(input_ids, output_hidden_states=True)
# output.last_hidden_state 最后一层
# output.hidden_states 每一层 list

BERT 最后一层 / 每一层向量输出

  • last_hidden_state = encoder 最后一层
  • pooler_output = [CLS] 的特殊处理输出
  • hidden_states[i] = 第 i 层

六、损失函数

KL 散度

KL(P || Q) = Σ P(x) log(P(x) / Q(x))

衡量两个概率分布的差异。非对称(KL(P||Q) ≠ KL(Q||P))。

交叉熵损失

CE = -Σ y_true * log(y_pred)

物理意义:衡量模型预测分布与真实分布的差异。

KL 散度与交叉熵的区别

  • CE = H(P) + KL(P||Q)
  • H(P) 是真实分布的熵(常数)
  • 优化 CE 等同于优化 KL(P||Q)

分类用 CE 不用 MSE

  • CE 梯度大(随预测错误增大),收敛快
  • MSE 用 sigmoid 时梯度消失,训练慢

softmax 数值稳定问题

如果 e^x 超过 float,减去最大值再 softmax(等价但不溢出):

softmax(x_i) = exp(x_i - max(x)) / Σ exp(x_j - max(x))

多任务学习 loss 差异过大

方法 思路
加权 手动调权重
不确定性加权(Kendall et al.) 学习每任务的不确定性
GradNorm 梯度归一化
PCGrad 投影冲突梯度

七、相似度函数

除了 cosine 还有哪些?

| 方法 | 公式 | |---|---| | 余弦相似度 | cos(θ) = A·B / (||A|| ||B||) | | 欧氏距离 | √Σ(a_i - b_i)² | | 曼哈顿距离 | Σ|a_i - b_i| | | Jaccard 相似度 | |A∩B| / |A∪B| | | 皮尔逊相关系数 | cov(X,Y) / (σ_X σ_Y) |

对比学习(Contrastive Learning)

  • 无监督学习:训练模型让相同样本表示更近,不同样本更远
  • 网络:Siamese / Triplet
  • 损失:InfoNCE / Triplet Loss

对比学习负样本

重要程度:取决于具体任务和数据。

负样本构造成本高怎么解决?:

  • 难负样本挖掘(Hard Negative Mining):每次选模型表现最差的样本作负
  • In-batch Negatives:batch 内非自身样本作负
  • MoCo / SimCLR:动量队列扩大负样本数

八、LLMs 进阶面(生成式 + 复读机问题)

什么是生成式大模型?

自回归生成:基于前面 token 逐一预测下一个 token。

大模型如何让生成丰富而不单调?

  • 采样策略:Temperature / Top-K / Top-P / Nucleus
  • 多样性增强:Beam Search 多束 / Diverse Beam

LLMs 复读机问题

症状:生成时 反复说同一句话 / 同一段。

8 大缓解策略:

策略 思路
Unlikelihood Training 训练时惩罚已生成过的 token
引入噪声 训练数据加噪声,提升鲁棒性
Repetition Penalty 推理时降低已出现 token 概率
Contrastive Search 对比上下文,降低相似度
Beam Search 多束搜索更好覆盖
Top-K Sampling 限制选择空间
Nucleus Sampler (Top-P) 累计概率截断
Temperature 调节分布平滑度
No repeat ngram size 禁止重复出现 N-gram
重复率指标检测 训练时监控重复率作 loss 项

九、LLMs 训练经验帖(实操向)

分布式训练框架选择

多用 DeepSpeed,少用 PyTorch 原生 torchrun。 在节点数量少时区别不大,数百节点时 DeepSpeed 强大(便于启动 + 性能分析)。

训练建议清单

  1. 弹性容错和自动重启 — 大模型训练 几周 甚至 几月,机器故障常发生
  2. 定期保存模型 (checkpointing) — 中断恢复必备
  3. 想清楚再开始训练 — 大模型训练成本高,先想明确目的,记录参数和中间结果
  4. 学习率热身 (warmup) — 防止训练初期 loss 爆炸
  5. 梯度裁剪 (gradient clipping) — 防止梯度爆炸
  6. Mixed Precision (混合精度) — fp16 加速,fp32 稳定
  7. Gradient Accumulation — 显存不够时累积梯度模拟大 batch
  8. Gradient Checkpointing — 时间换显存

十、综合面试题集(顶层 3 大 PDF)

Transformer 面试题总结 97 道

涵盖:

  • Transformer 架构原理(self-attention / multi-head / 位置编码)
  • BERT / GPT / T5 区别
  • Position Encoding(绝对 / 相对 / 旋转 RoPE)
  • 训练细节(layer norm 位置 / dropout / warmup)
  • 推理优化(KV cache / FlashAttention)
  • 多语言 / 多模态 Transformer

AI 大模型面试题 (102 题)

涵盖:

  • LLM 通识(GPT-3/4 / LLaMA / Claude 演化)
  • RAG / Agent / 工具调用
  • 训练(SFT / RLHF / DPO)
  • 推理优化(量化 / 蒸馏 / 推理加速)
  • 评测(MMLU / GSM8K / HumanEval)

大模型 LLM 最全八股和答案 2024

集成上述题目的"标答"版本,适合突击复习。


See also

高频考点优先级

  1. 🔥🔥🔥 Attention 各种变体(MQA/GQA/Flash) — 每场必考
  2. 🔥🔥🔥 复读机问题 + 缓解(采样策略全家桶) — 每场必考
  3. 🔥🔥 激活函数(SwiGLU 必懂)
  4. 🔥🔥 Layer Norm vs RMS Norm
  5. 🔥🔥 损失函数(CE vs MSE 数值稳定)
  6. 🔥 三种 Decoder 架构区别
  7. 🔥 Transformers 代码加载/输出