兄弟们,搞大模型部署最头疼的是什么?显存!特别是用单卡A100跑70B模型,稍微一不留神就OOM。今天聊聊几个实用技巧,全是实战血泪经验。
**1. 量化是亲爹** 🎯
FP16占2字节,INT4直接砍到0.5字节。70B模型量化到4bit,显存从140GB降到35GB,单卡A100就能跑。推荐GPTQ或AWQ,质量损失小,推理速度快。
**2. 分离注意力计算** 🔥
PagedAttention(VLLM核心)把KV缓存分页管理,只加载需要的页,显存利用率翻倍。搭配FlashAttention的tiling算法,O(n^2)变O(n),长文本推理显存峰直降30%。
**3. 投机采样 + 异步调度** ⚡
用一个小模型先预测,大模型只验证结果,减少显存占用。配合TensorRT-LLM的流水线并行,把层分到多卡,显存自动打散。
**4. 别忽略模型裁剪** ✂️
用SparseGPT或Wanda剪掉冗余权重,70B剪到50B性能几乎不掉。配合DeepSpeed ZeRO-3的KV缓存优化,单卡跑Llama 3不是梦。
最后问大家一个问题:你们在实际部署中,是更倾向用量化牺牲点精度,还是用多卡并行保质量?欢迎分享踩坑经历。 |