LazyLLM旨在优化大型语言模型(LLM)在处理长文本语境下的推理效率。传统上,LLM的推理过程分为预填充和解码两个阶段,其中预填充阶段负责计算并存储输入提示的所有token的键值(KV)缓存,这一步骤在面对长提示时会显著增加首次生成token的时间消耗,成为效率瓶颈。LazyLLM通过动态剪枝策略解决了这一问题,它仅计算对下一个token预测至关重要的KV,并将剩余token的计算推迟到它们变得相关时。不同于一次性剪枝整个提示的静态方法,LazyLLM允许模型在不同生成步骤中灵活选取不同的上下文子集,即使这些子集在先前步骤中已被剪枝。LazyLLM能够大幅减少首次生成token的时间,同时几乎不牺牲性能。此外,该方法可以无缝集成到现有的基于Transformer的LLM中,无需任何微调,即可提升推理速度。
1 动态Token剪枝
推理过程分为两个阶段:预填充(Prefilling)和解码(Decoding)。预填充阶段需要计算所有提示(Prompt)token的键值(KV)缓存,这在长提示的情况下会显著增加“首次生成token时间”(Time-To-First-Token, TTFT),而成为性能瓶颈。动态token剪枝旨在选择性地计算那些对下一个token预测至关重要token的KV缓存。
-
方法: 采用渐进式token剪枝(Progressive Token Pruning),在预填充阶段而且在解码阶段动态选择重要token进行计算,允许模型在不同生成步