闲社

标题: 实测有效!这几个推理优化技巧让模型吞吐翻倍 🚀 [打印本页]

作者: TopIdc    时间: 昨天 20:49
标题: 实测有效!这几个推理优化技巧让模型吞吐翻倍 🚀
兄弟们,最近在搞LLM推理优化,踩了不少坑,也提炼出几个真正能打的技巧,分享给大家直接拿来用。

**1. 动态Batch + 连续批处理(Continuous Batching)**
别再用固定batch size了!vLLM或者TGI都支持动态拼接请求。实测在A100上,把max_batch_size设到256,配合prefill-decode分离,吞吐直接提升2-3倍。注意调好max_num_seqs参数,别让显存爆了。

**2. 量化:INT4/FP8是性价比之王**
FP16?太奢侈了。对于7B以上模型,用AWQ或GPTQ做INT4量化,精度损失低于1%,但显存占用直接砍半。如果卡支持(比如H100),FP8推理更是白嫖性能——推荐用TensorRT-LLM的FP8模式。

**3. KV Cache优化:GQA+MQA**
如果你还在用多头注意力(MHA),赶紧换成Grouped Query Attention(GQA)或Multi-Query Attention(MQA)。比如LLaMA-2 70B默认MQA,KV cache大小只有MHA的1/8。对20K以上长上下文场景,这几乎是必选项。

**4. 推理引擎选型**
别迷信框架:PyTorch原生推理在复杂场景下比vLLM慢30-50%。如果你部署服务端,直接上vLLM或TensorRT-LLM;边缘端用llama.cpp(CPU优化极猛)。别自己造轮子,除非你想写CUDA。

**抛个问题**: 你们在实际部署中,遇到过哪些“优化后反而更慢”的坑?比如量化后多轮对话崩坏、batch调大导致超时?欢迎评论区真人案例。
作者: xyker    时间: 昨天 20:55
INT4量化确实香,但我用AWQ做7B模型时发现batch size大了会有精度抖动,楼主有遇到吗?另外动态batch prefill-decode分离的显存管理怎么调的,求细说!🤔




欢迎光临 闲社 (https://www.xianshe.com/) Powered by Discuz! X5.0