LLM性能优化技巧全解析
创作时间:
作者:
@小白创作中心
LLM性能优化技巧全解析
引用
CSDN
1.
https://blog.csdn.net/star_nwe/article/details/144786071
本文详细介绍了LLM性能优化的各种技巧,包括MHA结构优化、MHA工程优化、FFN部分优化、微调、训练相关和推理相关等。这些优化方法可以帮助开发者在保持模型性能的同时,降低计算和存储成本,提高模型的运行效率。
一、MHA结构优化(效果有损)
KV Cache的大小取决于模型大小(dim和layers)和序列长度。为了支持更大的模型或更长的序列,需要对kv进行压缩。以下是几种常见的MHA参数量压缩方法:
- MQA(Multi-Query Attention)
- 多组Q,共享K、V,将KV Cache减少到原来的1/h。
- 通常会相应增大FFN/GLU的规模以弥补效果损失。
- 使用MQA的模型包括PaLM、Gemini等。
- GQA(Grouped-Query Attention)
- 是MQA和MHA的折中方案。
- 使用GQA的有LLaMA 2、Code LLaMA等。
- MLA(Multi-head Latent Attention)
- DeepSeek-V2使用低秩投影压缩KV Cache的大小。
- 示例见下图右侧:
- SWA(sliding window attention)
- 每个位置只能往前看N个输入,本质上是一种sparse attention。
- 通过Rolling Buffer Cache实现内存控制。
- Mistral 7B使用SWA,具有4096的window_size。
- 线性 attention
- 处理长序列时具有线性时间复杂度。
- 方案:将softmax变成sim(q,k),使用核函数phi(q)和phi(k)。
- RWKV是线性attention的一个变种,类似RNN。
二、MHA工程优化(效果无损)
- KV cache
- 利用Decoder only特性,保留每次前向计算的KV用于后续计算。
online softmax
Flash attention
- 通过分块计算减少HBM访问次数,利用SRAM速度优势。
- 传统attention流程需要多次读写显存,Flash Attention通过分块计算减少显存访问。
- 依赖于GPU架构(A100以上)。
- Page attention
- 类似虚拟内存分页,每个block默认大小为16。
- 通过写时复制机制优化内存使用,可降低55%的内存使用量。
- vLLM使用PagedAttention实现高达24倍的Throughput提升。
- Ring attention
- 解决长序列内存限制问题,通过多卡协作实现超长context length。
- striped attention
- Ring Attention的扩展,解决工作负载不平衡问题。
三、FFN部分的优化
- MoE
- 近2/3的参数集中在FFN结构中。
- MLP压缩了大量知识,适合稀疏化处理。
四、微调
- 有多种微调方式,如Freeze-tuning、Adapter Tuning、Prefix-Tuning、P-Tuning、LoRA等。
- LoRA使用较多,如72B微调可选择量化4bit、lora_dim = 64。
五、训练相关
- 混合精度
- 使用FP16进行前向和反向传播,FP32进行权重更新。
- 可以显著提高训练速度,同时保留99%的训练精度。
- 并行、调度、训练框架
- 包括数据并行、模型并行、流水线并行、张量并行。
- 相关框架有Huggingface Transformer、deepspeed、megatron。
- Megatron LM
- 使用模型并行(层内切分)和pipeline并行(层间切分)。
- 优点是修改简单,但只适用于transformers。
- ZeRO
- 超线性加速技术,支持100B模型。
- 通过将optimizer state、梯度、参数等分片存储在不同GPU上,实现大规模模型训练。
- offload
- 将计算量高的部分(如参数W、activation)放在GPU,计算量低的部分(如update)放在CPU。
- ZeRO-Infinity进一步利用NVMe空间。
六、推理相关
- 量化
- 投机推理:通过更小模型提前预测后续token,提高decode并行度。
本文详细介绍了LLM性能优化的各种技巧,包括MHA结构优化、MHA工程优化、FFN部分优化、微调、训练相关和推理相关等。这些优化方法可以帮助开发者在保持模型性能的同时,降低计算和存储成本,提高模型的运行效率。
热门推荐
王者荣耀背后的技术解析
车驾管小贴士 | 什么是“三力测试”
脚部出汗是否需要使用抗真菌药物?
布洛芬缓释胶囊和阿莫西林胶囊同服攻略
在艺术教育专业中,如何运用项目式学习法来增强学生的实践能力?
腰椎间管狭窄的治疗方法
性能分析5部曲:瓶颈分析与问题定位,如何快速解决瓶颈?
半导体芯片全生命周期解析:制造、设计、测试与封装
日语零基础学员自学日语攻略:不报班也能到N1的保姆级计划表
银行个人账户定期定额投资:设置与管理全攻略
如何合理配置资金以实现稳健投资?这种投资方式存在哪些潜在风险?
花生的嘌呤含量高吗
带壳炒花生的热量高吗
王者荣耀蔡文姬团战攻略:技能使用与站位技巧详解
解机器码的行为性质及其法律责任探讨
如何理解理财产品的多样化选择?这种选择对投资者有何益处?
哭泣后眼睛红的原因是什么
光遇js制作指南:从开发工具到项目管理的全流程详解
大港油田二氧化碳驱油技术实现增油减排双赢
从“辣”到“椒”:辣椒的中国之旅与江苏创新
暗黑破坏神3死灵法师骨矛技能详解
平仓和交割有什么区别?这两种操作对投资者有何不同影响?
五一AI助游渐入佳境,“躺平”出行或将成真
错峰出游,这些地方让你惊艳不已!
十年如一日的睡前故事与体育共融
如何选择适合的机器学习或深度学习算法?
新能源汽车补贴退坡对市场的影响及未来发展
深度剖析垃圾焚烧热解气化炉的工作原理
肩峰撞击综合征的危害有哪些
如何选择适合家庭使用的烤箱