大模型基础面试知识全解析
本文系统梳理了大语言模型(LLM)的核心技术知识点,涵盖注意力机制变体、位置编码、归一化方法、预训练范式、微调技术如 SFT 与 RLHF、分布式训练策略、多模态模型原理以及扩散模型基础。内容涉及从底层数学公式到工程实践的全链路解析。
1. 注意力机制与架构组件
1.1 注意力计算公式与变体
多头注意力(MHA)、分组查询注意力(GQA)、多查询注意力(MQA)以及混合注意力(MLA)是常见的注意力结构变体。在超长文本处理中,RingAttention 和 Ulysses 等序列并行技术也被广泛应用。Flash Attention 通过利用 GPU SRAM 比 DRAM 更快的特性,融合多个算子,省去 softmax 前用于反向梯度求导的激活值,从而显著提升计算效率。
1.2 位置编码
常见的位置编码包括正弦位置编码、可学习位置编码以及旋转位置编码(RoPE)。这些编码通常应用在 QKV 的 Linear 层之后,QK 矩阵计算之前。RoPE 能够有效地支持长文本外推,结合 RoPE NTK 外推技术可以进一步提升模型对长上下文的处理能力。
1.3 归一化方法
LayerNorm 分为 PreNorm 和 PostNorm 两种形式。此外还有 GroupNorm 和 RMSNorm。RMSNorm 相比 LayerNorm 去除了均值计算,提升了运行效率。其计算公式如下:
$$ \text{RMSNorm}(x) = x \cdot \frac{1}{\sqrt{\frac{1}{d}\sum_{i=1}^{d}x_i^2 + \epsilon}} \cdot w $$
其中 rsqrt 是 "reciprocal square root" 的缩写,意为 "倒数平方根"。PyTorch 实现示例:
class RMSNorm(torch.nn.Module):
def __init__(self, dim: int, eps: float = 1e-6):
super().__init__()
self.eps = eps
self.weight = nn.Parameter(torch.ones(dim))
def _norm(self, x):
return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps)
def forward(self, x):
if rms_norm is not None and x.is_cuda:
return rms_norm(x, self.weight, .eps)
:
output = ._norm(x.()).type_as(x)
output * .weight


