优化技术概览
LLM优化主要从三个方向提升效率:模型压缩、推理加速、架构优化。
量化
降低参数精度,减少显存占用
蒸馏
大模型知识迁移到小模型
剪枝
移除冗余参数,精简模型
推理加速
优化推理引擎,提升吞吐
量化技术
量化方法对比
| 方法 | 精度损失 | 显存节省 | 适用场景 |
|---|---|---|---|
| FP16 | 极小 | 50% | 通用训练/推理 |
| INT8 | 小 | 75% | 生产部署 |
| INT4/GPTQ | 中等 | 87.5% | 边缘设备 |
| AWQ | 小 | 87.5% | 高质量4bit |
使用AutoGPTQ量化
from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
# 量化配置
quantize_config = BaseQuantizeConfig(
bits=4, # 4bit量化
group_size=128, # 分组大小
desc_act=False # 激活顺序
)
# 加载并量化模型
model = AutoGPTQForCausalLM.from_quantized(
"model_path",
quantize_config=quantize_config
)
推理加速
关键技术
✅ 加速技术
- Flash Attention:优化注意力计算,减少显存访问
- PagedAttention:vLLM核心,高效KV缓存管理
- 连续批处理:动态合并请求,提升吞吐
- 投机解码:小模型预测,大模型验证
推理引擎对比
| 引擎 | 特点 | 适用场景 |
|---|---|---|
| vLLM | PagedAttention,高吞吐 | 批量服务 |
| TensorRT-LLM | NVIDIA优化,极致性能 | 生产部署 |
| llama.cpp | CPU友好,跨平台 | 本地推理 |
| MLC LLM | 多后端,移动端 | 边缘设备 |
知识蒸馏
将大模型(教师)的知识迁移到小模型(学生):
💡 蒸馏方法
- Logits蒸馏:学生模仿教师的输出分布
- 特征蒸馏:对齐中间层表示
- 注意力蒸馏:迁移注意力模式