(1)大模型加速基础知识:
https://blog.eimoon.com/p/optimizing-llm-inference/
存在问题:
1.模型参数大
- 模型量化
2.上下文长,KV cache存储要求高
- **PagedAttention:**分片存储
- 相同前缀共享kv cache
- KV cache优化:MQA/GQA
- decode是逐个解码,频繁访问kv cache
- 推测解码
- 批处理长短不一
- 连续批处理
其他策略:
模型并行
(2)大模型训练
lora,Q lora
Q lora
由于 LoRA 微调时不需要更新原本的模型参数,可以对它们进行 8bit 甚至 4bit 量化存储,节省显存、加速训练。
https://zhuanlan.zhihu.com/p/649776098
(3)大模型量化
https://segmentfault.com/a/1190000047522881
LLM 的实际部署过程中,常见的量化方案包括:
- W4A16(GPTQ、AWQ) :权重量化为 INT4,激活保持 FP16/BF16。
- W8A16 : 权重量化为 INT8,激活保持 FP16/BF16。
- W8A8(SmoothQuant): 权重和激活均量化为 INT8。
- KV Cache INT8 :缓解长上下文显存开销。
GPTQ 量化的优点:
- 无须重新训练(仅需少量校准数据)。
- 量化精度接近全精度,4bit GPTQ 能维持 LLaMA、OPT 等模型接近 FP16 的性能。
- 速度快,实用性强,已成为主流 LLM 低比特推理方法。
GPTQ 量化的缺点:
- 量化过程涉及 Hessian 矩阵近似和逐元素优化,计算复杂度较高。
- 一般只量化权重,激活量化效果不佳(通常保持 FP16)。