引言
大语言模型(LLM)的推理部署是AI工程中最具挑战性的环节之一。以Llama-2-70BF为例,单次FP16推理需140GB显存,即使INT4量化也需35GB。如何在有限硬件上实现低延迟、高吞吐的推理服务?vLLM、SGLang、TensorRT-LLM等框架给出了各自的答案。
一、显存瓶颈与KV Cache
Transformer推理的核心瓶颈在于KV Cache的内存占用。对于序列长度为s、层数为L、隐藏维度为h的模型,KV Cache的内存为2×s×L×h字节。当并发请求达到100、序列长度2048时,KV Cache将占据绝大部分GPU显存。
二、PagedAttention革命
vLLM提出的PagedAttention技术借鉴了OS虚拟内存的页式管理思想。将KV Cache切分为固定大小的block(通常16个token),按需分配而非预分配连续空间。就像操作系统用页表管理物理内存一样,vLLM用block table管理KV Cache碎片,实现了:(1)动态序列长度支持,(2)近零内存浪费,(3)写时复制的共享机制。实测可将内存利用率提升至接近100%,同卡并发提升2-4倍。
三、连续批处理(Continuous Batching)
传统静态批处理要求一个batch内所有请求同时开始和结束,长尾请求严重拖累整批。Dynamic Batching虽能动态组批但仍存在队头阻塞。Continuous Batching在每次decoding step后动态插入新请求、移出已完成请求,使GPU持续满载。配合Chunked Prefill预填充分块技术,可实现prefill与decode并行。
四、量化与硬件适配
AWQ(Activation-aware Weight Quantization)和GPTQ(GPT Quantization)提供4-bit非对称量化,在2%精度损失内实现4倍模型压缩。FP8(E4M3/E5M2)在Ada/Hopper架构上有原生支持。混合精度(W4A16、W8A8)是当前生产部署的最佳甜点。
五、Serving架构演进
Production级别的推理服务需平衡吞吐与延迟:Prefill-Decode分离部署将计算密集型Prefill与IO-intensive Decode分配到不同GPU;Multi-LoRA Adapter支持单基座多定制模型复用;Speculative Decoding用小模型草稿+大模型验证的速度提升3倍。SGLang的RadixAttention通过前缀缓存消除多轮对话重复计算。
六、总结
LLM推理优化仍在快速演进中。从PagedAttention到Continuous Batching,从Prefix Caching到Disaggregated Serving,每一次创新都在缩小理论算力与实际吞吐的差距。理解这些底层机制是构建高效AI基础设施的关键。

发表评论 取消回复