大模型实习面试题 6 道及解析
本文整理了 6 道常见的大模型(LLM)实习面试题,涵盖模型架构、归一化技术、参数量计算、提示微调策略、注意力机制复杂度以及微调中的灾难性遗忘问题。内容适合算法岗求职者深入复习。
问题 1:LLaMA 和 ChatGLM 的区别
LLaMA(Large Language Model Meta AI)与 ChatGLM(General Language Model)是两款具有代表性的开源大语言模型,它们在架构设计、训练目标和应用场景上存在显著差异。
1. 模型架构
- LLaMA:采用纯 Decoder-only 的 Transformer 架构。这种架构在生成任务上表现优异,推理效率较高,但通常不具备强大的双向编码能力。其后续版本如 LLaMA 2/3 进一步优化了上下文窗口和指令遵循能力。
- ChatGLM:基于 GLM(General Language Model)架构,采用了 Pre-trained, Prompt-tuned, and Fine-tuned (PPT) 范式。它结合了 Encoder 和 Decoder 的能力,支持双向编码和单向解码,因此在理解类任务(如阅读理解、分类)上可能更具优势,同时也能进行对话生成。
2. 训练数据与目标
- LLaMA:主要使用大规模通用语料进行自回归预训练,旨在提升模型的通用知识储备和文本生成流畅度。
- ChatGLM:在预训练阶段引入了更多中文语料,并在后续版本中强化了多轮对话的微调,使其在中文语境下的对话交互体验更为自然。
3. 开源协议与生态
- LLaMA:早期版本对学术研究和商业应用有特定限制,后续版本逐步放宽但仍需申请。社区衍生出大量量化和微调工具(如 llama.cpp)。
- ChatGLM:由智谱 AI 发布,对国内开发者较为友好,提供了完整的中文文档和部署方案,便于在国内环境快速落地。
问题 2:BatchNorm 和 LayerNorm 的区别
归一化技术在深度学习中至关重要,BatchNorm(BN)和 LayerNorm(LN)是两种最常用的方法,它们的计算维度和适用场景不同。
1. 计算维度
- BatchNorm (BN):针对 Batch 维度进行归一化。对于同一个特征通道,计算该批次(Batch)中所有样本在该通道上的均值和方差。公式为: $$\mu_B = \frac{1}{m} \sum_{i=1}^{m} x_i$$ $$\sigma^2_B = \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu_B)^2$$ 其中 $m$ 是 Batch Size。
- LayerNorm (LN):针对 Layer 维度进行归一化。对于单个样本,计算该样本在所有神经元(或隐藏层单元)上的均值和方差。即同层神经元输入拥有相同的均值和方差,不同的输入样本有不同的均值和方差。
2. 依赖性与稳定性
- BN:依赖于 Batch Size。如果 Batch Size 过小(如为 1),统计量估计不准确,导致训练不稳定。因此 BN 不适合 RNN 或变长序列处理。
- LN:不依赖于 Batch Size,也不受序列长度影响。无论 Batch Size 是多少,每个样本都独立计算归一化参数。这使得 LN 非常适合 NLP 任务中的变长序列输入,以及在 Batch Size 为 1 的推理场景中使用。
3. 应用场景
- BN:常用于计算机视觉(CV)领域的 CNN 网络,因为 CV 任务通常 Batch Size 较大且图像尺寸固定。
- LN:广泛用于自然语言处理(NLP)和大语言模型(Transformer 架构),因为文本输入通常是变长的,且 Transformer 默认使用 LN。
问题 3:BERT 的参数量是怎么决定的
BERT(Bidirectional Encoder Representations from Transformers)的参数量主要由其超参数配置决定,具体包括层数(Layers)、隐藏层大小(Hidden Size)、注意力头数(Attention Heads)等。


