大模型技术详解:架构、分布式训练与参数高效微调
1. 大语言模型的细节
1.0 Transformer 与 LLM
Transformer 架构是大语言模型(LLM)的基石。它摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN),完全基于注意力机制(Attention Mechanism)。这种架构使得模型能够并行处理序列数据,并有效捕捉长距离依赖关系。
1.1 模型结构
典型的 Transformer 模型由 Encoder 和 Decoder 组成,但在现代 LLM 中,通常采用 Decoder-only 架构。每一层包含多头自注意力机制和前馈神经网络(FFN),并通过残差连接(Residual Connection)和层归一化来稳定训练过程。
class TransformerBlock(nn.Module):
def __init__(self, dim, n_heads):
super().__init__()
self.attn = MultiHeadAttention(dim, n_heads)
self.ffn = FeedForward(dim)
self.norm1 = LayerNorm(dim)
self.norm2 = LayerNorm(dim)
def forward(self, x):
x = self.norm1(x + self.attn(x))
x = self.norm2(x + self.ffn(x))
return x
1.2 训练目标
大模型主要采用自回归(Autoregressive)方式训练,即预测下一个 token。损失函数通常为交叉熵损失(Cross-Entropy Loss),旨在最大化给定上下文的下一个词出现的概率。
1.3 Tokenizer
分词器负责将文本转换为模型可理解的 token ID。常见的策略包括 Byte Pair Encoding (BPE) 和 WordPiece。例如,GPT 系列使用 BPE,而 BERT 使用 WordPiece。选择合适的 tokenizer 对模型性能至关重要。
1.4 位置编码
由于 Transformer 缺乏递归结构,需要显式的位置信息。早期使用正弦余弦位置编码(Sinusoidal Positional Encoding),而现代模型如 LLaMA 则采用旋转位置编码(RoPE),在保持相对位置感知的同时支持更长的上下文窗口。
1.5 层归一化
Layer Normalization 是标准配置,但为了提升训练稳定性,部分模型引入了 RMSNorm(Root Mean Square Layer Normalization),去除了均值计算,减少了计算开销。
1.6 激活函数
ReLU 曾是主流,但 SwiGLU 等变体在现代 LLM 中表现更佳。SwiGLU 结合了 Sigmoid 门控和线性变换,提升了模型的表达能力。
1.7 Multi-query Attention 与 Grouped-query Attention
标准 Multi-Head Attention (MHA) 计算量大。Multi-Query Attention (MQA) 共享 KV 头以减少内存占用;Grouped-Query Attention (GQA) 则在 MHA 和 MQA 之间取得平衡,兼顾推理速度与效果。


