RidgeFill:无需训练,预测大模型后段层以加速长上下文 Prefill
导语
长上下文模型的瓶颈,往往不在生成阶段,而在用户发送长提示词后等待首个 token 的 Prefill 阶段。RidgeFill 提出了一种无需重新训练模型的折中方案:只完整计算到指定的中间层,再预测更靠后的层将接收的输入,并据此填充它们的 KV cache。
核心方法
RidgeFill 的流程可以概括为:
- 模型较低层按照原始方式处理提示词,直到预设的分割层;
- 从分割层的隐藏状态出发,为每个后续层学习一个独立映射,预测该层输入;
- 这些映射使用一次校准文本的前向结果,通过闭式岭回归拟合,不涉及梯度训练或模型权重更新;
- 后部层自身的投影仍按原模型运行,只是输入来自预测结果;
- 一部分选定 token、提示词末尾的数千个 token,以及每个解码步骤,继续使用完整模型计算。
这一设计借鉴了 YOCO 和 DeepSeek-V4.1-Flash 等将投影机制训练进模型的思路,但 RidgeFill 试图把类似能力后置到已经发布的模型上。它的关键不是简单跳过层,而是尽可能构造后部层所需的缓存,因此没有直接删除提示词 token。
结果与限制
论文强调,平均所有 token 的损失并不能充分揭示误差。作者使用填充区域的 needle retrieval、依赖远距离上下文的 token loss,以及将预测的 key 或 value 替换为精确结果的 splice test 来定位误差来源。在 Llama-3.1-8B 上,key 尤其是 key 的尺度较敏感;在 Qwen3.5-9B 上,value 和循环状态的影响更明显。
在 llama.cpp 分支中,Qwen3.8-27B 于单张 A100、16K 至 120K token 输入上的首 token 时间达到基线的 1.25 至 1.31 倍,120K token 提示词约节省 28 秒。RULER 下降约 1.2 至 1.4 个百分点,LongBench v2 下降约 1.4 个百分点;报告的 95% 区间包含零,但不能排除数个百分点的损失。Qwen3.8-Flash-Next 在 vLLM、9K 至 32K token 范围内则达到 1.50 至 1.60 倍加速。
意义与影响
RidgeFill 的价值在于为已有模型提供了低门槛的 Prefill 加速路径:无需重新训练,也可通过校准和显存中的映射文件尝试部署。不过,映射对校准文本之外的提示词是否稳定,仍是实际使用必须验证的问题;速度提升也依赖模型、上下文长度、框架和保留完整计算的 token 策略。更稳妥的定位是可调节的近似推理方案,而不是无损替代品。
项目已提供 llama.cpp 分支、Qwen 27B 映射和配置说明,适合在具体硬件与真实工作负载上进一步测试。
评论
正在确认登录状态……
正在加载评论……