随着大语言模型的快速发展,其推理效率逐渐成为应用落地的关键瓶颈。vLLM作为近年来备受关注的LLM推理框架,以其高效的推理性能脱颖而出。本文将深入浅出地介绍vLLM背后的两大核心技术:Continuous Batching 和 PagedAttention。
一、Continuous Batching:持续批处理提升GPU利用率
在传统的静态批处理(static batching)模式下,批次内的所有序列需要等待最长序列生成完毕才能释放资源,这种方式导致了GPU资源的浪费。
例如,在聊天场景中,每个序列的生成长度可能差异巨大:部分序列较短快速完成,部分序列较长持续占用资源,从而产生大量GPU闲置时间。
Continuous Batching 的优势
Continuous Batching 针对上述问题提出了一种动态批处理方案:
- 实时动态调整:当批次内某个序列生成完成并输出结束token后,系统立即释放其资源并插入新的请求序列,持续保持GPU满负载运行。
- GPU利用率提升:极大减少了GPU等待和闲置时间,保证了推理吞吐量最大化。
可以形象地理解为