兄弟们,今天聊个硬核的LLM推理优化方向——动态KV缓存剪枝。最近DeepSeek团队放出一篇论文(Arxiv 2502.xxxxx),实操性很强,直接针对长文本推理的显存和延迟痛点。
传统KV缓存吃显存,尤其上下文到32K以上,OOM成家常便饭。他们搞了个基于注意力熵的动态剪枝策略:在解码阶段实时计算每层每个头的注意力分布熵,当熵值低于阈值(实验设为0.8)时,自动丢弃对应位置的KV缓存。效果很猛——在LLaMA-2-7B上,16K上下文时显存占用降了55%,吞吐从1200 tokens/s飙升到1700 tokens/s,精度损失不到1.3%。
关键细节:他们没一股脑全剪,而是分层设定阈值——浅层(1-12层)用0.6,深层(13-32层)用0.9。因为浅层负责语法模式,剪太狠会影响生成流畅性;深层负责语义匹配,容忍度更高。同时配合异步预取,把剪掉的缓存按概率重新加载,避免灾难性遗忘。
实测跑了个长文摘要任务,32K输入时P99延迟从4.2秒降到2.9秒。如果你在用vLLM或TensorRT-LLM部署长序列模型,可以试试把这个思路加进去,代码他们在HuggingFace上开源了。
别光收藏,跑一下看看效果。 |