大模型面试问题准备

发布于:2025-02-27 ⋅ 阅读:(11) ⋅ 点赞:(0)

1. BERT的多头注意力为什么需要多头?

为了捕捉不同子空间的语义信息,每个头关注不同的方面,增强模型的表达能力

2. 什么是softmax上下溢出问题?

问题描述:

上溢出:y=e^x中,如果x取非常大的正数,y(float32格式数据)就会溢出;

下溢出:如果x取非常小的负数,y就是0.00000000几,超过有效位数后,y就是0了,如果分母都是0,就会出错。

解决方法:

x同时减去x_max,即可解决。

上溢出:最大值变为了0,因此y不会溢出;

下溢出:分母必然存在1,因此不会为0。

3. 为什么NLP用LayerNorm而不是BatchNorm?

标准化的目的:1. 不同特征间的尺度需要归一化 2. 深度学习中矩阵乘容易导致向量元素不断变大,为了网络的稳定性需要归一化

BatchNorm是对一个batch-size样本内的每个特征的所有样本做归一化,LayerNorm是对每个样本的所有特征做归一化。

BN抹杀了不同特征之间的大小关系,但是保留了不同样本间的大小关系;LN抹杀了不同样本间的大小关系,但是保留了一个样本内不同特征之间的大小关系。batch size较小或者序列问题中可以使用LN。

总结原因:

首先,一个存在的问题是不同样本的序列长度不一致,而Batch Normalization需要对不同样本的同一位置特征进行标准化处理,所以无法应用;当然,输入的序列都要做padding补齐操作,但是补齐的位置填充的都是0,这些位置都是无意义的,此时的标准化也就没有意义了。

其次上面说到,BN抹杀了不同特征之间的大小关系;LN是保留了一个样本内不同特征之间的大小关系,这对NLP任务是至关重要的。对于NLP或者序列任务来说,一条样本的不同特征,其实就是时序上的变化,这正是需要学习的东西自然不能做归一化抹杀,所以要用LN。

4. RLHF训练过程是怎么样的?

RLHF 是一种结合强化学习(RL)人类反馈(HF)的 AI 训练方法,能够有效提升 AI 生成文本的质量。其核心步骤包括:

监督微调(SFT):训练初始模型。

奖励模型训练(RM):基于人类反馈优化奖励函数。

强化学习(RL):使用 PPO 等方法优化策略,提高模型表现。

5. 大模型训练有几步?

大模型训练主要有4步:

Pretraining — 预训练阶段(自监督学习,数据库量大质量低)

Supervised Finetuning(SFT) — 监督微调,也叫指令微调阶段(人工问答数据用于训练,质量高数量少)

Reward Modeling — 奖励模型训练阶段(训练奖励模型,评价大模型的输出质量)

Reinforcement Learning(RL)— 增强学习微调阶段(利用RM对大模型进行参数更新)

6. 在PyTorch中model.train()和model.eval()的作用?

model.train():启用训练模式,开启Dropout和BatchNorm的统计量更新。

model.eval():切换为评估模式,关闭Dropout,固定BatchNorm的均值和方差(使用训练阶段的统计量)。

7. 如何解决大模型推理延迟问题?

模型优化:量化(FP16/INT8)、剪枝、知识蒸馏。

系统优化:动态批处理、KV Cache复用、内存高效注意力(如FlashAttention)。

硬件加速:TensorRT编译、GPU并行(如vLLM)。

8. Transformer中前馈层(FFN)的作用?

非线性部分:增强模型表达能力

线性部分:通过升维降维使模型捕捉复杂的特征和模式

总结:FFN通过非线性变换(如ReLU/SwiGLU)增强模型表达能力,对注意力层的输出进行特征映射和维度调整,捕捉更复杂的模式。

9. 深度网络中loss除以10和学习率除以10等价吗?

取决于优化器类型。对于带有自适应学习率的优化器(如Adam、RMSprop), loss缩放与学习率调整并不等价。对于经典的SGD和Momentum SGD,将 loss乘以常数等价于将学习率乘以相同的常数。

10. Self-Attention的时间/空间复杂度?

时间复杂度:O(n^2*d)

a. Q和K点积,nxd和dxn的计算复杂度是O(n2d)

b. 每行softmax的计算,计算复杂度为O(n),n行为O(n2)

c. 值矩阵和softmax结果点积,nxd和nxn,计算复杂度为O(n2d)

11. 大模型幻觉如何缓解?

大语言模型中的幻觉源于数据压缩(data compression)和不一致性(inconsistency)。由于许多数据集可能已经过时或不可靠,因此质量保证具有挑战性。模型回答偏向于它们见过最多的内容。为了减轻幻觉,可以采取以下方法:

12. 主流大模型为何是Decoder-only?

  • 自回归生成:Decoder天然适合逐Token生成,Encoder-Decoder结构在训练时需对齐,效率低。

  • 训练效率:Decoder-only架构参数量更少,预训练成本低(如GPT、LLaMA)。

13. Attention为何除以√d?

点积结果随维度d增大而幅值增加,导致Softmax梯度消失。除以√d缩放点积值,稳定训练。

14. BERT的Embedding相加合理性?

Embedding相加等价于拼接后投影,模型能自动学习各Embedding的交互。实验表明相加不影响效果且更高效。

15. 交叉熵与KL散度的含义?

KL散度=交叉熵-熵

16. 交叉熵损失的公式?

参考链接:
1. https://blog.csdn.net/HaoZiHuang/article/details/122616235

2.自然语言处理: 第二十四章 为什么在NLP领域中普遍用LayerNorm 而不是BatchNorm?_layernorm 在nlp cv区别-CSDN博客

3. 深入解析 RLHF(Reinforcement Learning from Human Feedback)-CSDN博客

4. 通用大模型训练过程必须经历的四个阶段!_大模型训练阶段-CSDN博客

5. 基本功|解读大模型预训练时候的损失函数_大语言模型损失函数-CSDN博客


网站公告

今日签到

点亮在社区的每一天
去签到