EN

LLM Notes

LLM 与强化学习学习笔记 - Transformer、RLHF、PPO、DPO 等技术深度解析

Transformer 学习笔记(七):部署优化

2025-12-20 · Qi Lu · Views:

本文是 Transformer 系列的第七篇,全面解析大语言模型的 部署优化 技术,包括模型量化和推理加速。这些技术是将千亿参数模型高效部署到实际应用的关键。

1. 模型量化

模型量化是将神经网络中的浮点数表示转换为低精度表示的技术,是大语言模型高效部署的核心技术之一。

1.1 为什么需要量化

现代 LLM 的参数规模带来严峻的部署挑战:

不同精度的存储特性:

精度 位宽 相对内存 典型用途
FP32 32 1× 训练梯度累积
FP16/BF16 16 0.5× 标准训练与推理
FP8 8 0.25× 高效训练(Hopper+)
INT8 8 0.25× 量化推理
INT4 4 0.125× 激进量化推理

1.2 量化的数学定义

均匀量化(Uniform Quantization)是最常用的量化方式。给定浮点数 $x$,量化过程为:

\[Q(x) = \text{clamp}\left( \left\lfloor \frac{x}{s} \right\rceil + z, 0, 2^b - 1 \right)\]

其中 $s$ 是缩放因子(scale),$z$ 是零点(zero-point),$b$ 是目标位宽。

反量化恢复近似值:

\[\hat{x} = s \cdot (Q(x) - z)\]

对称量化 vs 非对称量化:

1.3 量化粒度

量化参数 $s, z$ 的计算粒度影响精度与开销的权衡:

Group Quantization 示例:设 group size 为 128,在 INT4 量化时有效位宽约为 $4 + 32/128 = 4.25$ 位。

1.4 训练后量化 (PTQ)

训练后量化在模型训练完成后进行,无需重新训练,是 LLM 量化的主流方法。

基本 PTQ 流程:

  1. 校准:使用少量代表性数据统计激活值分布
  2. 确定量化参数:根据统计信息计算 $s, z$
  3. 量化权重:将浮点权重转换为低精度表示
  4. (可选)校正:通过额外优化减少量化误差

校准策略:

1.5 LLM 量化的挑战:激活值离群值

LLM 的一个关键特性是激活值中存在 离群值(outliers):极少数通道包含数值远大于其他通道的激活值。这些离群值:

标准量化方法被迫扩大量化范围以覆盖离群值,导致正常值的量化精度严重下降。

1.6 SmoothQuant

SmoothQuant 是解决激活离群值问题的突破性方法,实现了 LLM 的 W8A8 量化。

核心思想:将量化难度从激活”迁移”到权重:

\[Y = (X \cdot \text{diag}(s)^{-1}) \cdot (\text{diag}(s) \cdot W) = \hat{X} \hat{W}\]

其中 $s$ 是迁移因子。$\hat{X}$ 的分布更均匀,更易量化;$\hat{W}$ 吸收了部分难度,但权重本身分布良好,影响有限。

迁移因子选择:

\[s_j = \frac{\max(|X_j|)^\alpha}{\max(|W_j|)^{1-\alpha}}\]

其中 $\alpha = 0.5$ 对大多数模型效果良好。

1.7 GPTQ

GPTQ 是基于二阶信息的权重量化方法,可将 LLM 压缩至 4 位精度。

问题形式化:逐层优化,最小化量化后的输出误差:

\[\arg\min_{\hat{W}} \| WX - \hat{W}X \|_2^2\]

性能:

1.8 AWQ

AWQ(Activation-aware Weight Quantization)基于一个关键观察:不同权重通道的重要性差异巨大。

核心观察:如果激活值 $X$ 的某些通道数值较大,则对应权重通道的量化误差影响更大。

方法:通过 per-channel 缩放放大重要通道,量化后再恢复。在 4 位量化下,AWQ 的困惑度通常优于 GPTQ。

1.9 GGUF 格式

GGUF 是 llama.cpp 项目定义的模型存储格式,广泛用于本地 LLM 部署。

格式 有效位宽 精度损失
Q8_0 8.5 bits 极小
Q5_K_M 5.5 bits 小
Q4_K_M 4.8 bits 中等
Q4_0 4.5 bits 较大
Q2_K 3.4 bits 大

“K” 表示使用 k-quant 方法,对重要层使用更高精度。

1.10 FP8 量化

FP8 是一种 8 位浮点格式,相比 INT8 保留了动态范围。

两种格式:

DeepSeek-V3 展示了 FP8 训练的工业应用:

1.11 KV Cache 量化

长上下文推理的内存瓶颈主要来自 KV Cache 而非模型权重。

KV Cache 大小:以 LLaMA-70B(80 层、64 头、128 维)为例:

KIVI 方法:

2. 推理优化

LLM 推理面临独特的挑战:模型参数量巨大、自回归生成逐 token 进行、KV Cache 随序列长度增长。

2.1 两阶段推理

Prefill 阶段:处理输入 prompt 的所有 token

Decode 阶段:逐个生成后续 token

特性 Prefill Decode
Token 数 N(输入长度) 1
计算模式 并行 串行
瓶颈 计算 内存带宽
GPU 利用率 高 低

2.2 Continuous Batching

传统静态批处理的问题:请求长度不一,短请求需等待长请求完成,填充浪费计算资源。

Continuous Batching 动态管理请求:

2.3 PagedAttention 与 vLLM

vLLM 引入 PagedAttention,借鉴操作系统虚拟内存的思想管理 KV Cache。

传统 KV Cache 的问题:

PagedAttention 原理:

vLLM 性能:

2.4 Prefix Caching 与 SGLang

许多应用场景存在共享前缀(System Prompt、Few-shot 示例等)。

RadixAttention:SGLang 使用基数树(Radix Tree)管理 KV Cache:

SGLang 特性:

2.5 投机解码

投机解码(Speculative Decoding)是加速自回归生成的重要技术,核心思想是”先用小模型快速猜测,再用大模型批量验收”。

工作流程:

  1. Draft 阶段:用小模型自回归生成 K 个候选 token
  2. Verify 阶段:将 K 个 token 并行输入大模型验证
  3. Accept/Reject:连续一致的 token 直接接受;分歧点由大模型给出正确 token

关键保证:即使 draft 全部猜错,也能从大模型获得至少 1 个正确 token。

采样场景下的验证机制:

设 Draft 模型在位置 $t$ 生成 token $x$ 的分布为 $q(x)$,Target 模型的分布为 $p(x)$。接受概率为:

\[a(x) = \min\left(1, \frac{p(x)}{q(x)}\right)\]

拒绝时从残差分布重采样:

\[p'(x) = \frac{\max(0, p(x) - q(x))}{\sum_{x'} \max(0, p(x') - q(x'))}\]

这保证了最终输出分布严格等于 $p(x)$(无偏性)。

EAGLE 系列:

方法 额外模型 训练需求 加速比
独立 Draft 是 无 2-3×
EAGLE-1 否 训练 Head 2.5-3×
EAGLE-2 否 训练 Head 3-4×
EAGLE-3 否 训练 Head 4-5×

EAGLE 的核心创新是利用 Target 模型的隐状态来指导 Draft 生成,显著提高猜测准确率。

2.6 KV Cache 压缩

KV Cache 量化:

KV Cache 稀疏化:

2.7 推理引擎对比

引擎 核心技术 Prefix Cache 投机解码 特点
vLLM PagedAttention 支持 支持 最广泛使用
SGLang RadixAttention 原生 EAGLE 等 结构化输出快
TensorRT-LLM 深度优化 支持 多种 NVIDIA 官方
llama.cpp CPU 优化 有限 支持 本地部署

3. 最佳实践

3.1 量化策略选择

场景 推荐方案
内存充足 FP16/BF16,无精度损失
一般部署 INT8 或 FP8,精度损失极小
边缘设备 INT4(GPTQ/AWQ),精度损失可接受
极限压缩 2-3 bit,需仔细评估任务影响

3.2 推理优化策略

延迟优先场景:

吞吐优先场景:

长上下文场景:

4. 总结

本文全面解析了大模型部署优化的两大核心技术:

领域 关键技术 效果
模型量化 GPTQ/AWQ(4-bit) 模型大小减少 4 倍
模型量化 SmoothQuant(W8A8) 推理速度提升 1.5 倍
KV Cache KIVI(2-bit) 显存减少 8 倍
批处理 PagedAttention 吞吐提升 24 倍
解码加速 EAGLE-3 加速 4-5 倍
Prefix Cache RadixAttention 吞吐提升 5-6 倍

这些技术使得千亿参数模型能够在有限硬件资源上高效运行,是大模型落地的关键基础设施。

下一篇也是本系列的最后一篇,我们将讨论 前沿应用,包括多模态和推理增强技术。

← Back to Home

Comments