2026-01-04 · AI
32
AI · 2026-01-04

大模型面试100问01:基础概念与架构篇

TL;DR

面试官问你Transformer原理,你能答到什么深度?本文从12个高频面试题入手,带你搞懂大模型的底层架构——不是背概念,是真正理解为什么GPT用单向注意力、LLaMA为什么选RoPE、多头注意力到底在干什么。读完这篇,你能用生活比喻讲清楚自注意力机制,能画出三种LM范式的架构图,还能回答"什么场景用BERT、什么场景用LLaMA"这种送分题。


一、什么是LLM?与传统NLP模型的本质区别

核心定义

大语言模型(LLM)是基于Transformer架构、通过海量文本预训练的自回归生成模型。它的"大"体现在三个维度:

  1. 参数规模:从GPT-3的1750亿到LLaMA 3.1的4050亿参数
  2. 训练数据:万亿级token(LLaMA 3用了15T tokens)
  3. 涌现能力:规模突破临界点后出现的零样本推理、上下文学习等能力

与传统NLP的四大区别

维度
传统NLP模型
大语言模型

训练范式
任务特定监督学习
预训练+微调

数据需求
需要大量标注数据
无监督预训练,少量标注微调

泛化能力
单任务专家
多任务通才

知识来源
特征工程+规则
从数据中自动学习

生活比喻:传统NLP像专科医生,只会看心脏病;LLM像全科医生,啥病都能聊两句,虽然不一定比专科医生精准,但胜在覆盖面广。


二、主流模型对比:GPT vs BERT vs LLaMA

架构差异表

特性
GPT系列
BERT
LLaMA系列

架构类型
Decoder-only
Encoder-only
Decoder-only

注意力机制
单向因果注意力
双向注意力
单向因果+GQA

位置编码
绝对位置编码
绝对位置编码
RoPE旋转位置编码

归一化
Layer Normalization
Layer Normalization
RMSNorm + Pre-LN

激活函数
GELU
GELU
SwiGLU

训练目标
下一词预测
MLM + NSP
下一词预测

LLaMA 3最新参数(基于2025年技术报告)

关键洞察:LLaMA的优势不在参数量,而在架构细节的极致打磨——RMSNorm比LayerNorm快7%-64%,RoPE让模型能处理比训练时更长的序列。

参考资料:Meta LLaMA 3技术报告 (arXiv:2407.21783)


三、Transformer核心原理:自注意力机制为什么有效?

自注意力的本质

自注意力(Self-Attention)让模型在处理每个词时,能"看到"整个句子的其他词,并动态决定关注哪些词。

计算步骤(6步拆解)

  1. 生成Q/K/V向量:输入词向量通过三个权重矩阵变换
    Query = 输入 × W_Q (我要找什么?)
    Key = 输入 × W_K (我是什么?)
    Value = 输入 × W_V (我的内容是什么?)

  2. 计算注意力分数:Query和Key做点积
    Score = Q · K^T

  3. 缩放归一化:除以√d_k(防止梯度消失)
    Score = Score / √64

  4. Softmax归一化:转换为概率分布
    Attention_Weights = Softmax(Score)

  5. 加权求和:用权重对Value加权
    Output = Attention_Weights × V

  6. 拼接输出:多头注意力的结果拼接后通过线性层

生活比喻

想象你在图书馆找资料:
- Query:你的问题("我要找关于Transformer的书")
- Key:每本书的标签("深度学习"、"NLP"、"计算机视觉")
- Value:书的内容
- 注意力分数:你的问题和每本书标签的匹配度
- 加权求和:根据匹配度,重点看最相关的几本书

为什么比RNN好?

维度
RNN
Self-Attention

并行化
必须顺序处理
所有位置同时计算

长距离依赖
梯度消失/爆炸
直接建模任意距离

计算复杂度
O(n)
O(n²)(但可并行)

关键洞察:RNN像接力赛,信息要一棒一棒传;Self-Attention像群聊,所有人同时说话,谁说的重要就多听谁的。

参考资料:Attention Is All You Need (arXiv:1706.03762)


四、多头注意力的必要性

为什么不用单头?

单头注意力只能学习一种关注模式,就像你只能用一个角度看问题。

多头注意力把注意力分成多个"头",每个头学习不同的关注模式:
- Head 1:关注句法关系(主谓宾)
- Head 2:关注语义相似性(同义词)
- Head 3:关注位置信息(相邻词)

数学表达

MultiHead(Q, K, V) = Concat(head_1, ..., head_h) × W_O

其中 head_i = Attention(Q×W_Q^i, K×W_K^i, V×W_V^i)

实验证据

LLaMA 3 405B使用128个注意力头,每个头的维度是128(16384 / 128)。研究表明:
- 不同头确实学到了不同的语言模式
- 某些头专注于位置信息,某些头专注于语义
- 移除任何一个头都会导致性能下降

生活比喻:看一部电影,你可以关注剧情、演技、摄影、配乐——多头注意力就是让模型同时从多个角度理解文本。

参考资料:Analyzing Multi-Head Self-Attention (arXiv:1905.09418)


五、位置编码:绝对位置 vs 相对位置 vs RoPE

为什么需要位置编码?

Self-Attention本身是位置无关的——打乱句子顺序,注意力分数不变。但语言是有顺序的,"狗咬人"和"人咬狗"意思完全不同。

三种位置编码对比

方法
原理
优势
劣势
代表模型

绝对位置编码
直接叠加位置向量
简单直观
难以外推到更长序列
GPT-2, BERT

相对位置编码
在注意力矩阵中加入相对距离偏置
泛化能力强
计算复杂度高
T5, DeBERTa

RoPE旋转位置编码
通过复数旋转注入位置信息
外推能力强,计算高效
理论复杂
LLaMA系列

RoPE的核心思想

旋转位置编码(Rotary Positional Embeddings)把词向量成对分组,在二维平面上旋转一个角度:

旋转角度 = 位置索引 m × 频率参数 θ

关键特性:两个token的注意力分数只取决于它们的相对距离,而非绝对位置。

为什么LLaMA选RoPE?

  1. 长上下文外推:LLaMA 3.1训练时用8K上下文,推理时能处理128K
  2. 计算效率:不需要额外的位置嵌入层
  3. RoPE频率调整:LLaMA 3.1把base frequency调到500,000,支持超长上下文

生活比喻:绝对位置编码像门牌号("我住3号楼"),相对位置编码像方向("我在你左边两栋楼"),RoPE像指南针旋转角度("我在你东北45度方向")。

参考资料:RoFormer论文 (arXiv:2104.09864)、LLaMA 3技术报告


六、Tokenizer原理:BPE vs WordPiece vs SentencePiece

为什么需要Tokenizer?

模型不能直接处理文本,需要把文本切分成token(词元),再转换成数字ID。

三种算法对比

算法
原理
优势
代表模型

BPE
从字符开始,迭代合并高频字符对
平衡词表大小和OOV
GPT系列

WordPiece
类似BPE,但用似然最大化选择合并
更好的语言建模
BERT

SentencePiece
直接从原始文本训练,无需预分词
支持多语言,无空格依赖
LLaMA 1/2

BPE工作流程

  1. 初始化:词表 = 所有字符
  2. 统计:找出最高频的字符对(如"e"+"r" → "er")
  3. 合并:把"er"加入词表
  4. 重复:直到词表达到目标大小(如32K)

示例

原文:lower lower newest widest
初始:l o w e r _ l o w e r _ n e w e s t _ w i d e s t
迭代1:l o w er _ l o w er _ n e w e s t _ w i d e s t
迭代2:l ow er _ l ow er _ n e w e s t _ w i d e s t
...

LLaMA 3的重大变化

LLaMA 3放弃SentencePiece,改用tiktoken(GPT-4同款):
- 词表从32K扩大到128K
- 更好的多语言支持
- 更高效的压缩率(同样文本用更少token)

参考资料:Neural Machine Translation of Rare Words with Subword Units (arXiv:1508.07909)


七、prefix LM vs causal LM vs encoder-decoder

三种范式架构图

Encoder-only (BERT):
[输入] → [双向Encoder] → [输出表示]

Decoder-only (GPT/LLaMA):
[输入] → [单向Decoder] → [生成下一词]

Encoder-Decoder (T5):
[输入] → [双向Encoder] → [单向Decoder] → [生成输出]

详细对比

维度
Causal LM
Prefix LM
Encoder-Decoder

注意力
单向因果
前缀双向+后缀单向
Encoder双向+Decoder单向

适用任务
文本生成
理解+生成
Seq2Seq任务

代表模型
GPT, LLaMA
GLM, PaLM
T5, BART

优势
生成流畅
兼顾理解和生成
任务适配性强

劣势
理解能力弱
训练复杂
参数量大

Causal LM(因果语言模型)

核心:只能看到当前位置之前的token(单向注意力)

掩码矩阵

     t1  t2  t3  t4
t1 [ 1   0   0   0 ]
t2 [ 1   1   0   0 ]
t3 [ 1   1   1   0 ]
t4 [ 1   1   1   1 ]

为什么GPT/LLaMA选这个
- 自回归生成天然适配
- 训练和推理一致
- 扩展性好(参数越大效果越好)

Prefix LM

核心:前缀部分双向注意力,生成部分单向注意力

应用场景
- 问答任务(问题部分双向,答案部分单向)
- 填空任务

代表模型:GLM(ChatGLM的前身)

Encoder-Decoder

核心:Encoder处理输入(双向),Decoder生成输出(单向+交叉注意力)

适用任务
- 机器翻译
- 文本摘要
- 任何输入输出差异大的任务

为什么现在不流行
- 参数量是Decoder-only的2倍
- 预训练目标不如下一词预测简单
- 大规模实验证明Decoder-only效果更好

参考资料:GLM论文 (arXiv:2103.10360)


八、Layer Normalization的三种实现

三种方法对比

方法
公式特点
优势
代表模型

Post-LN
LN(x + Sublayer(x))
原始设计,理论分析充分
原始Transformer

Pre-LN
x + Sublayer(LN(x))
梯度流更稳定,深层模型训练更易
GPT-3/4

RMSNorm
仅缩放,省略均值中心化
计算效率高(减少7%-64%时间)
LLaMA系列

RMSNorm在LLaMA中的实现

核心思想:LayerNorm的成功主要靠缩放不变性,而非平移不变性。RMSNorm舍弃均值计算,只用均方根缩放。

数学公式

RMS(a) = √(1/n × Σ(a_i²))
ā_i = (a_i / RMS(a)) × g_i

代码实现

class RMSNorm(nn.Module):
    def __init__(self, layer_shape, eps=1e-6):
        super().__init__()
        self.scale = nn.Parameter(torch.ones(layer_shape))

    def forward(self, x):
        rms = torch.sqrt(torch.mean(x ** 2, dim=-1, keepdim=True) + self.eps)
        return x / rms * self.scale

为什么LLaMA选RMSNorm?

  1. 计算效率:减少均值计算和减法操作
  2. 梯度稳定性:处理不同量级激活值时更鲁棒
  3. 2025年技术报告新发现:优化的fused kernels让LayerNorm速度接近RMSNorm,历史性能差距主要来自naive实现

参考资料:LLaMA技术报告、Root Mean Square Layer Normalization (arXiv:1910.07467)


九、涌现能力的本质

什么是涌现能力?

涌现能力(Emergent Abilities)指模型规模突破某个临界点后,突然出现的新能力:
- 零样本推理:不需要示例就能完成任务
- 上下文学习:从prompt中的示例学习
- 思维链推理:逐步推理复杂问题

规模定律 vs 数据质量

规模定律派(OpenAI、DeepMind):
- 参数越多、数据越多、计算越多 → 能力越强
- 涌现是量变到质变的必然结果

数据质量派(Meta、Mistral):
- LLaMA 2用2T tokens训练,性能超过用更多数据的模型
- 高质量数据 > 海量低质量数据

2025年技术报告共识

两者都重要
- 规模是基础(7B以下很难出现涌现)
- 数据质量决定上限(垃圾数据再多也没用)
- 训练策略很关键(课程学习、数据去重)

生活比喻:规模定律像健身房练肌肉,数据质量像营养摄入——光练不吃长不大,光吃不练也白搭。

参考资料:Scaling Laws for Neural Language Models (arXiv:2001.08361)


十、模型幻觉的根源与缓解方案

幻觉分类

根源分析(基于2025年OpenAI研究报告)

幻觉本质是激励问题:下一词预测训练目标奖励"自信猜测"而非"校准的不确定性"。

生活比喻:考试时不会的题,瞎蒙一个答案比写"我不知道"得分更高——模型学会了"自信地瞎说"。

最新检测方法(基于2024-2025技术报告)

方法
类型
核心原理

Semantic Entropy (Nature 2024)
不确定性估计
通过语义空间熵检测"confabulations"

SelfCheckGPT
零资源黑盒
多次生成比对,波动大则风险高

FActScore
原子事实验证
将输出分解为原子事实逐一验证

MHAD (IJCAI 2025)
内部表征分析
利用LLM内部层间互补信息检测

缓解最佳实践

  1. RAG检索增强生成 — 最主流方案,让模型基于检索到的事实回答
  2. Chain-of-Thought提示 — GPT-4o幻觉率从53%降至23%
  3. DPO偏好优化 — 替代复杂RLHF流程,训练模型拒绝幻觉
  4. 引用机制 — 输出与源文档关联,可追溯验证

参考资料:ACM TOIS 2024幻觉综述、Nature 2024语义熵论文


十一、复读机问题:为什么LLM会重复输出?

根源分析

  1. 自我强化效应:已生成token概率在后续步骤被放大
  2. 注意力机制倾向:倾向于"复制"已见token
  3. 解码策略问题:Greedy search最易产生重复

主流解决方案

方案
原理
推荐值

Repetition Penalty
对已出现token的logit施加惩罚
1.1-1.2

Nucleus Sampling (Top-p)
从累积概率超过阈值p的最小token集合采样
0.9-0.95

Temperature
调整概率分布尖锐程度
任务依赖

Frequency Penalty
惩罚与token出现次数成正比
0.3-0.5

基于2024-2025技术报告的最新进展

实战建议
- 创意写作:temperature=0.8-1.0, top_p=0.95
- 代码生成:temperature=0.2-0.5, repetition_penalty=1.1
- 问答任务:temperature=0.7, top_p=0.9

参考资料:ACL 2025 Findings、ICLR 2025 Min-p论文


十二、什么场景用BERT,什么场景用LLaMA?

核心判断标准

看任务类型
- 理解任务 → BERT(Encoder-only)
- 生成任务 → LLaMA(Decoder-only)

详细场景对比

任务类型
推荐模型
原因

文本分类
BERT
双向注意力,更好的语义理解

命名实体识别
BERT
需要看到完整上下文

情感分析
BERT
理解任务,不需要生成

问答系统(抽取式)
BERT
从文本中抽取答案

文本生成
LLaMA
自回归生成,流畅度高

对话系统
LLaMA
需要生成回复

代码生成
LLaMA
自回归生成代码

问答系统(生成式)
LLaMA
生成答案而非抽取

2025年趋势

Decoder-only一统天下
- LLaMA等模型通过微调也能做理解任务
- 统一架构降低工程复杂度
- 生成式问答效果超过抽取式

BERT的生存空间
- 资源受限场景(BERT-base只有110M参数)
- 对延迟极度敏感的任务
- 不需要生成能力的纯理解任务

生活比喻:BERT像阅读理解专家,只会分析文本;LLaMA像作家,既能读懂也能写作——现在大家更喜欢多面手。


小结

本文从12个高频面试题入手,系统梳理了大模型的基础架构:

  1. LLM定义:参数规模、训练数据、涌现能力三位一体
  2. 模型对比:GPT单向生成、BERT双向理解、LLaMA架构极致优化
  3. 自注意力:Q/K/V机制让模型动态关注重要信息
  4. 多头注意力:从多个角度理解文本
  5. 位置编码:RoPE让LLaMA能处理超长上下文
  6. Tokenizer:BPE/WordPiece/SentencePiece各有千秋
  7. 三种LM范式:Decoder-only成为主流
  8. Layer Normalization:RMSNorm效率更高
  9. 涌现能力:规模+数据质量缺一不可
  10. 幻觉问题:RAG+CoT+DPO三管齐下
  11. 复读机问题:调整解码参数即可缓解
  12. 场景选择:理解用BERT,生成用LLaMA

下一篇预告:训练与优化篇——LoRA、QLoRA、RLHF、DPO怎么选?

目录 最新
← 左侧翻上一屏 · 右侧翻下一屏 · 中间唤出菜单