大模型面试精选20题
本文整理了大模型领域中常见的20道高频面试题目,内容覆盖基础理论、微调策略、RAG应用及推理优化等关键方向,适合正在准备相关岗位技术面试的求职者深入学习与复习。
全文约8000字,预计阅读时间15分钟。
01|Transformer 的基本结构及其核心组件有哪些?
Transformer 是由 Google 在 2017 年提出的一种完全基于注意力机制的神经网络架构,已成为当前主流大模型的基础框架。
其主要构成包括:
典型应用场景包括 GPT、BERT 和 T5 等预训练语言模型,均建立在 Transformer 架构之上。
Attention(Q, K, V) = softmax(QK^T / √d_k) V
02|Self-Attention 与 Cross-Attention 的本质区别是什么?
两者都属于注意力机制的应用形式,但作用场景和输入来源不同:
Self-Attention 中,Query、Key 和 Value 均来源于同一输入序列。主要用于编码器部分,使得序列中每一个元素都能感知整个上下文的信息。例如,在 BERT 模型中,每个词都可以借助 Self-Attention 关注句内其他所有词语。
Cross-Attention 则是跨序列的交互机制,其中 Query 来自一个序列(如解码器的当前状态),而 Key 和 Value 来自另一个序列(通常是编码器的输出)。常见于 Transformer 解码器中,用于让生成过程动态聚焦于源序列的关键信息,典型例子为机器翻译任务中解码阶段对编码结果的关注。
总结来说:
03|Batch Normalization 与 Layer Normalization 的差异体现在哪些方面?
Batch Normalization(批归一化) 主要在 batch 维度上操作,针对每个特征通道,统计整个 mini-batch 内样本的均值和方差来进行标准化。
优点在于有助于稳定训练过程,支持使用更高的学习率;但其性能依赖于较大的 batch size,在 batch 较小时效果不佳,且不适用于变长序列模型如 RNN 或 Transformer。
公式示意如下:
BN(x) = γ * (x - μ_B) / √(σ?_B + ε) + β
Layer Normalization(层归一化) 则是在特征维度上进行归一化,对单个样本在其所有特征维度上计算均值和方差,独立于 batch 大小。
这一特性使其更适合处理序列长度不一的任务,广泛应用于 Transformer 类模型中。
优势包括不受 batch size 影响,更适合序列建模;但在某些 CNN 场景下表现略逊于 BN。
为何 Transformer 选用 Layer Norm?
LN(x) = γ * (x - μ_L) / √(σ?_L + ε) + β
04|如何理解 Transformer 中的位置编码机制?
由于 Transformer 不含循环或卷积结构,缺乏对序列顺序的天然感知能力,必须通过额外机制注入位置信息。为此引入位置编码(Position Encoding)。
目前主要有两种实现方式:
优点是可以泛化到超过训练时最大长度的序列;缺点是模式固定,无法根据任务调整。
公式如下:
PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
优点是能捕捉任务特定的位置规律;缺点是受限于训练时设定的最大长度,难以外推。
实际应用中:
05|什么是 Tokenizer?常见的分词方法有哪些?
Tokenizer 即分词器,负责将原始文本切分为模型可处理的基本单元——Token 序列,是自然语言处理流程中的前置关键步骤。
常见的分词策略可分为以下几类:
典型的子词算法包括:
子词方法的优势在于既控制了词表大小,又保留了足够的语义信息,成为现代大模型的标准配置。
BPE 的工作机制解析:
为何需要 Tokenizer?
LoRA(Low-Rank Adaptation) 属于一种高效的参数微调方法,利用低秩矩阵分解机制显著降低可训练参数数量。
基本思想:
前向传播公式如下:
W' = W + BA
数学建模过程:
原始权重矩阵表示为:
d × d
通过低秩近似方式进行分解:
W' = W + B × A
其中矩阵 B 定义为:
d × r
(r 表示秩,通常满足 r << d)
矩阵 A 的形式为:
r × d
参数量变化对比:
从原先的:
d?
减少至:
2rd
优势特点:
典型应用场景包括:
| 方法 | 参数量占比 | 显存占用 | 训练速度 | 效果表现 |
|---|---|---|---|---|
| 全量微调 | 100% | 高 | 慢 | 最优 |
| LoRA | 0.1%-1% | 低 | 快 | 接近全量 |
| QLoRA | 0.1%-1% | 极低 | 中等 | 接近全量 |
各方法详细说明:
全量微调(Full Fine-tuning):
- 更新全部模型参数。
- 对硬件要求极高(例如 7B 模型需 40GB 以上显存)。
- 训练周期长,但性能上限最高,存在过拟合风险。
LoRA:
- 仅优化新增的低秩矩阵部分。
- 显存需求显著下降(7B 模型约需 16GB)。
- 训练速度快,性能逼近全量微调。
QLoRA(Quantized LoRA):
- 结合 LoRA 与 4-bit 量化技术。
- 显存消耗极低(7B 模型仅需约 6GB),可在消费级显卡运行。
- 性能几乎无损,适合边缘场景。
选择建议:
SFT(Supervised Fine-Tuning,监督式微调) 是基于已预训练的模型,采用标注数据集进行有监督学习的一种微调范式。
核心功能:
训练数据格式通常为:
(prompt, response)
示例:
输入:什么是机器学习?
输出:机器学习是人工智能的一个分支...
训练流程概述:
与预训练阶段的区别:
典型应用方向:
RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习) 是一种借助人工偏好数据来优化模型输出质量的技术路径。
三大实施步骤:
步骤一:监督微调(SFT)
利用高质量的人工标注数据对预训练模型进行初步微调,使其掌握基本的任务响应模式。
例如:教会模型如何正确回答问题。
步骤二:奖励模型训练(Reward Model Training)
收集人类对多个模型输出结果的偏好判断,据此训练一个打分模型。
- 输入:模型生成的回答内容
- 输出:反映人类偏好的奖励分数
例如:若认为回答 A 优于 B,则赋予 A 更高的评分。
步骤三:强化学习优化(PPO 算法)
以奖励模型输出的分数作为强化信号,使用 PPO(近端策略优化)算法迭代优化主模型。
- 目标:最大化奖励得分
- 约束:通过 KL 散度控制更新幅度,防止偏离原始 SFT 模型太远
为何引入 RLHF?
实际应用案例:
PEFT(Parameter-Efficient Fine-Tuning,参数高效微调) 指一类只需调整少量参数即可实现良好微调效果的技术集合。
主流方法及其特点如下:
Adapter(适配器模块)
- 在 Transformer 层间插入小型全连接网络结构。
- 仅训练新增的 Adapter 参数,原模型参数保持冻结。
- 优点:实现简单直观。
- 缺点:推理时增加额外计算开销,带来延迟。
LoRA(低秩适应)
- 当前最受欢迎的方法之一。
- 利用低秩矩阵分解对权重增量进行建模。
- 优点:不改变推理结构,无额外延迟,效果优异。
- 缺点:需合理设定秩(rank)大小。
Prefix Tuning(前缀调优)
- 在输入序列前端添加一组可学习的虚拟 prefix tokens。
- 优点:无需修改模型内部架构。
- 缺点:往往需要较长的 prefix 才能达到理想效果。
Prompt Tuning(提示调优)
- 通过设计可学习的 soft prompts 来引导模型输出。
- 优点:轻量且灵活。
- 缺点:对 prompt 初始化敏感,泛化能力有限。
在参数高效微调方法中,存在多种技术路径。其中一种与 Prefix Tuning 类似,但仅对 soft prompts 进行优化。
特点如下:
该方法在模型的每一层均引入可学习的提示(prompts),从而增强模型对任务的理解能力。
| 方法 | 参数量 | 推理延迟 | 效果 | 使用难度 |
|---|---|---|---|---|
| Adapter | 中等 | 增加 | 好 | 中等 |
| LoRA | 少 | 不增加 | 最好 | 简单 |
| Prefix Tuning | 少 | 不增加 | 好 | 中等 |
| Prompt Tuning | 最少 | 不增加 | 中等 | 简单 |
| P-Tuning v2 | 少 | 不增加 | 好 | 中等 |
推荐建议:
在大多数实际应用场景下,优先推荐使用 LoRA 方法,因其在模型效果与运行效率之间达到了最佳平衡。
RAG(Retrieval-Augmented Generation,检索增强生成)是一种融合了信息检索与文本生成的技术框架,通过引入外部知识库来提升大语言模型的输出质量。
核心流程包括三个阶段:
优势:
局限性:
典型应用领域:
文本分块是 RAG 系统中的关键环节,直接影响后续检索的准确性和完整性。
常见分块策略包括:
最佳实践建议:
检索质量是决定 RAG 系统表现的核心因素,可通过以下多个维度进行优化:
常用评估指标:
RAG-Fusion 是一种改进型的检索增强生成方法,旨在通过多角度查询生成与结果融合机制提升整体性能。
工作流程如下:
score(d) = Σ 1/(k + rank_i(d))
优势:
不足之处:
Graph RAG 是一种基于知识图谱的检索增强生成(RAG)方法。其核心是将原始文档内容转化为结构化的知识图谱,并利用图的拓扑结构进行信息检索与逻辑推理。
该方法的工作流程主要包括以下几个阶段:
主要优势:
存在的局限性:
适用场景包括:
KV Cache(Key-Value 缓存)是一种用于优化大模型自回归推理过程的关键技术,旨在减少重复计算,显著提升生成速度。
在 Transformer 架构中,自注意力机制需要对每个 token 计算 Query (Q)、Key (K) 和 Value (V)。在传统的自回归生成过程中,每生成一个新 token,都会重新计算历史所有 token 的 K 和 V,造成大量冗余运算。
这一机制避免了重复运算,极大降低了计算开销。
if first_token:
k_cache = compute_k(input)
v_cache = compute_v(input)
else:
k_new = compute_k(new_token)
v_new = compute_v(new_token)
k_cache = concat([k_cache, k_new])
v_cache = concat([v_cache, v_new])
Flash Attention 是一种高效的自注意力计算算法,通过分块处理和在线 Softmax 策略,有效缓解长序列下显存消耗过大的问题。
标准的注意力机制需要构建并存储完整的注意力分数矩阵,空间复杂度为 O(n)。对于超长序列(如 32K tokens),仅注意力矩阵就可能占用高达 32GB 显存,严重制约实际应用。
这种设计使得显存占用从 O(n) 降低至 O(n),同时保持数值精度和计算效率。
为了提升大模型在实际部署中的响应速度与资源利用率,业界发展出多种推理加速策略,涵盖模型、框架、硬件等多个层面。
适用场景总结:
代价考量:
通过采用在线 softmax 策略,Flash Attention 能够在不保存完整注意力分数矩阵的前提下完成计算。该方法利用分块处理机制,在前向传播过程中逐块计算并更新 softmax 结果,从而显著降低显存占用。
O = softmax(QK^T / √d) V
为了进一步节省内存,反向传播阶段不保留中间激活值,而是根据需要重新计算这些值。这种“以时间换空间”的策略虽然略微增加计算时间,但大幅减少了显存消耗。
标准注意力机制依赖全局矩阵运算,而 Flash Attention 采用分块策略与在线 softmax 相结合的方式,动态维护归一化状态,避免存储完整的注意力权重矩阵。
大模型幻觉指模型生成的内容与输入无关、违背事实或存在逻辑矛盾的现象。这类问题在开放域生成任务中尤为突出。
显存管理是大模型训练的关键挑战之一。以下是从多个维度出发的有效优化方案:
以上内容覆盖了大模型领域的核心知识点:
扫码加好友,拉您进群



收藏
