1. 抢占(Preemption)
由于 Transformer 架构的自回归特性,有时 KV 缓存空间不足以处理所有批处理请求。vLLM 可以通过抢占请求来释放 KV 缓存空间,以供其他请求使用。被抢占的请求会在 KV 缓存空间再次充足时重新计算。当发生这种情况时,系统会打印以下警告:
WARNING 05-09 00:49:33 scheduler.py:1057 由于 KV 缓存空间不足,序列组 0 被 PreemptionMode.SWAP 模式抢占。这可能会影响端到端性能。请增加 gpu_memory_utilization 或 tensor_parallel_size 以提供更多的 KV 缓存内存。total_cumulative_preemption_cnt=1
虽然这种机制确保了系统的鲁棒性,但抢占和重新计算可能会对端到端延迟产生不利影响。如果您经常遇到 vLLM 引擎的抢占问题,可以考虑以下操作:
-
增加 gpu_memory_utilization
vLLM 通过使用gpu_memory_utilization%的内存预分配 GPU 缓存。通过增加此利用率,可以提供更多的 KV 缓存空间。 -
订阅专栏 解锁全文
—优化与调优&spm=1001.2101.3001.5002&articleId=146316076&d=1&t=3&u=64a6d0e096c346669d724b01986371aa)
813

被折叠的 条评论
为什么被折叠?



