目前,基于 Transformer 结构的模型都采用了一系列 优化策略,以提升 性能、训练效率、推理速度,或扩展 适用场景。本篇文章整理了 Transformer 常见的优化方法(涵盖 训练 和 推理),后续会针对每个方案进行深入讲解。
1 注意力机制优化
Flash Attention
减少内存访问与计算复杂度,显著提升 训练和推理速度。
已被 Llama2、Qwen、PaLM2、Mistral、DeepSeek 等广泛采用。
部分闭源模型可能采用类似的自研优化方案。
Multi-Query Attention(MQA)
减少 Key/Value 头数,降低 内存占用 和 计算成本。
主要用于 PaLM、Falcon、BLOOM 等大规模模型。
Grouped-Query Attention(GQA)
MQA 的改进版本,通过 分组共享 Key/Value 矩阵,平衡 计算效率与性能。
Llama2、PaLM2、Gemini、Mistral、DeepSeek 等模型采用。
2 位置编码优化
RoPE(Rotary Position Embedding)
旋转矩阵相对位置编码,增强 长文本外推能力。
Llama、DeepSeek、Qwen、Mistral、Falcon、PaLM 等广泛采用。
支持 NTK-aware 插值、Dynamic NTK 等 上下文扩展技术。
ALiBi(Attention with Linear Biases)
线性偏置注意力机制,有助于 更长序列的处理。
BLOOM、Stable LM 等模型采用。
3 架构优化
并行计算优化
通过 解耦注意力层和前馈层的计算路径,实现:
减少层间计算依赖,提升 并行计算效率。
优化显存访问,降低显存占用。
提高 GPU 计算资源利用率(特别是 Tensor Core)。
支持 更大 Batch Size 训练。
典型实现:
PaLM 并行计算:同时计算 注意力层 + 前馈层,然后合并结果。
GPT-3 采用 张量并行/流水线并行,实现 超大规模模型训练。
该优化被 PaLM、GPT-3、T5、Megatron-LM 等采用。
激活函数优化
采用 SwiGLU 替代传统 FFN 激活函数,提升 模型性能。
PaLM、Llama2、Gemini、Qwen 等已采用。
稀疏专家模型(MoE)
采用多个 专家网络(Mixture-of-Experts),提升 参数扩展能力。
主要用于 Switch Transformer、GLaM 等超大规模模型。
4 上下文长度扩展
滑动窗口注意力(Sliding Window Attention)
局部注意力机制,降低 计算与内存成本,支持 超长文本。
Longformer、BigBird 等模型采用。
稀疏注意力(Sparse Attention)
仅关注关键 Token,减少计算量,提高 长文本处理能力。
Sparse Transformer、Reformer、Longformer 等采用。
5 内存优化
参数共享(Parameter Sharing)
跨层参数复用,降低 模型参数量,节省 显存。
ALBERT、T5 采用。
6 训练优化
混合精度训练(FP16/BF16/FP8)
FP16/BF16 是当前大模型训练的主流精度方案。
FP8 主要用于 推理(如 NVIDIA H100),但 DeepSeek-V3 已成功用于 FP8 训练,大幅降低成本。
最新研究甚至探索 FP4 训练。
梯度检查点(Gradient Checkpointing)
训练时 动态重计算,节省显存,略微增加计算时间。
广泛应用于大模型训练。
7 推理优化
KV Cache(键值缓存)
缓存历史 Token 的 Key/Value 矩阵,提升推理效率:
避免 重复计算历史 Token 的注意力结果。
推理计算复杂度 从 O(n^2) 降至 O(n)。
降低内存带宽需求,提高推理速度。
支持更长上下文处理。
内存管理策略:
o 预分配固定长度缓存。
o 动态扩展机制(如 vLLM 的 PagedAttention)。
该优化已广泛应用于 Llama、GPT、PaLM、Gemini、Qwen 等模型。
量化技术(Quantization)
INT8/INT4 量化,减少模型大小,降低显存占用,加快推理速度。
主要量化方法:
o GPTQ、AWQ 等
o 支持 per-tensor / per-channel 量化
Llama-2、ChatGLM、Qwen、Mistral、Yi 等模型采用。
其他推理加速技术
推测解码(Speculative Decoding)
连续批处理(Continuous Batching)
动态批处理,提高 GPU 利用率
8 硬件优化
GPU 专属优化
CUDA 核心优化
Tensor Core 计算优化
显存访问优化
计算算子融合
内存布局优化
9 优化方案的实际应用
不同模型会根据自身需求选择合适的优化方案,例如:
Llama2:采用 GQA + RoPE + Flash Attention。
PaLM2:采用 GQA + 并行计算优化。
Qwen:采用 Flash Attention + RoPE。
接下来,我会针对每种优化方案 深入解析其技术细节 及 在不同模型中的具体应用。