一、vLLM 核心技术 PagedAtten
引用文章:https://zhuanlan.zhihu.com/p/691038809
1.LLM推理的两阶段:
1.1 Prefill 预填充阶段
主要包括计算用户的prompt的隐藏状态和生成KV Cache; 一次性将输入的Token 输入到模型中,充分利用了GPU的张量并行能力,同时计算这些Token之间的关系(Attention),并生成了对应的K V,并缓存到显存中,以便在Decoder阶段中进行直接调用。**相关发散
- Prefill 的技术特点
- 瓶颈:主要受限于 GPU 的 TFLOPS(每秒浮点运算次数)。
- Prefill 阶段面临的挑战
- 优化技术(vLLM 等推理框架常用)
- Chunked Prefill(分块预填充):
- 如果 Prompt 太长(例如 32k Token),一次性处理会撑爆显存。框架会将其拆成多个小块(如每块 512),分批进行 Prefill。
- PagedAttention:
- vLLM 的看家本领。它像操作系统管理虚拟内存一样管理 KV Cache,避免因为 Prefill 阶段预留过大连续显存空间而导致的浪费。
- FlashAttention:
- 通过优化 GPU 上 SRAM 和 HBM 之间的数据交换,大幅提升 Prefill 阶段处理长文本的速度。
- Prefill = 理解输入 + 并行计算 + 生成 KV Cache。
- Decode = 预测输出 + 串行计算 + 读取/更新 KV Cache。